Enterprise Integration Zone is brought to you in partnership with:

Mitch Pronschinske is a Senior Content Analyst at DZone. That means he writes and searches for the finest developer content in the land so that you don't have to. He often eats peanut butter and bananas, likes to make his own ringtones, enjoys card and board games, and is married to an underwear model. Mitch is a DZone Zone Leader and has posted 2573 posts at DZone. You can read more from them at their website. View Full User Profile

CXF-DOSGi 1.2 Has All the Tools for Distributed OSGi

07.27.2010
| 10129 views |
  • submit to reddit
The Distributed OSGi subproject of Apache CXF was released this week with a new reference implementation included for the Remote Service Admin (RSA) specification (chapter 122 of the OSGi Enterprise Specification).  Together with the reference implementation of the Remote Services specification (chapter 13 in the OSGi Enterprise Spec) and the Apache ZooKeeper-based discovery implementation, DOSGi 1.2 now includes everything you need to do Distributed OSGi.

DZone interviewed the DOSGi project committer David Bosschaert in November.  He explained that DOSGi leverages the CXF technology to realize the OSGi Remote Services specification.  David Bosschaert said when the OSGi EEG first formed, companies wanted to add distributed computing to OSGi.  This led to the creation of a requirements document, which the EEG calls an RFP, and a technical design document, called an RFC.  RFC 119 became the spec for Distributed OSGi.  

The OSGi services model is well suited for distributed computing, he said.  The goal of the 1.2 release was to implement the Remote Services Admin spec, which provides a description of deeper integration of distribution providers.  The Admin spec resulted from a split in the RFC 199.

DOSGi 1.2 also includes a major refactoring of the codebase to support the RSA specification, which provides a standard API for the components of the Remote Services implementation.  The RSA reference implementation provides several benefits:

  • You can mix & match components from various implementations.  For instance, you could use the Web-Services based OSGi Service Remoting provided by CXF together with a Discovery System from another project, like Zookeeper.
  • You could replace the default Topology Manager with a custom-built one to control more explicitly which services should be exported or imported and how.
  • You could make some interesting mash-ups.  The Tuscany project provides an implementation of the Topology Manager for SCA, so in theory you could replace the default manager with the Tuscany manager and control your CXF-based Remote Services through SCA.

To find out more about the RSA implementation you can check out the spec, which is quite readable, or see Bosschaert's slides on Enterprise OSGi.