SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
GlassFish V3 & OSGi

 Jerome Dochez and Ludovic Champenois
●


 GlassFish team
●Sun Microsystems, Inc.




                                        1
Introduction
 • GlassFish, an Open Source application server
   built on and with Open Source components :
   > Maven 2
      – build system
      – module description
   > Felix
      – OSGi module management
   > Eclipse Link
      – Java Persistence Architecture implementation
 • V3 is the third open source release of GlassFish

                                                       2
What's new in V3
 • Modularity
   > platform growth
   > choice of technologies rapidly evolving
   > based on industry standard OSGi runtime
 • Extensible and Embeddable
   > not limited to traditional Java EE containers
   > can run in any java or native host process
 • Service based architecture
   > services are defined by contracts and can be easily
     substituted
   > lazy loading based on usage patterns
                                                           3
Modularity in V3
• Modules are great but let's face it, they do nothing just
  being modules !
  > A good service based architecture is what you need.
• V3 innovation :
  > One of the few OSGi enabled application that is completely portable to
    any OSGi R4 compliant runtime
  > allow any type of container to be plugged in.
  > start all containers and services on demand yielding an unmatched
    startup time for a Java EE server.
  > focus on developer (keeping the already numerous deployer's
    features).


                                                                             4
Modularity
 • Kernel
   > startup/shutdown sequences
   > basic services (deployment)
   > configuration reading
 • Services
   > Cross containers functionalities
      – Security, Naming Manager...
      – Admin Console
 • Containers
   > handle user's applications
   > independent of each others
                                        5
OSGi R4 Runtime

                                               S
                                    Services
                                               e
                                               c
     Applications
                               Life Cycle      u
      (Bundles)
                                               r
                                               i
                           Module
                                               t
                                               y
                         JDK

                    OS + Hardware
                                                   6
HK2 Module Management Runtime


                                    Services
     Applications
                               Life Cycle
      (Bundles)
                           Module
                      Bundles Repository

                         JDK

                    OS + Hardware
                                               7
HK2 and OSGi
• Use OSGi as the underlying module management
  > capable of consuming any OSGi modules
  > all GlassFish V3 modules are OSGi modules
• HK2 Provides runtime services on top of OSGi :
      Repository management
  >
      Isolation from OSGi APIs or implementation
  >
      Services definition and lookup
  >
      MBeans support
  >
      Configuration facilities
  >
• HK2 is a separate Open Source project

                                                   8
Module Management
                4. return class loader


1. loadModule
                     HK2 Services

                                                OSGi
                      2.Get        3.Install   Runtime


            Repository
             Repository
               Repository

                                                         9
Services
• GlassFish V3 use extensively Services to identify
  extension points like :
  > Application Containers (like Web-App, Jruby, Spring)
  > Administrative Commands
• Services are :
  > implementing an interface
     – Java SE style with a META-INF/services file
     – OSGi style
     – HK2
• Can be stateless or statefull


                                                           10
GlassFish V3 Runtime with OSGi

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


                              Service            OSGi
    HK2 Service layer         Mapper         Service Layer




                   OSGi Bundle management


                                                             11
HK2 Service

 • Interfaces are declared with @Contract
 • Implementations are declared with @Service
 • Build system will generate Metadata
   automatically
@Contract
public interface Startup {...}


@Service
public class ConfigService implements Startup
{
... }
                                                12
Runtime
• Kernel
  > startup/shutdown sequences
  > basic services (deployment)
  > configuration reading
• Services
  > Cross containers functionalities
     – Security, Naming Manager...
     – Admin Console
• Containers
  > handle user's applications
  > independent of each others

                                       13
Runtime

                                             Security      Config
                JRuby/Rails

                 Web                          Naming      Injection

                      dispatch

                                 GlassFish Kernel

browser
                                                                requests
                     Grizzly
                                        HK2 Services
                                           OSGi Runtime
          Bundles repositories                                  services
                                                                           14
OnDemand and Extensible
• Pay As you Go
  > containers are started when applications are deployed to
    them
  > startup time is under 2 seconds
• Extensible
  > Containers (scripting containers)
  > Administration
     – Admin Commands
     – Configuration
     – Admin GUI through plugin


                                                               15
GlassFish containers
• Basic Functionalities
  > handles certain application types
  > started and stopped on demand
