Τρίτη 18 Δεκεμβρίου 2012

Karaf and CXF DOSGi updated

The Aniketos Runtime platform is based on Apache Karaf OSGi container. Another key technology for the platform is Apache CXF DOSGi. This is an implementation of OSGi Remote Services that allows services in different containers to be discovered and exchange information. In a simple scenario, CXF DOSGi can also be used to provide a SOAP WSDL service from inside an OSGi bundle. This service can be consumed from either an OSGi client in another container or a common WSDL client.

As 2012 approaches to the end good news appeared for both these technologies. Apache Karaf has been updated to 2.3.0 version. Although Apache Karaf received regular updates throughout the year, this is a milestone for the project, as it marks the swift from OSGi 4.2 to OSGi 4.3 specification. This new version of Karaf supports Felix Framework 4.0 and Eclipse Equinox 3.8. This was a long awaited feature as Karaf has fallen behind from the latest advances in core OSGi containers. In practical matters this change will make both development and deployment easier. Since most developers use recent versions of OSGi containers in their development environment, they were previously often caught by surprise when trying to deploy a bundle. Especially in situations when more than 100 bundles need to be installed, the differences in OSGi implementations could have a significant impact. It is always good to develop in the same environment that you are going to deploy. I have also found that recent versions of the OSGi containers produce more meaningful messages in the case a bundle fails to install.

Apache CXF DOSGi is also going to be updated to version 1.4.0 soon. This is the first update from the 1.3.1 release in April 2012. The highlights for this release are very interesting:
  • 30 issues resolved (see jira)
  • Karaf feature for easy installation in Apache Karaf
  • Zookeeper discovery now supports automatic reconnects and Cluster configuration
  • DOSGi is now independent of spring dm
  • Custom intents are now created by publishing e.g. CXF Features as services
  • Big refactorings make the code much easier to understand
We have experienced problems running CXF DOSGi together with some other bundles and we hope that the new version will solve most of them. The provision of Karaf feature is of course happily welcomed. We still haven't set up a Zookeeper server, but we definitely plan to do in the future. The new version will make this task easier. Anyway it is very good to see that this project is evolving, as before version 1.3 it was stalled for over a year.