Felix goes to Tuscany: applying OSGi modularity after the fact
Tuscany is an Apache Incubator project providing support for building SOA-based application networks. It is based on the Service Component Architecture specifications being defined by the OASIS Open SCA Collaboration. Felix is an Apache project providing an implementation of the Java modularity and service technology defined by the OSGi Alliance. Tuscany was built with a modular architecture, using a different approach from that of OSGi. In 2007 an effort was started to integrate Tuscany with OSGi. As part of this we undertook an investigation into how to apply OSGi modularity to the Tuscany runtime to enable its execution within an OSGi Framework. This involved analyzing the existing Tuscany modularity which turned up lots of interesting information about the linkages between the various sub-components. This understanding was then used to determine how to map Tuscany into a suitable form for use as OSGi bundles, including prototyping various levels of decomposition granularity. This presentation will share the experiences of analyzing and modularizing an existing project using OSGi. It will discuss what to expect when approaching modularizing existing projects, the tools for aiding analysis and best practices for applying OSGi modularity.