• Optional features
  > Configuration services (so all containers configuration can be
    centrally managed)
  > administration commands
  > administration console plugins




                                                                     16
Container Pluggability
                                                Console user
domain.xml
                     Central Config
                                           Admin Console
                                      C
         Container                    o
                                              GUI Parts
         Runtime                      n
                                      f
      Grizzly Adapter                 i
                                          Admin commands
                                      g

                                 Kernel

       client/browser                     admin invocation
                                                               17
OSGi integration
• Module management
  > Add, remove, update installed modules
• OSGi as a container !
  > Treat OSGi just like the web container, bundles are
    deployed to it.
• Converged Applications
  > Started investigating Java EE 6 + OSGi converged
    applications :
     – Dependencies in OSGi
     – Lifecycle still governed by Java EE.


                                                          18

Contenu connexe

Tendances

OSGi and Java EE: A Hybrid Approach to Enterprise Java Application Development
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application DevelopmentOSGi and Java EE: A Hybrid Approach to Enterprise Java Application Development
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application DevelopmentSanjeeb Sahoo
 
OSGi in 5 minutes
OSGi in 5 minutesOSGi in 5 minutes
OSGi in 5 minutesSerge Huber
 
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011Arun Gupta
 
Running your Java EE applications in the Cloud
Running your Java EE applications in the CloudRunning your Java EE applications in the Cloud
Running your Java EE applications in the CloudArun Gupta
 
Java Modularity with OSGi
Java Modularity with OSGiJava Modularity with OSGi
Java Modularity with OSGiIlya Rybak
 
GlassFish Server 3.1: Deploying your Java EE 6 Applications
GlassFish Server 3.1: Deploying your Java EE 6 ApplicationsGlassFish Server 3.1: Deploying your Java EE 6 Applications
GlassFish Server 3.1: Deploying your Java EE 6 ApplicationsArun Gupta
 
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011Arun Gupta
 
Modular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafModular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafIoan Eugen Stan
 
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...Arun Gupta
 
Boston 2011 OTN Developer Days - GlassFish
Boston 2011 OTN Developer Days - GlassFishBoston 2011 OTN Developer Days - GlassFish
Boston 2011 OTN Developer Days - GlassFishArun Gupta
 
Java EE 6 Clustering with Glassfish 3.1
Java EE 6 Clustering with Glassfish 3.1 Java EE 6 Clustering with Glassfish 3.1
Java EE 6 Clustering with Glassfish 3.1 Shreedhar Ganapathy
 

Tendances (20)

OSGi Blueprint Services
OSGi Blueprint ServicesOSGi Blueprint Services
OSGi Blueprint Services
 
GlassFish Article September 07
GlassFish Article September 07GlassFish Article September 07
GlassFish Article September 07
 
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application Development
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application DevelopmentOSGi and Java EE: A Hybrid Approach to Enterprise Java Application Development
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application Development
 
Java EE 6
Java EE 6Java EE 6
Java EE 6
 
OSGi in 5 minutes
OSGi in 5 minutesOSGi in 5 minutes
OSGi in 5 minutes
 
Web Space10 Overview
Web Space10 OverviewWeb Space10 Overview
Web Space10 Overview
 
Java EE 6 Aquarium Paris
Java EE 6 Aquarium ParisJava EE 6 Aquarium Paris
Java EE 6 Aquarium Paris
 
GlassFish v3 Prelude Aquarium Paris
GlassFish v3 Prelude Aquarium ParisGlassFish v3 Prelude Aquarium Paris
GlassFish v3 Prelude Aquarium Paris
 
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
 
Running your Java EE applications in the Cloud
Running your Java EE applications in the CloudRunning your Java EE applications in the Cloud
Running your Java EE applications in the Cloud
 
Intro To OSGi
Intro To OSGiIntro To OSGi
Intro To OSGi
 
Java Modularity with OSGi
Java Modularity with OSGiJava Modularity with OSGi
Java Modularity with OSGi
 
GlassFish Server 3.1: Deploying your Java EE 6 Applications
GlassFish Server 3.1: Deploying your Java EE 6 ApplicationsGlassFish Server 3.1: Deploying your Java EE 6 Applications
GlassFish Server 3.1: Deploying your Java EE 6 Applications
 
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
 
Intro to OSGi
Intro to OSGiIntro to OSGi
Intro to OSGi
 
