DZone: How does Riftsaw fit into the ecosystem of technologies among JBoss projects, Apache projects, and others?
Gary Brown and Kurt Stam: JBoss has traditionally been known for its Application Server, Hibernate and more recently its ESB, which forms the basis of its SOA Platform. The main purpose of the Enterprise Service Bus (ESB) is to facilitate connectivity between application components, or services, which may potentially use different message formats and technologies. ESBs offer transport mediation, message transformation, routing and orchestration to provide interoperability between different service technologies.
jboss.org Application Server = Enterprise Application Platform
jboss.org ESB = Enterprise SOA Platform
Although there are no real standard definitions for ESB, it is also widely understood that an ESB should also provide a standard's based orchestration capability, based on the WS-BPEL process language. Although the jBPM project provides a process orchestration capability, that has been successfully used for this purpose within many deployments of the ESB, jBPMs focus has been on JPDL and POJO orchestration and not WS-BPEL, Web Services and XML.
Therefore it was decided that the JBoss ESB needed to have a WS-BPEL based orchestration solution. This led to the decision to integrate the widely used Apache ODE BPEL engine into the SOA Platform. So RiftSaw was born. Just to be clear, RiftSaw is the project for integrating Apache ODE into the JBoss platforms - it is not another open source BPEL engine.
In terms of the wider Apache ecosystem of technologies, JBoss is also actively involved in the Apache CXF, jUDDI and Tomcat projects.
DZone: What does Riftsaw bring to the table that is new and unique?
Gary and Kurt: Apache ODE is a great open source implementation of a WS-BPEL engine. However, from the perspective of running it within a production environment that is based on JBoss Enterprise Application Platform and SOA Platform, it is lacking in some areas. This is what the RiftSaw project has been established to address.
The first area is quite simply the ability to install Apache ODE within a JBoss platform. Before the RiftSaw project started, it was necessary to modify the JBoss and Apache ODE environments to get them to work together smoothly.
Another area is the close integration with the JBoss ESB project, enabling BPEL processes to be hot deployed as part of an ESB configuration.
The Apache ODE project currently offers two transport options, Axis2 for web services and JBI. The RiftSaw project has replaced the Axis2 integration with JAX-WS support. This has resulted in a JAX-WS compliant transport layer, with the option to use Apache CXF as the messaging layer. We will be investigating how best to contribute this additional transport layer back to the Apache ODE project.
The other areas are related to future directions within the RiftSaw project. We have replaced the basic console that comes with ODE, with a GWT based console. In the current release, it does not offer any more functionality, but provides us now with a strong base upon which to build future BAM capabilities.
Another area is clustering and failover support. Although not currently supported, RiftSaw will be focusing on these areas going forward.
We have already contributed Maven build support which will open up the Apache ODE community to a wider audience of potential contributors.
DZone: What are the various ways in which Riftsaw can be deployed?
Gary and Kurt: The focus for starting the RiftSaw project was to provide standards based orchestration support as an integral part of the JBoss ESB, to deploy the engine and new process definitions within a JBoss container – to optimize Apache ODE for JBoss end-users.
So although there is tight integration with the ESB, to enable ESB services to directly interact with BPEL processes without necessarily using SOAP, RiftSaw can also run standalone within a JBoss container.
DZone: What technologies are similar to Riftsaw?
Gary and Kurt: A better question would be what other technologies are similar to Apache ODE.
For open source WS-BPEL 2.0 support there is Apache ODE, OW2 Orchestra as well as a Sun sponsored project that supports OpenESB and Glassfish. Plus there are numerous commercial vendors offering WS-BPEL capabilities in their products.
BPM console - Instance Data
DZone: What stage is the project currently in? What are the goals that the project is working toward? Have many people have used Riftsaw so far?
Gary and Kurt: The project is close to releasing its first stable version (2.0-Final) [Final is available at the time of this posting]. This version provides a good basis from which to develop a SOA using JBoss technologies with integral support for BPEL orchestration.
Once this release is out, our main focus is on providing additional deployment capabilities and improving the functionality available from the console.
In terms of how many people have used RiftSaw, being an open source project it is always difficult to gauge how many people are using your project. However returning to the aim of the project, we are providing the integration of ODE into the JBoss environment, and therefore anyone that already uses ODE on a different Application Server now has a simple migration route to using their BPEL processes on a JBoss platform.
DZone: The BPMS movement has been led by JBoss and Intalio in the last few years. How does Riftsaw fit in to this movement?
Gary and Kurt: Although JBoss has had a presence in the BPMS arena, through the jBPM project, we would acknowledge the significant contribution that Intalio has made to the standards based open source BPMS area, with the Apache ODE project and other related projects such as the Eclipse BPMN modeller, and continuing work in BPMN2.
We, in the RiftSaw team, are very keen to actively contribute to these projects, and have a number of team members working on various areas that will hopefully be accepted by the ODE project in the future. We have also recently had a team member accepted as a contributor on the ODE project, so congratulations to Jeff Yu.
Jeff's initial contributions to the ODE project as a committer have included setting up a maven build structure, as an alternative to the current buildr approach, as well as working on making the persistence layer purely JPA compliant, enabling any JPA provider to be used (whether OpenJPA, Hibernate or another implementation).
Riftsaw 2.0 now supports the following features:
- WS-BPEL 2.0 OASIS standard and the legacy BPEL4WS 1.1 vendor specification.
- JBossWS Native and CXF Web Service stack support.
- UDDI registration of BPEL endpoints, and UDDI Endpoint lookup as preview
- Enterprise quality GWT based BPM console to manage process definitions and instances.
- High level API to the engine that allows you to integrate the core with virtually any communication layer.
- JBoss deployment architecture, enabling hot deployment.
- Compiled approach to BPEL that provides detailed analysis and validation at the command line or at deployment.
- Short-lived and long-running process executions.
- Process persistence & recovery.
- Process versioning.
- Ant-based deployment.
- Integrated with the JBoss ESB.
- Eclipse-based BPEL designer and deployment, supported through JBoss Tools.
- Runs in JBoss Cluster.
- A good set of examples to help you get started quickly, including Sun's BPEL Blueprint examples.