Apache CXF provides the Reference Implementation of the Distribution Software (DSW) component of the Distributed OSGi Specification (RFC 119 in http://www.osgi.org/download/osgi-4.2-early-draft2.pdf).
It implements RFC 119 using Web Services, leveraging SOAP over HTTP and exposing the Web Service over a WSDL contract.
Note that currently this code lives in the sandbox. We are working on moving into the main CXF code base at the moment.
This is work in progress!
Getting Started
To get started, check out the code from http://svn.apache.org/repos/asf/cxf/sandbox/dosgi
Then build & test using:
mvn install
This builds the code, runs the unit and system tests and finally creates two distributions:
distribution/multi-bundle: This distribution is a zip file containing the Distributed OSGi bundles, as well as all their dependencies.
distribution/single-bundle: This is a convenience distribution of a single bundle that embeds all the dependencies.
Samples
The samples directory contains the following sample projects:
greeter: a very simple demo of a Greeter OSGi Service exposed remotely and a Consumer invoking on it.
spring_dm: a demo created using Spring-DM. Rather than invoking on the OSGi API's directly, the Spring-DM demo shows how you can use Spring to configure your beans as OSGi Services and similarly how to use Spring-DM to invoke a (remote) OSGi Service.
Running it
Configuration file snippets are automatically generated during the build process. You can paste these snippets in the configuration of you OSGi container to automatically load the bundles for you distribution.
After doing a build, the following snippets are available:
distribution/multi-bundle/target/felix.config.properties.append
distribution/multi-bundle/target/equinox.config.ini.append
distribution/single-bundle/felix.config.properties.append
// distribution/single-bundle/equinox.config.ini.append
Using Felix
Verified with: Felix pre 1.4.1 trunk
Using Equinox
Verified with: Eclipse Equinox 3.5M4
TODO