GlassFish OSGi – from modular runtime to hybrid applications

Alexis Pouchkine, Oracle
You don’t need to chose between Java EE and OSGi, you can use both is a number of ways to address your modularity and enterprise needs. Here’s how.
GlassFish v3 was built with modularity in mind and OSGi is what powers this open source application server since 2009.
The application server is composed as a set of 200+ OSGi bundles and runs on top of Felix (the default), Equinox and other runtimes. It can be installed on existing OSGi, explicitly deploy OSGi bundles, re-use existing OSGi tooling yet without ever exposing this modules technology to the Java EE developer. All this offers great modularity which we will discuss and demonstrate in this session.
While hiding OSGi as an underlying implementation detail offers GlassFish developers and users many valuable features, you may also be interested in taping the OSGi nature of GlassFish in the following ways :
- extend GlassFish using OSGi Declarative Services
- expose JPA, WebServices, or EJB’s as OSGi services
- use Web Application Bundles (WAB)
This session will cover and demonstrate these different approaches of using OSGi and discuss their relative merits.