Modular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafModular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache Karaf
 
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
 
Glassfish V2.1 Harpreet Singh
Glassfish V2.1 Harpreet SinghGlassfish V2.1 Harpreet Singh
Glassfish V2.1 Harpreet Singh
 
Boston 2011 OTN Developer Days - GlassFish
Boston 2011 OTN Developer Days - GlassFishBoston 2011 OTN Developer Days - GlassFish
Boston 2011 OTN Developer Days - GlassFish
 
Java EE 6 Clustering with Glassfish 3.1
Java EE 6 Clustering with Glassfish 3.1 Java EE 6 Clustering with Glassfish 3.1
Java EE 6 Clustering with Glassfish 3.1
 

En vedette

Ad Tech 2011 - In Store Digital Leadership
Ad Tech 2011 - In Store Digital LeadershipAd Tech 2011 - In Store Digital Leadership
Ad Tech 2011 - In Store Digital LeadershipBrad Locke
 
Abusive Training Certificate 3 18 2014
Abusive Training Certificate 3 18 2014Abusive Training Certificate 3 18 2014
Abusive Training Certificate 3 18 2014colleenmcg
 
How To Make A Great Pbj
How To Make A Great PbjHow To Make A Great Pbj
How To Make A Great Pbjguest861d7
 
Java EE 6, Eclipse, GlassFish @EclipseCon 2010
Java EE 6, Eclipse, GlassFish @EclipseCon 2010Java EE 6, Eclipse, GlassFish @EclipseCon 2010
Java EE 6, Eclipse, GlassFish @EclipseCon 2010Ludovic Champenois
 
GlassFish Tool Bundle for Eclipse
GlassFish Tool Bundle for EclipseGlassFish Tool Bundle for Eclipse
GlassFish Tool Bundle for EclipseLudovic Champenois
 
JAX-RS Creating RESTFul services
JAX-RS Creating RESTFul servicesJAX-RS Creating RESTFul services
JAX-RS Creating RESTFul servicesLudovic Champenois
 

En vedette (8)

Ad Tech 2011 - In Store Digital Leadership
Ad Tech 2011 - In Store Digital LeadershipAd Tech 2011 - In Store Digital Leadership
Ad Tech 2011 - In Store Digital Leadership
 
S313431 JPA 2.0 Overview
S313431 JPA 2.0 OverviewS313431 JPA 2.0 Overview
S313431 JPA 2.0 Overview
 
Abusive Training Certificate 3 18 2014
Abusive Training Certificate 3 18 2014Abusive Training Certificate 3 18 2014
Abusive Training Certificate 3 18 2014
 
How To Make A Great Pbj
How To Make A Great PbjHow To Make A Great Pbj
How To Make A Great Pbj
 
Java EE 6, Eclipse, GlassFish @EclipseCon 2010
Java EE 6, Eclipse, GlassFish @EclipseCon 2010Java EE 6, Eclipse, GlassFish @EclipseCon 2010
Java EE 6, Eclipse, GlassFish @EclipseCon 2010
 
GlassFish Tool Bundle for Eclipse
GlassFish Tool Bundle for EclipseGlassFish Tool Bundle for Eclipse
GlassFish Tool Bundle for Eclipse
 
JavaEE 6 tools coverage
JavaEE 6 tools coverageJavaEE 6 tools coverage
JavaEE 6 tools coverage
 
JAX-RS Creating RESTFul services
JAX-RS Creating RESTFul servicesJAX-RS Creating RESTFul services
JAX-RS Creating RESTFul services
 

Similaire à GlassFish v3, OSGi Equinox Felix

OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius SchumacherOSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius SchumacherNETWAYS
 
OSGi-enabled Java EE Applications using GlassFish
OSGi-enabled Java EE Applications using GlassFishOSGi-enabled Java EE Applications using GlassFish
OSGi-enabled Java EE Applications using GlassFishArun Gupta
 
Ultimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on KubernetesUltimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on Kuberneteskloia
 
Digdag Updates 2020 July
Digdag Updates 2020 JulyDigdag Updates 2020 July
Digdag Updates 2020 JulyYou Yamagata
 
Domino OSGi Development
Domino OSGi DevelopmentDomino OSGi Development
Domino OSGi DevelopmentPaul Fiore
 
