Eclipse Riena: Business-Oriented Client/Server Applications
Elias Volanakis has posted a screenshot of this preliminary UI work on his blog.
Typical RCP applications are based on the workbench metaphor used heavily in the Eclipse IDE. The workbench metaphor is very flexible and generic, which supports the developers in the development stage. However, enterprise applications very often need a different business process oriented UI metaphor in order to support end users more effectively.
Riena will provide a UI metaphor that supporting the interaction of typical business process oriented applications. The navigation and visualization should help the user to focus on the current process and task, but also allow him to work simultaneously on a different process
Riena´s approach will be based as much as possible on already existing RCP constructs (e.g. Layout Managers, views, Extension Points) and use existing Eclipse technologies (e.g. SWT, JFaces, Data-Binding).
User interface changes are only one aspect of Riena, however. The proposal document describes the overall scope:
The Riena platform will be the foundation for building multi-tier enterprise client/server applications. As such Riena will broaden the usage of the service oriented architecture of OSGi/Equinox by providing access to local and remote services in a transparent way. Using this uniform programming model, the components of Riena and the business components of the enterprise application can be developed regardless of their target location. Components are later easily placed on client or server depending on the business requirements.Here is a breakdown of the individual Riena scope plan-items:
- Support for distributed Enterprise Applications - Riena will support OSGi services running on a remote server:
The Eclipse OSGi framework (Equinox) can run not only in a standalone client but also on the server side. Developing integrated rich enterprise applications in a homogeneous and consistent way not only requires components to be run either on the client or server side, it also requires a robust and flexible communication support between the application tiers. All of this is based on the standard Equinox Platform, so that the application developers don’t have to worry about the technical issues.
- Support for business process oriented User Interfaces - This is the work to provide a more business-user-oriented UI that has started in Milestone 3.
- Software Update/Provisioning - Because of the nature of client/server applications, software updates are often not governed by the end-user, but are instead initiated by the backend server. Riena will utilize Eclipse Provisioning and will also utilize the work being done in Eclipse Maya for automating deployments.
- Authentication and Authorization - Plans include integrating with the Equinox Security effort, as well as Eclipse Higgins for single sign-on.
- Reporting - Riena will provide a framework where the various work for generating reports (data collation, sorting, filtering, and output rendering) can be shifted between the client and server as the particular application merits. Eventually Riena will integrate with BIRT to provide more comprehensive reporting.
- Persistence and Object Transactions - To support client/server architectures, Riena will introduce mechanisms to keep object state synchronized between the two environments; predominately by supporting object-level transactions.
Riena has no intention of reinventing existing persistence functionality as it exists in EclipseLink, Hibernate or other frameworks. Riena will add the missing bits and it will combine the persistence component with the object transaction component to optimize the exchange of large business objects between client and server.
- External Application Integration - Client/Server applications typically need to integrate with other applications such as PDF viewers, mail applications, web browsers, etc.
- Monitoring of client state - All log entries for the client deployments will be routed back to the server, and Riena will use this to provide alarm functionality and to correlate server events to client errors.
It is currently planned that the 1.0 release of Riena will be available in the fourth quarter of 2008.