Technology/Attribute (Weight) |
JSF (Score) |
Webservices (Score) |
Result JSF |
Result WS |
| |
JSF RI + Facelets + any component library |
Apache CXF (formerly XFire) + ExtJS |
|
|
License   |
CDDL, LGPL  |
Apache 2.0, LGPL  |
6 |
6 |
Standards  |
JSR-127, JSR-252, upcoming JSR-299  |
JSR-181, JSR-224, JSR-311 |
4 |
2 |
Server-side requirements  |
Java 5 (w/o Facelets: JSP 2.1, Servlet 2.5; with Facelets: JSP 2.0, Servlet 2.4) |
Java 5 |
2 |
2 |
De-coupling  |
GUI & Magnolia in same webapp |
Separated Magnolia Server and GUI webapps  |
-2 |
4 |
Testing Capabilities   |
managed beans are well testable, client-side part not |
services themselves well testable, client-side part not |
3 |
-3 |
Integration with other systems  |
can easily be deployed together with other JSP/JSF applications
but requires deployment in same web application  |
Webservices fully interoperable, can be completely decoupled web application  |
-4 |
2 |
Alternative GUIs (Flex, Eclipse, XUI)  |
always tied to thin-client |
always rich-client or thick client  |
-2 |
4 |
Re-usable/base for other projects
(e.g. customer projects) |
JSF based AJAX capabilities can support template development in projects |
yes, for service integration and AJAX |
1 |
-1 |
Time to integrate   |
medium (setup similar to JSP) |
high (complete webservice stack)  |
-3 |
-6 |
Component development   |
hard (requires implementing a bunch of files) |
easy (sub-classing existing ones from ExtJS is sufficient) |
-3 |
3 |
Developer experience  |
yes (use of custom taglibs is easy and sufficient) |
extensive JavaScript knowledge available |
2 |
2 |
Learning curve  |
medium (JSP taglibs, JavaBeans) |
high (many different technologies: WS*, JavaScript, JSON) |
-2 |
-2 |
Documentation   |
very good, many resources (specifications, books, articles), RichFaces: medium  |
CXF: low, JavaScript libraries: low |
6 |
3 |
Tool Support   |
medium to good |
WS: medium, JavaScript: medium |
-3 |
-3 |
Support agreements available  |
only for some component libraries (e.g. ICEFaces) |
WS: no, JavaScript: yes (e.g. ExtJS) |
-2 |
2 |
Community   |
medium (but not biased, Richfaces probably biggest) |
huge, CXF very active, ExtJS very active  |
3 |
6 |
Maturity  |
JSF spec & RI: start 2001, JSF 1.1 2004, JSF 1.2 2006; RichFaces:  |
WS spec: start 2003, 2006/2007; CXF: 2005 (started as XFire; Apache since 2007) |
4 |
4 |
| Result |
|
|
10 |
25 |