Ext GWT - Overview and Implementation Case Study
Ext GWT - Overview and Implementation Case StudyExt GWT - Overview and Implementation Case Study
Ext GWT - Overview and Implementation Case StudyAvi Perez
 
Saint2012 mod process security
Saint2012 mod process securitySaint2012 mod process security
Saint2012 mod process securityRyosuke MATSUMOTO
 
GR8Conf 2011: Adopting Grails
GR8Conf 2011: Adopting GrailsGR8Conf 2011: Adopting Grails
GR8Conf 2011: Adopting GrailsGR8Conf
 
Adopting Grails - GR8Conf Europe
Adopting Grails - GR8Conf EuropeAdopting Grails - GR8Conf Europe
Adopting Grails - GR8Conf EuropeKlausBaumecker
 
How to deploy a Java application on Google App engine Flexible environment
How to deploy a Java application on Google App engine Flexible environmentHow to deploy a Java application on Google App engine Flexible environment
How to deploy a Java application on Google App engine Flexible environmentMichelantonio Trizio
 
OSGi DevCon 2009 Review
OSGi DevCon 2009 ReviewOSGi DevCon 2009 Review
OSGi DevCon 2009 Reviewnjbartlett
 
ArgoCD Meetup PPT final.pdf
ArgoCD Meetup PPT final.pdfArgoCD Meetup PPT final.pdf
ArgoCD Meetup PPT final.pdfamanmakwana3
 
Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2JooinK
 

Similaire à GlassFish v3, OSGi Equinox Felix (20)

Glass Fish Portfolio Web Server Cvr
Glass Fish Portfolio Web Server CvrGlass Fish Portfolio Web Server Cvr
Glass Fish Portfolio Web Server Cvr
 
GlassFish v3 - Architecture
GlassFish v3 - ArchitectureGlassFish v3 - Architecture
GlassFish v3 - Architecture
 
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius SchumacherOSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
 
Java onebrazil hk2
Java onebrazil hk2Java onebrazil hk2
Java onebrazil hk2
 
OSGi-enabled Java EE Applications using GlassFish
OSGi-enabled Java EE Applications using GlassFishOSGi-enabled Java EE Applications using GlassFish
OSGi-enabled Java EE Applications using GlassFish
 
Ultimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on KubernetesUltimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on Kubernetes
 
Fuji Overview
Fuji OverviewFuji Overview
Fuji Overview
 
Digdag Updates 2020 July
Digdag Updates 2020 JulyDigdag Updates 2020 July
Digdag Updates 2020 July
 
Grizzly 20080925 V2
Grizzly 20080925 V2Grizzly 20080925 V2
Grizzly 20080925 V2
 
Domino OSGi Development
Domino OSGi DevelopmentDomino OSGi Development
Domino OSGi Development
 
Java modularity: life after Java 9
Java modularity: life after Java 9Java modularity: life after Java 9
Java modularity: life after Java 9
 
GlassFish v3 : En Route Java EE 6
GlassFish v3 : En Route Java EE 6GlassFish v3 : En Route Java EE 6
GlassFish v3 : En Route Java EE 6
 
Ext GWT - Overview and Implementation Case Study
Ext GWT - Overview and Implementation Case StudyExt GWT - Overview and Implementation Case Study
Ext GWT - Overview and Implementation Case Study
 
Saint2012 mod process security
Saint2012 mod process securitySaint2012 mod process security
Saint2012 mod process security
 
GR8Conf 2011: Adopting Grails
GR8Conf 2011: Adopting GrailsGR8Conf 2011: Adopting Grails
GR8Conf 2011: Adopting Grails
 
Adopting Grails - GR8Conf Europe
Adopting Grails - GR8Conf EuropeAdopting Grails - GR8Conf Europe
Adopting Grails - GR8Conf Europe
 
How to deploy a Java application on Google App engine Flexible environment
How to deploy a Java application on Google App engine Flexible environmentHow to deploy a Java application on Google App engine Flexible environment
How to deploy a Java application on Google App engine Flexible environment
 
OSGi DevCon 2009 Review
OSGi DevCon 2009 ReviewOSGi DevCon 2009 Review
OSGi DevCon 2009 Review
 
ArgoCD Meetup PPT final.pdf
ArgoCD Meetup PPT final.pdfArgoCD Meetup PPT final.pdf
ArgoCD Meetup PPT final.pdf
 
Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2
 

