SlideShare a Scribd company logo
<Insert Picture Here>




OSGi & Java EE in GlassFish
Arun Gupta, Java EE & GlassFish Guy
blogs.sun.com/arungupta, @arungupta
The following/preceding is intended to outline our
general product direction. It is intended for
information purposes only, and may not be
incorporated into any contract. It is not a
commitment to deliver any material, code, or
functionality, and should not be relied upon in
making purchasing decisions.
The development, release, and timing of any
features or functionality described for Oracle’s
products remains at the sole discretion of Oracle.



                                                     2
Are you tweeting ?



#glassfish
#techdays


                     3
The OSGi Alliance is a worldwide
consortium of technology
innovators that advances a proven
and mature process to assure
interoperability of applications and
services based on its component
integration platform.
                                       4
OSGi Alliance provides ...

• Specifications
• Reference Implementation
• Test Suites
• Certifications




                               5
What is OSGi ?

• Specification delivered by OSGi Alliance
  • Originally for embedded devices and networks
• Architecture for modular application development
  in Java
• Reduces the cost of building, maintaining, and
  deploying applications




                                                     6
What is OSGi ?

• OSGi “container” breaks application into “modules”
 or “bundles”
  • Felix, Equinox, Knopflerfish
• Dependencies between each bundle are managed
• Can install, uninstall, start, and stop each bundle
 dynamically without restarting container
  • Multiple versions of a bundle are supported




                                                    7
GlassFish v3 & OSGi
• No OSGi APIs are used in GlassFish
  • HK2 provides abstraction layer
• All GlassFish modules are OSGi bundles
• Felix is default, also runs on Knopflerfish &
 Equinox
  • Can run in an existing shell
  • 216 modules in v3




http://blogs.sun.com/arungupta/entry/totd_103_glassfish_v3_with   8
Benefits of OSGi for GlassFish
• Demands and enforces stronger modularity
• Enables custom tailored App server
• Lazy loading based on usage patterns
• Open for all JVM based technologies
  • Native deployment of JRuby-on-Rails application
• Successfully maintained quick startup
• Available to GlassFish developers and
 users


                                                      9
GlassFish: The next generation platform

   REST                                OpenMQ          WebSpace Server
                   Scripting                                                 OpenESB             OpenSSO
Web Services                            JMS                Portal


   Web                               Connection             Java                               Web Services
                       JSF                                                 EJB Container

                       Application Container
 Container                          Pooling (JCA)        Persistence                             Interop



         Management Console                   Update Center                     Management CLI



      Naming                               Grizzly Framework                                Monitoring/
                        Injection
      Service Config          Deploy
                        Manager
                                            Security           Monitor Configuration
                                                                              Cluster      Serviceability/
                                                                                             Logging

                                          GlassFish V3 Core
    Transaction          Security         (Module Subsystem)
      Service            Service                                        Deployment           Clustering




                                                OSGi
                                                Java SE
                                                                                                             10
GlassFish v3 Runtime with OSGi


  GlassFish V3 modules
   GlassFish V3 modules           Random OSGi Bundle
                                   Random OSGi Bundle
 (OSGi + extra metadata)
  (OSGi + extra metadata)

                            Service        OSGi
                                            OSGi
   HK2 Service layer
   HK2 Service layer        Mapper     Service Layer
                                        Service Layer



               OSGi Bundle management
               OSGi Bundle management



                                                        11
Create an OSGi Bundle – Using Maven

 • Create a Maven project
 • Implement “BundleActivator”
 • Update “pom.xml”
    • Change packaging to “bundle”
    • Add dependencies on OSGI APIs
    • Use “maven-bundle-plugin” to package
 • Build the bundle




http://blogs.sun.com/arungupta/entry/totd_36_deploy_osgi_bundles


                                                                   12
OSGi Bundle Management in GlassFish
• asadmin deploy –type osgi
• “cp” / “rm” glassfish/modules/autostart directory
• telnet localhost 6666
• Apache Felix Web Console
• REST Console bundle
• Perl-based shell (Osgish)




http://blogs.sun.com/arungupta/entry/totd_118_managing_osgi_bundles

                                                                      13
14
Why OSGi in Enterprise Apps ?

• Improved modularity
   • Reusable bundles
   • Dependencies are more visible
   • Better isolation / Cleaner class loading model
   • Better version control
   • Faster deployment cycle
• Better tools for deployment
• Observable bundle life cycle
• Service Tracking
• Criteria-based service selection




                                                      15
