Projects


Projects Wiki

This wiki contains information about my ongoing projects.

Service Binder (mirror at sourceforge)

NOTE: The Service Binder project has stopped as the concepts it introduced are now integrated to the Declarative Services section of the OSGi specification. You can download an implementation of the SCR at the following address:

The Service Binder is a mechanism that simplifies development in the OSGi services platform as it automates service dependency management.

OSGi applications are constructed following service-orientation principles, and as consequence they require developers to build components that are responsible for publishing their services, discovering and binding to services they require and adapting to the dynamic availability (the arrival or departure) of the services they are using; all of this during execution. These activities represent service dependency management.

Traditionnally, bundle developers must program both application and service dependency management logic into their bundles. Service dependency management logic is, in general, complex and error prone, as it requires, among other things, that monitoring and reconfiguration tasks to be realized. Additionnally, application and service dependency management logic are often intermixed inside the code of a bundle, making modifications more difficult.

The Service Binder solves this problem by extracting service dependency management logic from the bundles and moving it into an execution environment that is deployed inside the framework as a standard bundle. Service dependency management logic is configured by informations contained in an XML descriptor that extends the bundle manifest. This logic is inserted seamlessly into a bundle by providing a descriptor and creating an empty subclass from a generic activator class provided by the Service Binder. Applications built with the Service Binder are assembled dynamically and are capable of adapting themselves autonomously, for example by substituting a departing service, or by integrating new services that arrive as the application is being executed.

The Service Binder is delivered in a standard OSGi bundle (~70k) and is independent of any OSGi framework implementation. It has been used in companies such as Schneider Electric and Ascert to develop research and commercial products, respectively.

Service Binder:  Minisite with detailed information about the project, downloads.

OSGi tutorial: This tutorial creates successively more complex OSGi bundles to illustrate most of the features and functionality offered by the OSGi framework. It culminates by demonstrating how the ServiceBinder can be used to greatly simplify creating OSGi applications (Il y a une version en Français).

Download and Install



Wire Admin service implementation

As part of a project, I am developing an implementation of the Wire Admin 1.0 service specification from the OSGi specification release 3. You can install the bundle from Oscar's obr (obr install "Wire Admin") or from the following url (sources under BSD License):

http://www-osgi.sf.net/repo/wireadmin/wireadmin.jar

There is also a bundle that provides a command line for the Oscar shell that allows you to interact with the Wire Admin. You can get it from Oscar's OBR (obr install "Wire Admin Command") or from the follwong url(sources under BSD License):

http://www-osgi.sf.net/repo/wireadmincmd/wireadmincmd.jar


Beanome

Beanome is a component model and execution environment for this model built on top of the OSGi framework that takes concepts from the JavaBeans component model and from COM. In Beanome, the OSGi platform is used as a deployment infrastructure that provides deployment unit management capabilities along with a registry where component factories are registered as services.

Beanome served as a testing platform for the following ideas:

  • Using OSGi as an underlying platform for a component model
  • Combining Service orientation and component orientation concepts

These ideas were a base for the work done in the Service Binder. Please note that Beanome is not maintained anymore.

Here is a paper I wrote in 2002 with Richard S. Hall about Beanome.

Download: Step by step guide to download and install OSCAR (an OSGi implementation), the Beanome execution environment and some sample applications.



Last update: June 18th 2004
contact: hcm@xanum.uam.mx
Homepage