Monday, July 29, 2013

JBossOSGi-2.1.0 Released

I am happy to announce the release of JBossOSGi-2.1.0

You can download the binary here: jbosgi-installer-2.1.0.jar

This adds an R5 compliant OSGi Framework and Enterprise OSGi functionallity to the WildFly-8.0.0.Alpha3 distribution.

Please also have a look at the latest version of our User Guide.


Thursday, October 11, 2012

JBoss One Day Talk 2012

Yesterday, I had the pleasure of speaking at the JBoss One Day Talk in Munich. Like always the conference was very well organized and it was great to meet up with community, customers and some colleagues from RedHat.

The talk was about OSGi in complex Enterprise Applications on AS7 and for the first time I could speak about how our vision has become reality. It is now possible to leverage middle ware services from AS7 and at the same time using the OSGi standard to address your modularity concerns and dynamic service requirements. I always like to draw the picture of a large and complex web application that is developed by multiple teams in different locations. Each team is primarily concerned with it own functional unit (module) and defines the set of capabilities/requirements of that module.

A fine rule of modularity: 
You can reason about A without having to think about B
At runtime the various modules come together, the caps/reqs get resolved by an external authority and by virtue of using OSGi they have life cycle and may integrate via dynamic services. So at any time you can bring in new modules, start/stop/update existing modules or take functionality out by removing a module. You web app would react accordingly and for example show/hide an option in the UI. Ok, it is rare that you want to modify a complex application in that way that is already in production. Still, 
An application that supports the notion of pluggable functionality is a good candidate for a modular architecture and is likely to use dynamic services to integrate the bits.
Modularity and service dynamicity do not come for free and I surely grant that OSGi can be hard at first. This is not because OSGi is hard it is because a modular system is more complex than a flat classpath and it is also more complex to track dynamic services instead of integrating via interfaces in the traditional way.
It is  sane to stay away from modularity if your system is reasonably simplistic and will stay that way in the foreseeable future. 
 JBoss AS7 supports modularity and dynamic services natively via jboss-modules and jboss-msc. It is good to understand the difference between that or any other home grown solution with respect to the OSGi standard. When in doubt and there is no other compelling reason, I would advise
Use the OSGi standard to secure your investment, stay portable and leverage what is out there in terms of documentation reusable functionality and not to mention last existing know how in the developer community.
I'm also happy to tell you that we plan to bring all that functionality to the JBoss Enterprise Application Platform (EAP 6.1) and it will be fully support.

Here are the slides from the session in Munich.


Monday, June 18, 2012

JBossOSGi-1.1.1 Released

I am happy to announce the release of JBossOSGi-1.1.1.

You can download the binary here: jboss-osgi-installer-1.1.1.jar

This is a maintenance release for JBoss-AS-7.1.1 integration.
Please also have a look at the latest version of our User Guide.

Thursday, August 4, 2011

JBoss AS7 OSGi Presentation + Demo

I am happy to announce that the JBoss AS7 OSGi webinar recording is now available on vimeo.
JBoss AS7 is a game-changer for both Java EE developers as well as application server administrators. And while JBoss is best known for being a Java EE container, in this session, we will focus on the OSGi capabilities of the new JBoss AS7.

Starting with background information on OSGi in general, Thomas Diesler introduces the main objectives of this technology and explains the unique JBoss OSGi vision. Combining the best of two worlds we show how modern Java EE applications on AS7 can use the OSGi component model and vice versa.

Presenters: Thomas Diesler and David Bosschaert

Thomas is the OSGi Project Lead at JBoss. As the Red Hat representative in the OSGi Enterprise Expert Group he is involved in the standardization effort of various OSGi technologies that are relevant to the enterprise space.

David, principal software engineer at Red Hat, is a co-chair of the OSGi Enterprise Expert Group and spends the majority of his time on the JBoss OSGi framework and other open source projects. Before joining JBoss/Red Hat in 2010, David worked for IONA Technologies and Progress Software in Dublin, Ireland.

The demo code is available here.

Tuesday, July 26, 2011

JBossOSGi-1.0.0 Final Released

I am happy to announce the release of JBossOSGi-1.0.0 Final.
You can download the binary here: jboss-osgi-installer-1.0.0.jar

This is our first OSGi Core 4.2. Framework compliant release. It also comes with improvements in the following areas
  • Integration with JBoss AS7
  • Pass the Core 4.2  Compliance Testsuite from the OSGi Alliance
  • Add Declarative Services (DS) example
  • Documentation now available in Confluence
  • OSGi service invocation from EJB3 and Webap
  • Migration to the Arquillian test framework
  • Better support for execution environments
For details please have a look at the latest version of our User Guide.

Here are the change log details

JBossOSGi 1.0.0


  • [JBOSGI-438] - Exception when starting Blueprint component
  • [JBOSGI-443] - Intermittent WebAppNegativeTestCase failure
  • [JBOSGI-458] - Warning from webconsole at first access

Feature Request

  • [JBOSGI-192] - Access an OSGi service from EJB3
  • [JBOSGI-313] - OSGi service invocation from EE6 WebApp
  • [JBOSGI-474] - Add Dynamic Services to examples and distro


  • [JBOSGI-434] - Release 1.0.0 Final
  • [JBOSGI-448] - Run OSGi integration tests as part of the AS7 Hudson job
  • [JBOSGI-461] - Update user guide with OSGi in AS7 usage
  • [JBOSGI-463] - Create OSGi in AS7 QuickStart guide
  • [JBOSGI-468] - Update to Arquillian 1.0.0.CR1 or later
  • [JBOSGI-469] - Migrate performance tests to new Arquillian API
  • [JBOSGI-471] - Remove JTA support for standalone Runtime
  • [JBOSGI-472] - Migrate documentation to confluence
  • [JBOSGI-481] - Fix Equinox performance tests

Core Framework 1.0.0


  • [JBOSGI-433] - [TCK] Intermittent StartLevelControl failure
  • [JBOSGI-439] - Bundle resolution error should provide reason
  • [JBOSGI-442] - Circular class load issue on lazy activation
  • [JBOSGI-444] - Service event failure on Runtime shutdown
  • [JBOSGI-450] - Bundle containing a BundleTracker causes subsequent bundle install/starts to fail
  • [JBOSGI-451] - Timeout starting Framework after shutdown
  • [JBOSGI-452] - ConcurrentModificationException in BundleManager.getBundles()
  • [JBOSGI-456] - Framework events may get delivered out of order
  • [JBOSGI-465] - Framework sets service mode while Container is shutting down
  • [JBOSGI-473] - Unsupported execution environment [OSGi/Minimum-1.2, CDC-1.1/Foundation-1.1, J2SE-1.4] we have [J2SE-1.5, , JavaSE-1.6]
  • [JBOSGI-476] - Cannot acquire start/stop lock for lazy bundles
  • [JBOSGI-477] - Unsupported execution environment OSGi/Minimum-1.1

Feature Request

  • [JBOSGI-441] - Allow for OSGi style Class Filtering


  • [JBOSGI-238] - [TCK] Framework core functionality
  • [JBOSGI-255] - [TCK] Core Framework
  • [JBOSGI-455] - Add services that represent the RESOLVED and ACTIVE states