Did you know? DZone has great portals for Python, Cloud, NoSQL, and HTML5!
Enterprise Integration Zone is brought to you in partnership with:

Mitch Pronschinske is the Senior Content Curator (aka. "Lord of the Zones") 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 has hotdogs for lunch, likes to make his own ringtones, enjoys card and board games, and is married to an underwear model. Mitch is a DZone employee and has posted 1711 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
Email
Views: 6181
  • submit to reddit
The Enterprise Integration Zone is presented by DZone and FuseSource. Check out the EI Zone for real world integration scenarios to help you learn which technology will give you the most elegant solution.  For open source systems based on Apache Camel, ActiveMQ, or ServiceMix, look into FuseSource's training and technology.  
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.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Enterprise Integration is a huge problem space for developers, and with so many different technologies to choose from, finding the most elegant solution can be tricky.  The Enterprise Integration Zone is a place for enterprise developers of all backgrounds to share design patterns and technology solutions that make integration easier for various scenarios.  FuseSource proudly supports the EI Zone and provides its own gamut of training, services, and tools based on Apache Camel, ActiveMQ, CXF, and ServiceMix.