Gold sponsors

IBM Corporation

Jasmine Conseil logo

Cloudsoft logo

Sonatype logo

SAP logo

Xored logo


Amazon logo

Silver sponsors

Blackberry logo

ZeroTurnaround logo

Amazon Web Services logo

bsi logo

OnPositive logo


Nuxeo logo


Bronze sponsors



Microsoft logo

Paremus logo

JBoss logo

Genuitec logo

Juniper logo

Soyatec logo

itemis logo

Totvs logo

AccuRev logo

Activity sponsor


Media sponsors

Methods & Tools logo

Developing OSGi-enabled Java EE Applications with GlassFish

Arun Gupta, Sanjeeb Sahoo

OSGi DevCon · Tutorial
Wednesday, 15:50, 2 hours | Stevens Creek


OSGi provides the benefit of modularity, dependency management, service dynamism, and others. Java EE provides persistence, security, transaction management and other similar services. The Enterprise Expert Group in OSGi Alliance defines how to mix and match the Java EE APIs in OSGi. The Release 4 Version 4.2 of Enterprise Specification defines how several Java EE specifications such as JPA, JNDI, JMX, and WAR file specification can work with OSGi and levarage its benefits.

This hands-on lab will show the attendees on how to create OSGi applications, leverage Java EE features in them and vice versa using Eclipse and deploy such applications on GlassFish easily. Specifically, attendees will learn:
  1. Build a simple OSGi service and client using Eclipse and deploy on GlassFish
  2. Replace the OSGi client bundle with a hybrid application (WAB)
  3. Replace the OSGi service bundle with a EJB-based service
  4. Show how Contexts & Dependency Injection (JSR 299) can be used to inject a dynamic OSGi service
All of this will be built using Eclipse.

Please download the following software in order to maximize your participation in the tutorial:

  • JDK 1.6 U20+
  • Eclipse Helios for Java EE Bundle
  • Install 'm2eclipse" plugin and "m2eclipse extension" plugins from "". Complete installation instructions are available here.
  • Download GlassFish 3.1 Open Source Edition, unzip the bundle, include "glassfish3/bin" in the PATH.
  • Download Maven 2.2.1 and unzip. Configure Maven 2.2.1 in Eclipse - In "Eclipse", "Preferences..." menu, search for "maven", select "Installations", click on "Add...", and select the location of unzipped Maven 2.2.1 directory.

Arun Gupta is a Java EE and GlassFish evangelist working at Oracle. Arun has over 14 years of experience in the software industry working in the Java(TM) platform and several web-related technologies. In his current role, he works to create and foster the community around Java EE and GlassFish. He has participated in several standard bodies and worked amicably with members from other companies. He has been with the Java EE team since its inception and contributed to all Java EE releases in different capacity. Arun has extensive world wide speaking experience on myriad of topics and love to engage with the community every where. He is a prolific blogger at This blog has over 1100 blog entries with frequent visitors from all the world and reaching up to several thousand hits/day. You can catch him at @arungupta.

Sahoo is a Senior Staff Engineer at Sun Microsystems (now Oracle), where he is currently responsible for modularization of GlassFish Application Server using OSGi as well as exposing OSGi as a first-class feature to Java EE applications. Prior experiences include working in C++ language binding for an ODBMS, developing enterprise applications using CORBA & messaging middleware, and developing a static analyser tool for Java EE applications. Sahoo frequently blogs at