Skip to content

Embedded webapp access to EasySOA from Eclipse

fenrhil edited this page Jul 10, 2012 · 13 revisions

This page gathers information needed to create an webapp designed to be embedded in an Eclipse browser and enabling access to EasySOA features.

Why?

This technique is considered in the EasySOA project in two separate cases (Service connector settings retrieval and Talend Open Studio integration). In both cases, it has the same purpose: act as a middleware between the EasySOA model and applications based on some parts of this model. This kind of "uncoupling layer" is needed because the EasySOA model is frequently subject to changes (at the moment we write these lines, i.e. 2012/07/05).

What?

Ultimately, the webapp shall enable:

  • Automatic authentication to Nuxeo
  • Listing of the services available to the authenticated user
  • Multiple-criteria search among the available services
  • Selection of a set of services to be extracted from the browser to be processed in Eclipse.

Technical issue #1: Embed a web UI in Eclipse

It seems the e4 project has carried out an in-depth study of this issue.

Technical issue #2: technology of the webapp accessing EasySOA

Nuxeo offers several solutions to access its content through a web UI.

WebEngine

The Nuxeo Webengine is (according to Nuxeo) "a simple yet powerful rendering engine based on Freemarker and JAX-RS". It is a Nuxeo technology, so we can expect full compatibility with the Nuxeo platform. On the downside, it targets front-office applications, thus it does not provide any pre-defined look-and-feel. In particular, the Nuxeo theming system is not available out-of-the-box.

JSF/Seam

For a full integration to Nuxeo, our custom pages should use the same framework as Nuxeo itself: JSF and Seam. Using this technology, we can benefit from pre-existing features such as navigation through the documents tree, a system of document selection that is persistent throughout the session, a themed UI, ...

Detailed documentation

There is entrypoints in the Nuxeo documentation about registering:

  • a new JSF view, which is a full, dynamic XHTML page (*.xhtml extension), or a static non-XHTML document (any other extension).
  • a new Nuxeo ContentView, which is only some part of the page, the one describing the currently displayed document.
  • new Nuxeo Layouts and Widgets, which are parts of a ContentView.
  • a new Nuxeo Action, which results in a link or a button on the interface, performing either a call to a bean (when attribute "link" is like "#{bean.method()}" or a redirection to some other page (when attribute "link" matches the "from-outcome" part of a "navigation-case", i.e. a JSF view).
Clone this wiki locally