Java Web Framework

ESciDoc

Introduction
Criteria to choose a Java Web Framework

Method
The criteria are sorted by order of relevance in 3 categories:
 * A -> Must
 * B -> Should
 * C -> Nice to

Cat. A - Must
<* Back button
 * Opensource
 * Performance
 * Bookmarking
 * Internationalization
 * Create own GUI components

Cat. B - Should

 * Dynamic forms possible
 * Knowledge base (in house)
 * Resource oriented (REST)
 * Maturity
 * GUI components library
 * MVC
 * User agent (supply for multiple type), Pages -> pure HTML
 * Standard tools for template editing (XHTML)
 * Nice URLs (technology independant)(might be categorize in C)
 * Sufficient palette of standard GUI component
 * Big community/support/Documentation
 * Easy to learn/adopt
 * Easy to reuse, to customize and maintain

Cat. C - Nice to

 * Eclipse plug-in
 * Nice URLs (technic independant)(might be categorize in B)

Further criteria
These criteria will be relevant in a second step, after the preceding criteria have been taken into account.
 * Cost to switch
 * Right tool for the job
 * Scalability
 * Fast to deliver

List of Framework
This list is not exhaustive, but it lists the Framework that the dev-team members have already used.
 * JSF
 * Cocoon (currently used for Faces project)
 * Struts
 * Spring
 * Servlets + JSP
 * Tapestry

Java Script Framework
Evaluation matrix available at Java Script Frameworks.

Prototypes
Easy submission like functionality will be implemented to understand the possibilities of exact Java Web FW


 * create new item
 * edit existing item
 * submit existing item
 * display list of items
 * metadata: genre (context specific), title, alternative title, file upload (multiple?),creators(persons, organizations, multiple), date published, abstract)
 * default user and default test context will be used.


 * Michael -> Tapestry: https://zim01.gwdg.de/repos/smc/trunk/02_Related_Material/01_Research/tapestry4pubman/
 * Vlad -> Cocoon (Note: Vlad will do the implementation in Cocoon for Items of type citation style -> thus heading for the first prototype of CitationStyle library).
 * Wilhelm -> JSF(MyFaces)


 * Thomas -> Check the same for Browsing functionality


 * Results should be in by: end of November
 * Update: according information gathered all FW has their own cons/pros. Due to PubMan schedule and rework of building environment dev team decided not to make dramatical changes for current pubMan presentation implementation. Trinidad component library has been selected and adopted in PubMan for Lists, Browse tree, Upload components.
 * see also PubMan_Architectural_Changes