Why Java EE in Enterprise Apps ?

• Better API (JPA, JTA, JAXB, JNDI)
• Better component model (Servlet, EJB, JAX-RS)
• Better frameworks (JSF, CDI)
• Ease-of-use (Annotations, Convention-over-configuration)
• Platform provided integrated infrastructure services
   • Transaction, Security, Persistence, Remoting, ...
• Many more reasons ...




                                                         16
Hybrid Applications

“A hybrid application is an OSGi
bundle as well as a Java EE
archive and hence has both an
OSGi bundle context and Java EE c
ontext at runtime and can leverage
capabilities of both the platforms.”


                                   17
Why Hybrid Apps ?




       Best of both worlds!!!
Why do you want to learn new APIs ?




                                 18
Role of GlassFish

• Provides a runtime for Hybrid Applications
• Implements Java EE related OSGi services and
  standards
• Don't have to assemble the bits
• OSGi is no longer under the cover
  • Raises visibility from GlassFish developers to users




                                                           19
Enterprise OSGi API in GlassFish

• OSGi/HTTP Service
• OSGi/Web Application (rfc #66)
• OSGi/EJB
• OSGi/JDBC (rfc #122)
• OSGi/JPA
• OSGi/JTA (rfc #98)




 Work in Progress (in trunk), some of it already in v3.


                                                          20
OSGi/Web Application (rfc #66)

• Web Application Bundle (WAB)
  • WAR + OSGi + Web-ContextPath Header
  • Can use all enterprise APIs include JPA with lazy loading
  • Sample manifest:
    Manifest-Version: 1.0
    Import-Package: javax.servlet.http; javax.persistence
    Bundle-ClassPath: WEB-INF/classes/,WEB-INF/lib/entities.jar
    Bundle-Version: 1.0
    Bundle-ManifestVersion: 2
    Web-ContextPath: /hello
    Bundle-SymbolicName: test.hellowab

• Wrapped WAR Support
  • webbundle: URL scheme


                                                                  21
Hybrid Applications - Demo

 • OSGi services in Java EE
      @Resource(mappedName=”osgiName”)
      SomeOSGiService osgiService;
    • JNDI Lookup
    • Portable, no OSGi dependencies in application
 • Exported APIs visible to Java EE apps




http://blogs.sun.com/arungupta/entry/totd_124_osgi_declarative_services

                                                                     22
Extending GlassFish v3
    Using Spring dm Container


                                           • Simple Spring bean
                                             implementing the
                                             service
                                           • Invoke the service
                                             from a servlet using
                                             standard @Resource
                                             injection
                                           • Single runtime for
                                             both Spring and full
                                             Java EE


http://blogs.sun.com/dochez/entry/glassfish_v3_extensions_part_4   23
Create an OSGi bundle - NetBeans




                                   24
Looking Forward

• GlassFish v3
 •   Support OSGi-Enabled Java EE applications
 •   Implement Java EE-related OSGi services
 •   Expose Java EE services as OSGi services
 •   Improve underlying OSGi framework administration




                                                        25
References

• glassfish.org
• blogs.sun.com/theaquarium
• twitter.com/glassfish
• glassfish@sun.com




                              26
<Insert Picture Here>




OSGi & Java EE in GlassFish
Arun Gupta, Java EE & GlassFish Guy
blogs.sun.com/arungupta, @arungupta

More Related Content

PDF
GlassFish Server 3.1: Deploying your Java EE 6 Applications
PDF
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
PDF
OSGi-enabled Java EE applications in GlassFish
PDF
Boston 2011 OTN Developer Days - GlassFish
PDF
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
PDF
OSGi & Java EE in GlassFish - Best of both worlds
PDF
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
PDF
Java EE 6 Clustering with Glassfish 3.1
GlassFish Server 3.1: Deploying your Java EE 6 Applications
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
OSGi-enabled Java EE applications in GlassFish
Boston 2011 OTN Developer Days - GlassFish
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
OSGi & Java EE in GlassFish - Best of both worlds
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
Java EE 6 Clustering with Glassfish 3.1

What's hot (20)

PDF
GlassFish OSGi Server
PDF
GlassFish v3, OSGi Equinox Felix
PDF
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
PDF
OSGi & Java EE in GlassFish
PPTX
Java Modularity with OSGi
PDF
GlassFish 3.1 at JCertif 2011
PDF
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
PDF
Running your Java EE applications in the Cloud
PPT
Developing modular Java applications
PDF
Glassfish An Introduction
ODP
GlassFish v3 - Architecture
PDF
GlassFish & Java EE Business Update @ CEJUG
PDF
GlassFish v3 Prelude Aquarium Paris
PDF
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application Development
PPTX
Modular Java
PDF
Andrei Niculae - glassfish - 24mai2011
PDF
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
PDF
The State of Java under Oracle at JCertif 2011
PDF
GlassFish Community and future larochelle
PDF
GlassFish OSGi - Java2days 2010
GlassFish OSGi Server
GlassFish v3, OSGi Equinox Felix
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish
Java Modularity with OSGi
GlassFish 3.1 at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
Running your Java EE applications in the Cloud
Developing modular Java applications
Glassfish An Introduction
GlassFish v3 - Architecture
GlassFish & Java EE Business Update @ CEJUG
GlassFish v3 Prelude Aquarium Paris
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application Development
Modular Java
Andrei Niculae - glassfish - 24mai2011
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The State of Java under Oracle at JCertif 2011
GlassFish Community and future larochelle
GlassFish OSGi - Java2days 2010
Ad

Similar to OSGi and Java EE in GlassFish - Tech Days 2010 India (20)

PDF
OSGi-enabled Java EE Applications using GlassFish
PDF
TDC 2011: OSGi-enabled Java EE Application
PDF
Glass Fishv3 March2010
PDF
GlassFish REST Administration Backend
PDF
GlassFish v3 : En Route Java EE 6
PDF
GlassFish v3 at JavaZone 09
PDF
GlassFish REST Administration Backend at JavaOne India 2012
PDF
Java onebrazil hk2
PDF
20100907 fuse-community-evening-adrian-trenaman-no-logo
PDF
Gfp Launch Sailfin Whatis Sreeram
PDF
Glassfish Overview 29 Oktober 2009
PDF
Java EE 6 & GlassFish v3: Paving the path for the future - Spark IT 2010
PDF
Karaf ee-apachecon eu-2012
PDF
Glassfish V2.1 Harpreet Singh
PDF
Whats Cool in Java E 6
PDF
OTN Developer Days - GlassFish
PDF
Understanding the nuts & bolts of Java EE 6
PDF
Java EE 6 & GlassFish v3: Paving the path for the future - Tech Days 2010 India
PDF
OSGI in Java EE servers:Sneak peak
PDF
JFokus 2011 - Running your Java EE 6 apps in the Cloud
OSGi-enabled Java EE Applications using GlassFish
TDC 2011: OSGi-enabled Java EE Application
Glass Fishv3 March2010
GlassFish REST Administration Backend
GlassFish v3 : En Route Java EE 6
GlassFish v3 at JavaZone 09
GlassFish REST Administration Backend at JavaOne India 2012
Java onebrazil hk2
20100907 fuse-community-evening-adrian-trenaman-no-logo
Gfp Launch Sailfin Whatis Sreeram
Glassfish Overview 29 Oktober 2009
Java EE 6 & GlassFish v3: Paving the path for the future - Spark IT 2010
Karaf ee-apachecon eu-2012
Glassfish V2.1 Harpreet Singh
Whats Cool in Java E 6
OTN Developer Days - GlassFish
Understanding the nuts & bolts of Java EE 6
Java EE 6 & GlassFish v3: Paving the path for the future - Tech Days 2010 India
OSGI in Java EE servers:Sneak peak
JFokus 2011 - Running your Java EE 6 apps in the Cloud
Ad

More from Arun Gupta (20)

PDF
5 Skills To Force Multiply Technical Talents.pdf
PPTX
Machine Learning using Kubernetes - AI Conclave 2019
PDF
Machine Learning using Kubeflow and Kubernetes
PPTX
Secure and Fast microVM for Serverless Computing using Firecracker
PPTX
Building Java in the Open - j.Day at OSCON 2019
PPTX
Why Amazon Cares about Open Source
PDF
Machine learning using Kubernetes
PDF
Building Cloud Native Applications
PDF
Chaos Engineering with Kubernetes
PDF
How to be a mentor to bring more girls to STEAM
PDF
Java in a World of Containers - DockerCon 2018
PPTX
The Serverless Tidal Wave - SwampUP 2018 Keynote
PDF
Introduction to Amazon EKS - KubeCon 2018
PDF
Mastering Kubernetes on AWS - Tel Aviv Summit
PDF
Top 10 Technology Trends Changing Developer's Landscape
PDF
Container Landscape in 2017
PDF
Java EE and NoSQL using JBoss EAP 7 and OpenShift
PDF
Docker, Kubernetes, and Mesos recipes for Java developers
PDF
Thanks Managers!
PDF
Migrate your traditional VM-based Clusters to Containers
5 Skills To Force Multiply Technical Talents.pdf
Machine Learning using Kubernetes - AI Conclave 2019
Machine Learning using Kubeflow and Kubernetes
Secure and Fast microVM for Serverless Computing using Firecracker
Building Java in the Open - j.Day at OSCON 2019
Why Amazon Cares about Open Source
Machine learning using Kubernetes
Building Cloud Native Applications
Chaos Engineering with Kubernetes
How to be a mentor to bring more girls to STEAM
Java in a World of Containers - DockerCon 2018
The Serverless Tidal Wave - SwampUP 2018 Keynote
Introduction to Amazon EKS - KubeCon 2018
Mastering Kubernetes on AWS - Tel Aviv Summit
Top 10 Technology Trends Changing Developer's Landscape
Container Landscape in 2017
Java EE and NoSQL using JBoss EAP 7 and OpenShift
Docker, Kubernetes, and Mesos recipes for Java developers
Thanks Managers!
Migrate your traditional VM-based Clusters to Containers

Recently uploaded (20)

PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Electronic commerce courselecture one. Pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Approach and Philosophy of On baking technology
Building Integrated photovoltaic BIPV_UPV.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
20250228 LYD VKU AI Blended-Learning.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Dropbox Q2 2025 Financial Results & Investor Presentation
Electronic commerce courselecture one. Pdf
The AUB Centre for AI in Media Proposal.docx
NewMind AI Monthly Chronicles - July 2025
MYSQL Presentation for SQL database connectivity
Mobile App Security Testing_ A Comprehensive Guide.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Unlocking AI with Model Context Protocol (MCP)
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Understanding_Digital_Forensics_Presentation.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Machine learning based COVID-19 study performance prediction
Approach and Philosophy of On baking technology

OSGi and Java EE in GlassFish - Tech Days 2010 India

  • 1. <Insert Picture Here> OSGi & Java EE in GlassFish Arun Gupta, Java EE & GlassFish Guy blogs.sun.com/arungupta, @arungupta
  • 2. The following/preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 2
  • 3. Are you tweeting ? #glassfish #techdays 3
  • 4. The OSGi Alliance is a worldwide consortium of technology innovators that advances a proven and mature process to assure interoperability of applications and services based on its component integration platform. 4
  • 5. OSGi Alliance provides ... • Specifications • Reference Implementation • Test Suites • Certifications 5
  • 6. What is OSGi ? • Specification delivered by OSGi Alliance • Originally for embedded devices and networks • Architecture for modular application development in Java • Reduces the cost of building, maintaining, and deploying applications 6
  • 7. What is OSGi ? • OSGi “container” breaks application into “modules” or “bundles” • Felix, Equinox, Knopflerfish • Dependencies between each bundle are managed • Can install, uninstall, start, and stop each bundle dynamically without restarting container • Multiple versions of a bundle are supported 7
  • 8. GlassFish v3 & OSGi • No OSGi APIs are used in GlassFish • HK2 provides abstraction layer • All GlassFish modules are OSGi bundles • Felix is default, also runs on Knopflerfish & Equinox • Can run in an existing shell • 216 modules in v3 http://blogs.sun.com/arungupta/entry/totd_103_glassfish_v3_with 8
  • 9. Benefits of OSGi for GlassFish • Demands and enforces stronger modularity • Enables custom tailored App server • Lazy loading based on usage patterns • Open for all JVM based technologies • Native deployment of JRuby-on-Rails application • Successfully maintained quick startup • Available to GlassFish developers and users 9
  • 10. GlassFish: The next generation platform REST OpenMQ WebSpace Server Scripting OpenESB OpenSSO Web Services JMS Portal Web Connection Java Web Services JSF EJB Container Application Container Container Pooling (JCA) Persistence Interop Management Console Update Center Management CLI Naming Grizzly Framework Monitoring/ Injection Service Config Deploy Manager Security Monitor Configuration Cluster Serviceability/ Logging GlassFish V3 Core Transaction Security (Module Subsystem) Service Service Deployment Clustering OSGi Java SE 10
  • 11. GlassFish v3 Runtime with OSGi GlassFish V3 modules GlassFish V3 modules Random OSGi Bundle Random OSGi Bundle (OSGi + extra metadata) (OSGi + extra metadata) Service OSGi OSGi HK2 Service layer HK2 Service layer Mapper Service Layer Service Layer OSGi Bundle management OSGi Bundle management 11
  • 12. Create an OSGi Bundle – Using Maven • Create a Maven project • Implement “BundleActivator” • Update “pom.xml” • Change packaging to “bundle” • Add dependencies on OSGI APIs • Use “maven-bundle-plugin” to package • Build the bundle http://blogs.sun.com/arungupta/entry/totd_36_deploy_osgi_bundles 12
  • 13. OSGi Bundle Management in GlassFish • asadmin deploy –type osgi • “cp” / “rm” glassfish/modules/autostart directory • telnet localhost 6666 • Apache Felix Web Console • REST Console bundle • Perl-based shell (Osgish) http://blogs.sun.com/arungupta/entry/totd_118_managing_osgi_bundles 13
  • 14. 14
  • 15. Why OSGi in Enterprise Apps ? • Improved modularity • Reusable bundles • Dependencies are more visible • Better isolation / Cleaner class loading model • Better version control • Faster deployment cycle • Better tools for deployment • Observable bundle life cycle • Service Tracking • Criteria-based service selection 15
  • 16. Why Java EE in Enterprise Apps ? • Better API (JPA, JTA, JAXB, JNDI) • Better component model (Servlet, EJB, JAX-RS) • Better frameworks (JSF, CDI) • Ease-of-use (Annotations, Convention-over-configuration) • Platform provided integrated infrastructure services • Transaction, Security, Persistence, Remoting, ... • Many more reasons ... 16
  • 17. Hybrid Applications “A hybrid application is an OSGi bundle as well as a Java EE archive and hence has both an OSGi bundle context and Java EE c ontext at runtime and can leverage capabilities of both the platforms.” 17
  • 18. Why Hybrid Apps ? Best of both worlds!!! Why do you want to learn new APIs ? 18
  • 19. Role of GlassFish • Provides a runtime for Hybrid Applications • Implements Java EE related OSGi services and standards • Don't have to assemble the bits • OSGi is no longer under the cover • Raises visibility from GlassFish developers to users 19
  • 20. Enterprise OSGi API in GlassFish • OSGi/HTTP Service • OSGi/Web Application (rfc #66) • OSGi/EJB • OSGi/JDBC (rfc #122) • OSGi/JPA • OSGi/JTA (rfc #98) Work in Progress (in trunk), some of it already in v3. 20
  • 21. OSGi/Web Application (rfc #66) • Web Application Bundle (WAB) • WAR + OSGi + Web-ContextPath Header • Can use all enterprise APIs include JPA with lazy loading • Sample manifest: Manifest-Version: 1.0 Import-Package: javax.servlet.http; javax.persistence Bundle-ClassPath: WEB-INF/classes/,WEB-INF/lib/entities.jar Bundle-Version: 1.0 Bundle-ManifestVersion: 2 Web-ContextPath: /hello Bundle-SymbolicName: test.hellowab • Wrapped WAR Support • webbundle: URL scheme 21
  • 22. Hybrid Applications - Demo • OSGi services in Java EE @Resource(mappedName=”osgiName”) SomeOSGiService osgiService; • JNDI Lookup • Portable, no OSGi dependencies in application • Exported APIs visible to Java EE apps http://blogs.sun.com/arungupta/entry/totd_124_osgi_declarative_services 22
  • 23. Extending GlassFish v3 Using Spring dm Container • Simple Spring bean implementing the service • Invoke the service from a servlet using standard @Resource injection • Single runtime for both Spring and full Java EE http://blogs.sun.com/dochez/entry/glassfish_v3_extensions_part_4 23
  • 24. Create an OSGi bundle - NetBeans 24
  • 25. Looking Forward • GlassFish v3 • Support OSGi-Enabled Java EE applications • Implement Java EE-related OSGi services • Expose Java EE services as OSGi services • Improve underlying OSGi framework administration 25
  • 26. References • glassfish.org • blogs.sun.com/theaquarium • twitter.com/glassfish • glassfish@sun.com 26
  • 27. <Insert Picture Here> OSGi & Java EE in GlassFish Arun Gupta, Java EE & GlassFish Guy blogs.sun.com/arungupta, @arungupta