Wednesday, May 13, 2009

Distributed OSGi 1.0 ... Thunderbirds are Go!

Almost a year ago now, myself and Sergey Beryozkin started out on the road to building the official reference implementation for what was then just plain ol' RFC 119, being cooked up by the Enterprise Expert Group at the OSGi.

After quickly putting together an initial proof-of-concept based on Apache CXF, we moved the code to a sub-project of CXF and continued its development from there.

Fellow RFC 119 author David Bosschaert later joined us in the implementation effort, and became a CXF committer in the process.

After much refining of the RFC along with the expert group, multiple trips to Montpellier to eat chèvre and argue over the fine detail of the spec, a serious case of concall-ear and lots of updating the implementation along the way to follow the moving goalposts, we've finally released version Distributed OSGi 1.0.

So enough of the back-slapping, where's the beef, says you.

Well you can get started kicking around the reference implementation by downloading one of the three distribution formats we provide for your convenience:
  1. Multi-bundle distro: cxf-dosgi-ri-multibundle-distribution-1.0.tar.gz

    Contains the dOSGi implementation and all 3rd party dependencies as separate bundles within an archive. Along with config snippets for both Felix and Equinox, to allow you to easily pull in all the required bundles without having to go through the tedium of typing many install commands in the shell.

  2. Single-bundle distro: cxf-dosgi-ri-singlebundle-distribution-1.0.jar

    Contains the dOSGi implementation and all 3rd party dependencies wrapped in a single OSGi bundle so as to allow direct installation in your favourite OSGi container in one fell swoop. As long as your favourite OSGi container happens to be either Felix 1.4.1 or Equinox 3.5M4+, for these are the OSGi runtimes that support the OSGi Service Registry Hooks on which dOSGi depends. That's the magic that allows us to intercept client calls into the OSGi Service Registry and do some sleight of hand to ensure there's a proxy transparently registered for the remote service.

  3. Source distro:

    Contains the entire source tree for dOSGi, for your building pleasure. For those of you who prefer to get your hands dirty from the get-go :)

For any tar-phobic Windows users, there are .zip versions of the distros also available.
Docco-wise, the best starting point for getting your head around dOSGi is the Getting Started Guide.

There are a number of samples also to play with, illustrating various approaches to enable transparent remoting on your common-or-garden OSGi services. If you're new to the ideas behind dOSGi, you'll find that the detailed walk-through of the greeter sample should cause a few lightbulbs to flash.

Your feedback, we value. Even when its of the form "this, I don't understand" or "that, looks like its broke". So if you've got any, be sure to drop us a note on the CXF lists.

No comments:

Post a Comment