Server-side Technologies: Decision Table
Weight
: one star is less important (minimum), three stars is most important (maximum)
Score
/
: double
is worst, double
is best
| 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 |
