Alexander Broekhuis works for Luminis and is a Java engineer since 2004 with a clear focus on OSGi. In the last years he has worked for embedded product companies on distributed middleware in which Java and C is used. His work includes creating meta-models and transformations from which the code for the middleware is generated (MDA, MDD), and more recently updating existing middleware to support dynamic services, based on OSGi. Alexander is initiator and committer of the Apache Celix project, a platform for distributed systems in C, with a focus on interoperability with Java (OSGi).
To fill this gap, Apache Celix is created. Apache Celix is an implementation of the OSGi specification adapted to C, focussed on embedded and distributed platforms. Celix is a new Apache project currently starting up in the Incubator.
The goal is, to follow the OSGi specification as much as possible, and grow towards an implementation with most of the OSGi Core and Compendium implemented.
To be able to support distributed platforms, the Remote Services from the Enterprise Specification will be implemented. Using Remote Services also makes it possible to create interoperability with Java OSGi.
For distributed systems, deployment/distribution is an important aspect. For OSGi Apache Ace can be used to maintain and manage deployment to multiple targets. This makes Apache Ace a perfect candidate for deployment of Celix Bundles and Artifacts.
This presentation shows how Celix solves the dynamic aspects of OSGi services in C. It will detail differences between the OSGi Specification and the Celix solution.