Wednesday, October 6, 2010

Public OSGi Wiki being set up

During the OSGi Community Event last week in London the suggestion was made to create a public OSGi Wiki. BJ Hargrave has acted quickly and just set up a mailing list to discuss this further. This is an open mailing list so subscribe if you want to join the discussion: https://mail.osgi.org/mailman/listinfo/osgi-wiki

Monday, October 4, 2010

OSGi 4.3 core/compendium EA draft 2

The OSGi Alliance has published the second Early Access draft of the upcoming OSGi 4.3 core/compendium specifications. The draft contains the following RFCs (in this order):
  • RFC 138 - Framework Hooks (this is the current approach to providing protected scopes for things like applications in the framework).
  • RFC 151 - Framework Update 
  • RFC 154 - Generic Requirements and Capabilities
  • RFC 147 - Command Line Interface
  • RFC 157 - Event Admin Update
  • RFC 160 - Coordinator Service
  • RFC 165 - Combined Configuration Admin enhancements
You can find it here: http://www.osgi.org/Download/File?url=/download/osgi-4.3-early-draft2.pdf

Tuesday, September 7, 2010

OSGi 4.2 Enterprise Interfaces Jar now available in Maven Central

I can only say: apologies that this took so long, but the OSGi Enterprise Jar is now available from maven central:

group ID: org.osgi
artifact ID: org.osgi.enterprise
version: 4.2.0

or directly here:  http://repo1.maven.org/maven2/org/osgi/org.osgi.enterprise/4.2.0/

This should make using Enterprise OSGi from Maven builds a lot easier.

Monday, July 26, 2010

CXF Distributed OSGi 1.2 is out!

I'm really excited to be able to say that the CXF Distributed OSGi subproject has done its 1.2 release.

With this release it now also provides the Reference Implementation of the Remote Service Admin specification (chapter 122 of the OSGi Enterprise Specification) in addition to being the Reference Implementation of the Remote Services specification (chapter 13 in the OSGi Enterprise Spec). Together with the Apache ZooKeeper-based discovery implementation it provides all you need to do Distributed OSGi.

A lot of work as gone into this release, which is a major refactoring from the previous code base. This was necessary to support the RSA specification which provides a standard API for the internal building blocks that constitute a Remote Services implementation. This provides a number of benefits:
  • You can mix & match components from various implementations, for instance you could use the Web-Services based OSGi Service Remoting provided by CXF together with a Discovery System from another project.
  • You could replace the default Topology Manager with a custom built one to control more explicitly which services should be exported or imported and how.
  • You could make some interesting mash-ups. I think that the Tuscany project provides a implementation of the Topology Manager for SCA, so in theory you could replace the default one with the Tuscany one and control you CXF-based Remote Services through SCA. I haven't tried this out yet, but it should be possible :)
Besides the real spec text (which is quite readable) you can find a some more information on the components described by the RSA spec on slides 6-8 of my Enterprise OSGi presentation.

You can find the CXF-DOSGi 1.2 release here: http://cxf.apache.org/distributed-osgi.html

Wednesday, June 2, 2010

Wikipedia page listing all available OSGi implementations

With the release of the OSGi 4.2 Enterprise Specifications, the number of OSGi specs has improved dramatically. This is a good thing because many more use cases are now covered. Is it getting bloated? Not at all, as with OSGi you only take what you need. The basis is always something that implements the OSGi Core specification, and these implementations are often very small. Apache Felix is 383kb and Eclipse Equinox is only just over 1MB. If you need to use any of the other specifications you can add them to your framework runtime to just provide you what you need. Nothing more, nothing less.

To my surprise it was sometimes fairly hard to find where a certain OSGi spec implementation could be obtained. Most people know where to find a number of core frameworks, but where to I find a compliant OSGi Web Applications implementation? Or a Remote Services one? Or maybe you're not happy with a particular implementation, where do you find an alternative?

So I started putting together a list of OSGi spec implementations on Wikipedia, both for core frameworks as well as for other OSGi specifications such as the Enterprise ones.

The wikipedia page is here: http://en.wikipedia.org/wiki/OSGi_Specification_Implementations

I'm sure the list is not complete and there may be some mistakes in it, so I would invite anyone who has more information to add it in!

Friday, May 7, 2010

Presentation: What's new in OSGi 4.2 Enterprise

Just as I was setting off to travel to the Jax OSGi day in Mainz earlier this week my plans got disrupted by another plume of volcanic ash. Only hitting Ireland and Scotland this time, but enough to close Irish airspace for the day. So I wasn't able to deliver my presentation about the new specifications in the OSGi 4.2 Enterprise Release. Lucky enough my friend Roman Roelofsen was at the conference. He has given the talk instead at short notice. Thanks Roman!
This is the presentation that I gave at Jax London and Tim Diekmann also used it at EclipseCon 2010. A number of people have asked to get access to it, so here it is!

Thursday, May 6, 2010

New OSGi spec drafts available!

Recently the OSGi Alliance has published two new drafts that contain the RFC contents for a number of future specifications.

There is a new draft for the OSGi Core 4.3 release: http://www.osgi.org/download/osgi-core-4.3-early-draft1.pdf. This draft contains:
  • RFC 138 which describes running multiple frameworks in a single VM. 
  • RFC 151 updates the core framework API to include Java 5 generics.
  • RFC 154 introduces generic capabilities and requirements to the OSGi resolver.
Also released was a new draft for the OSGi 4.2 Residential release: http://www.osgi.org/download/osgi-residential-4.2-early-draft3.pdf. This draft contains a number of highly specific specs for the residential area with the notable exception of RFC 144, which has a general impact on OSGi:
  • RFC 144 Configuration Admin Extension. The extensions described in the RFP are twofold. The Configuration Permissions are extended. Additionally, with RFC 144 it is now possible for multiple bundles to consume a single Configuration Object. So it means that with that it's possible to share a common Configuration Object across many bundles! This is one thing that I've been looking for a long time, and it will benefit many OSGi Core and Enterprise users as well...
As with previous early draft releases. These specs aren't finished yet, but this should give people a good idea of where things are going and also allow opensource projects to start implementing!