Dernier

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Dernier (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

GlassFish v3, OSGi Equinox Felix

  • 1. GlassFish V3 & OSGi Jerome Dochez and Ludovic Champenois ● GlassFish team ●Sun Microsystems, Inc. 1
  • 2. Introduction • GlassFish, an Open Source application server built on and with Open Source components : > Maven 2 – build system – module description > Felix – OSGi module management > Eclipse Link – Java Persistence Architecture implementation • V3 is the third open source release of GlassFish 2
  • 3. What's new in V3 • Modularity > platform growth > choice of technologies rapidly evolving > based on industry standard OSGi runtime • Extensible and Embeddable > not limited to traditional Java EE containers > can run in any java or native host process • Service based architecture > services are defined by contracts and can be easily substituted > lazy loading based on usage patterns 3
  • 4. Modularity in V3 • Modules are great but let's face it, they do nothing just being modules ! > A good service based architecture is what you need. • V3 innovation : > One of the few OSGi enabled application that is completely portable to any OSGi R4 compliant runtime > allow any type of container to be plugged in. > start all containers and services on demand yielding an unmatched startup time for a Java EE server. > focus on developer (keeping the already numerous deployer's features). 4
  • 5. Modularity • Kernel > startup/shutdown sequences > basic services (deployment) > configuration reading • Services > Cross containers functionalities – Security, Naming Manager... – Admin Console • Containers > handle user's applications > independent of each others 5
  • 6. OSGi R4 Runtime S Services e c Applications Life Cycle u (Bundles) r i Module t y JDK OS + Hardware 6
  • 7. HK2 Module Management Runtime Services Applications Life Cycle (Bundles) Module Bundles Repository JDK OS + Hardware 7
  • 8. HK2 and OSGi • Use OSGi as the underlying module management > capable of consuming any OSGi modules > all GlassFish V3 modules are OSGi modules • HK2 Provides runtime services on top of OSGi : Repository management > Isolation from OSGi APIs or implementation > Services definition and lookup > MBeans support > Configuration facilities > • HK2 is a separate Open Source project 8
  • 9. Module Management 4. return class loader 1. loadModule HK2 Services OSGi 2.Get 3.Install Runtime Repository Repository Repository 9
  • 10. Services • GlassFish V3 use extensively Services to identify extension points like : > Application Containers (like Web-App, Jruby, Spring) > Administrative Commands • Services are : > implementing an interface – Java SE style with a META-INF/services file – OSGi style – HK2 • Can be stateless or statefull 10
  • 11. GlassFish V3 Runtime with OSGi GlassFish V3 modules Random OSGi Bundle (OSGi + extra metadata) Service OSGi HK2 Service layer Mapper Service Layer OSGi Bundle management 11
  • 12. HK2 Service • Interfaces are declared with @Contract • Implementations are declared with @Service • Build system will generate Metadata automatically @Contract public interface Startup {...} @Service public class ConfigService implements Startup { ... } 12
  • 13. Runtime • Kernel > startup/shutdown sequences > basic services (deployment) > configuration reading • Services > Cross containers functionalities – Security, Naming Manager... – Admin Console • Containers > handle user's applications > independent of each others 13
  • 14. Runtime Security Config JRuby/Rails Web Naming Injection dispatch GlassFish Kernel browser requests Grizzly HK2 Services OSGi Runtime Bundles repositories services 14
  • 15. OnDemand and Extensible • Pay As you Go > containers are started when applications are deployed to them > startup time is under 2 seconds • Extensible > Containers (scripting containers) > Administration – Admin Commands – Configuration – Admin GUI through plugin 15
  • 16. GlassFish containers • Basic Functionalities > handles certain application types > started and stopped on demand • Optional features > Configuration services (so all containers configuration can be centrally managed) > administration commands > administration console plugins 16
  • 17. Container Pluggability Console user domain.xml Central Config Admin Console C Container o GUI Parts Runtime n f Grizzly Adapter i Admin commands g Kernel client/browser admin invocation 17
  • 18. OSGi integration • Module management > Add, remove, update installed modules • OSGi as a container ! > Treat OSGi just like the web container, bundles are deployed to it. • Converged Applications > Started investigating Java EE 6 + OSGi converged applications : – Dependencies in OSGi – Lifecycle still governed by Java EE. 18