Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Bundle.update: Towards the Next OSGi Release

Bundle.update: Towards the Next OSGi Release

This item in japanese


It's been a long time since the last Bundle.update was posted, and there have been a lot of OSGi-centric updates since then.

OSGi 4.2 platforms

The Knopflerfish Project released Knopflerfish 3.0, with OSGi 4.2 support, in June. The release notes note that support for Android has been (temporarily) dropped. The desktop-console respects the Bundle-Icon heading, so is a good test suite to see what that looks like. It also includes a provisional Command framework of the proposed OSGi specification, mentioned in the enterprise specs below.

Apache Felix Framework 3.0.3 was released yesterday, continuing the pure OSGi 4.2 support in previous releases. A major change in Felix framework 3.0 is the introduction of the Felix Gogo shell, which implements OSGi RFC 147 on command line shells.

Eclipse 3.6.1, aka Eclipse Helios SR1, has recently been released. As well as including a number of fixes for IDE operations, it also includes the fix for the Oracle JVM issue (which is useful, because the OpenJDK is going to make the changes permanent in JDK7 soon).

OSGi 4.3 early draft

The OSGi 4.2 Enterprise Edition was released earlier this year, and has since been made available at the maven repository.

Work continues on the next version of the OSGi specification, and an early draft of 4.3 has been made available for non-OSGi members to comment on. The significant change to this is the compilation of the OSGi runtime with a jsr14 target, which permits generics to be used whilst maintaining compatibility with a 1.4 Java VM (bytecode version 48). As a result, the OSGi framework is being upgraded to handle generics at compile-time, leading to type-safe service accessor patterns.

Equinox 3.7M1 and 4.1M1 have been released, with early support for the OGSi 4.2 generics.

OSGi community event and training

The OSGi community event returns to London, in conjunction with JAX London, this week with a set of track sessions that combine case studies of OSGi in the enterprise with real world use cases and tutorials. Registration is still open but note that JAX London started on Tuesday.

There's a free tutorial on Wednesday evening (registration required) on managing dependencies, by Marcel Offermans of Luminis. From the abstract:

Not only does OSGi allow you to modularize your codebase, it also enables you to build highly dynamic applications. That means that often you have to deploy certain components together to create a working subsystem. It also means that components can have lots of different dependencies on other components, services or even resources and configuration data. Managing all of these is not trivial, but crucial if you want to end up with a system that's easy to deploy and upgrade. By applying the right design patterns and using libraries that help you declaratively specify dependencies, you can quickly create applications that are loosely coupled by services and have qualities like substitutability and scalability. During the tutorial, hands on excercises will illustrate the different patterns and demonstrate how to build robust components that can deal with all the dynamics that OSGi will throw at it. In the end you will have learned how to build on OSGi using much higher level primitives than the ServiceTracker and ServiceListener that the specification provides.

For those that are interested in more detailed training courses going beyond the basics, Peter Kriens and Neil Bartlett are hosting an OSGi Masterclass between 13th and 15th October in Girona, Spain (registration). There is an optional one-day basics course on the 12th October for those that would like a refresher or to get up to speed before the masterclass itself.

Enterprise platforms

Eclipse Virgo, the new name for Spring DM Server, has shipped milestone 2.1.0.M04. For those that have used Spring DM server or Spring applications, Eclipse Virgo provides a good transition path into a modular enterprise system. A full release is planned for later this year.

Eclipse Gemini, a set of modules focused on Enterprise OSGi support, and formerly the Spring Dynamic Modules components, have released a number of milestone releases. This includes:

  • Gemini Naming M1, providing JNDI support to OSGi applications using the OSGi JNDI service
  • Gemini JPA M1, providing JPA support for OGSi applications wrapping EclipseLink with the OSGi JPA services
  • Gemini Web M4, providing tomcat services via OSGi web interface (blog).
  • Gemini Blueprint M1, the reference implementation for the OGSi blueprint service (blog).
GlassFish 3.0.1 was released with full OSGi support, and integrates with both Eclipse and NetBeans through their ever-increasing OSGi support. With their NetBeans 6.9 release, it is possible to create and import OSGi bundles into the NetBeans platforms, as well as Felix and Equinox support.

JBoss have released JBoss-OSGi-1.0.0.Beta9, an OSGi wrapper around the JBoss Modules layer. Rather than build JBoss on proven modularity technologies, the evolution of the JBoss JMX MicroKernel and JBoss Microcontainer has resulted in a cut-down self-defined module format which then has OSGi layered on top of it. One of the stated goals is to allow JBoss Modules to be compatible with the further-postponed JSR 294 “Jigsaw” module system as well as other module systems, whilst other enterprise application vendors like IBM, Oracle and Glassfish are all using standard OSGi runtimes (Equinox or Felix) and have been shipping modular systems for some time.

Rate this Article


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • .. and Apache Karaf .. and Apache Aries

    by Guillaume Nodet,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    FWIW, Apache Karaf 2.1.0 has been released last Friday and Apache Aries 0.2 a few weeks ago.

    Apache Karaf provides an OSGi based distribution for building server-side applications and can be configured to use either the Felix Framework or Equinox. It has built-in support for Blueprint and web applications. Karaf is the foundation for several projects such as Apache ServiceMix, Apache Geronimo and FuseSource ESB.

    The Aries project is delivering a set of pluggable Java components enabling an enterprise OSGi application programming model. This includes implementations and extensions of application-focused specifications defined by the OSGi Alliance Enterprise Expert Group (EEG) and an assembly format for multi-bundle applications, for deployment to a variety of OSGi based runtimes. Aries currently supports JNDI, JPA, Blueprint, JMX, Transactions as defined by the OSGi EEG.

  • .. and OW2 JOnAS ..

    by jacques cayuela,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    As of its version 5, JOnAS is fully based on the OSGi framework; using either Apache Felix, Eclipse Equinox or Knopflerfish (the default JOnAS packaging comes with Apache Felix). This means that all JOnAS components are packaged as bundles, for example the full JOnAS profile comes with more than 250 bundles.

    The service layer is implemented using Apache iPOJO, therefore most Java-EE-certified JOnAS services (persistence, EJB, resources, ...) are directly available as OSGi services to all OSGi bundles deployed on JOnAS. The inverse is also true: for example, an EJB3 can directly access any number of OSGi services using dynamic injection. Enterprise OSGi is also in progress on JNDI and JPA with http service already available.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p