- BPM Integration with OSGI: JAX-RS and JPA
- JPA OSGi Bundle Delivers (Java) Business Domain Objects
- (this article) JSON Formatted Business Information through DOSGi (JAX-RS ReST Services)
- BPM Service and Web-client Consumers for JSON over ReST
This article’s focus is BPM integration with ReST services – specifically OSGi and JAX-RS. Though much of these integration details reasonably cross-over into SOAP protocols, I mainly wanted to focus on the benefits of ReST for both BPM(server) and browser-based applications.
JSON Formatted Business Information through DOSGi
We’re trying to serve two major component requirements here:
- BPM Services, within Websphere, also require efficient access to business objects. JSON over ReST protocol being the preferred technology in support of increased agility in managing business needs (the “BPM” part of this puzzle).
Additionally, communication-traffic must avoid unnecessary intervention as it marshals its way through system boundaries. This means that there will be no XSLT transformations in this architecture… because they are no longer necessary given the ease at which APIs and JSON messages are built via JAX-RS and JAXB tools, APIs, and tooling.
JAX-RS and DOSGi (OSGi with CXF)
I again used both Eclipse (Juno) and Rational Application Developer v9-beta for these demonstrations. Only the Rational Application Developer examples demonstrate DOSGi. I couldn’t get DOSGi working within Websphere-Liberty.
The Eclipse guide isn’t as complete as the RAD examples. I substituted Wink for the JAX-RS implementation because I simply couldn’t get DOSGi-CXF running within Websphere-Liberty. The differences are very slight though – but, if you want to see DOSGi you must take a look at my RAD/Websphere examples.
This Rational Application Developer (RAD) walk-through and Websphere deployment is the most complete example to-date. It includes working examples for JAX-RS, DOSGi-CXF, JAXB, XML and JSON messaging, JPA integration, and soapUI for ReST service testing… Please refer to the Apache CXF web-site for detailed architectural discussions for internals on JAX-RS and JAXB JSON/XML generation.