Product & Development
WebEngine is a lightweight, versatile, content-centric, open source web framework to quickly build and deliver next generation content-oriented web applications.
WebEngine relies on the Nuxeo content infrastructure (OSGi runtime, component architecture, document repository, ECM services, etc.) to provide a component-based programing model and a web development model for building componentized content-centric applications (such as wikis, blogs, content-oriented websites, etc.).
WebEngine relies heavily on the REST paradigm: URLs are mapped to the hierarchical content repository, content is accessed using GETs, user actions are GETs and POSTs, etc. Hence it’s very easy and straightforward to write RESTful apps using WebEngine.
WebEngine is fully extensible and componentized, thanks to OSGi (all components are OSGi bundles) and Nuxeo Runtime’s extension points.
The Nuxeo application extensively uses JSF facelets and Seam for its
- Seam provides a great bridge between Nuxeo services and JSF rendering, using contextual components;
- The themes and layouts modules rely on facelets to build rendering based on contributions to extension points;
- The url module relies on JSF phase listener and navigation handler pluggable behaviours to provide bookmarkable urls to documents.
Even though last versions of Seam offer a very clean integration with Richfaces/ajax4jsf JSF libraries, the Google Web Toolkit (http://code.google.com/webtoolkit/) looks like a good alternative when dealing with the more complex screens.
For instance, rendering a table of documents with pagination, sorting and
selection support is not straight-forward with JSF facelets.
While JSF goal to separate logic and rendering can be seen as too restrictive for a framework like Nuxeo EP, GWT makes it possible to keep this separation and not lose any expressivity because a …