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.