Archive for March 31st, 2008

Tournament round 2

March 31, 2008

brackets

Click
 ORM integration out of the box with Cayenne (JPA)
 Velocity as primary view technology
 Limited out of the box Ajax support
RIFE
 uses HTML templating
 
View           
C: 9  R: 9

AJAX support
C: 2   R: 5

Documentation
C: 8   R: 10

Backward compatibility
C: 3   R: 3

Support
C: 7  R: 11

Database integration
C: 7   R: 5

Integration
C: 6   R: 6

Internationalization
C: 3   R: 3

How complex is it
C: 11   R: 7

Abstraction
C: 3   R: 3

Separation of concerns
C: 7   R: 5

file upload
C: 4   R: 4

plug in SSO
C: 1   R: 1

final:
  Click 71  RIFE 72
     

AJAX support
ROR: 5   Ph: 2

Documentation
ROR: 13  Ph: 5

Backward compatibility
ROR: 3   Ph: 3

Support
ROR: 13  Ph: 5

Database integration
ROR: 8   Ph: 4

Integration
ROR: 5   Ph: 7

Internationalization
ROR: 3   Ph: 3

How complex is it
ROR: 9   Ph: 9

Abstraction
ROR: 4   Ph: 2

Separation of concerns
ROR: 7   Ph: 5

file upload
ROR: 4   Ph: 1

plug in SSO
ROR: 4   Ph: 1

final:
  JROR 86  Phobos 57

Spring MVC is a part of the Spring Framework. Ajax support is possible, but not baked in.

Trails uses Tapestry templates for the view, as it is based on the Tapestry project. Similar to Parancoe in the 1st round, Trails is a full stack
 framework based on another popular framework. Spring MVC would be compared like it was against Parancoe, is it better to use an existing full stack, or to use
 Spring MVC with additions to complete the stack, especially with regards to db access and integration with business logic. Spring MVC of course, is a part of
 Spring, so that integration would actually be compared in large part to that of Tapestry and how well that is implemented within Trails.
 Trails also integrates with Spring, Acegi and JPA.
View           
S: 10  T: 8

AJAX support
S: 4   T: 3

Documentation
S: 14  T: 4

Backward compatibility
S: 3   T: 3

Support
S: 13  T: 5

Database integration
S: 6   T: 6

Integration
S: 6   T: 6

Internationalization
S: 3   T: 3

How complex is it
S: 9   T: 9

Abstraction
S: 3   T: 3

Separation of concerns
S: 5   T: 7

file upload
S: 4   T: 1

plug in SSO
S: 4   T: 4

final:
  Spring 84  Trails 62

VRaptor looks like a combo of Seam, Spring, JPA.
Struts2 and VRaptor have similar flexibility in view. Struts 2 has good Spring integration, as well as VRaptor.
View           
V: 9  S: 9

AJAX support
V: 3   S: 4

Documentation
V: 8  S: 10

Backward compatibility
V: 3   S: 3

Support
V: 6  S: 12

Database integration
V: 6   S: 6

Integration
V: 6   S: 6

Internationalization
V: 3   S: 3

How complex is it
V: 10   S: 8

Abstraction
V: 4   S: 2

Separation of concerns
V: 5   S: 7

file upload
V: 4   S: 4

plug in SSO
V: 1   S: 4

final:
  VRaptor 68  Struts2 78

Shale uses JSF as its view technology. Shale’s dependency on JSF increased its complexity level. Use of JSPs as the ‘default’ view was also a disadvantage.
Grails was judged to be simpler to develop in, and its template view technology was compared to using JSF/JSP.

<pre>
View           
G: 11  S: 7

AJAX support
G: 5   S: 2

Documentation
G: 9  S: 9

Backward compatibility
G: 3   S: 3

Support
G: 10  S: 8

Database integration
G: 6   S: 6

Integration
G: 7   S: 5

Internationalization
G: 3   S: 3

How complex is it
G: 12  S: 6

Abstraction
G: 3   S: 3

Separation of concerns
G: 6   S: 6

file upload
G: 4   S: 4

plug in SSO
G: 4   S: 4

final:
  Grails 83  Shale 66
JSF
Mentawai
View           
JSF: 8  M: 10

AJAX support
JSF: 4   M: 3

Documentation
JSF: 12  M: 6

Backward compatibility
JSF: 2   M: 4

Support
JSF: 12  M: 6

Database integration
JSF: 6   M: 6

Integration
JSF: 6   M: 6

Internationalization
JSF: 3   M: 3

How complex is it
JSF: 6   M: 12

Abstraction
JSF: 3   M: 3

Separation of concerns
JSF: 6  M: 6

file upload
JSF: 4   M: 4

plug in SSO
JSF: 4   M: 1

final:
  JSF 76  Mentawai 70

Helma is server side Javascript, so it requires JS knowledge. It appears to be fairly well supported. Good support for layout.
Tapestry, as one would expect, has an advantage in published documentation and support.
View           
H: 8  T: 10

AJAX support
H: 2   T: 5

Documentation
H: 6  T: 12

Backward compatibility
H: 3   T: 3

Support
H: 6  T: 12

Database integration
H: 6   T: 6

Integration
H: 5  T: 7

Internationalization
H: 3   T: 3

How complex is it
H: 11   T: 7

Abstraction
H: 3   T: 3

Separation of concerns
H: 6   T: 6

file upload
H: 4   T: 4

plug in SSO
H: 4   T: 4

final:
  Helma 67  Tapestry 82

 Cocoon is designed around having flexible views from transforming XML. On the other hand, that adds to its complexity and limits more dynamic support.
 

* View           
C: 7  W: 11

AJAX support
C: 2   W: 5

Documentation
C: 11 W: 7

Backward compatibility
C: 3   W: 3

* Support
C: 8  W: 10

Database integration
C: 5  W: 7

Integration
C: 5   W: 7

Internationalization
C: 3  W: 3

* How complex is it
C: 7  W: 11

Abstraction
C: 3   W: 3

Separation of concerns
C: 5   W: 7

file upload
C: 4   W: 4

plug in SSO
C: 1   W: 4

final:
  Cocoon 64  Wicket 82

Java Web framework competition

March 31, 2008

Having a panelist of advocates debating is better than a tournament?

http://www.infoworld.com/article/08/03/28/java-webframeworks-debated_1.html