Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Infusion of OSGi
Technology into a J2EE
Application Server
Mikael Desertot, Didier DonsezMikael Desertot, Didier Donsez
Co...
OutlineOutline
•• ContextContext
•• J2EE application server overviewJ2EE application server overview
•• Dynamism in J2EE a...
ContextContext
•• IMAG LSR Laboratory, Adele team,IMAG LSR Laboratory, Adele team, GrenobleGrenoble
–– JOnAS and Oscar con...
J2EE Application ServerJ2EE Application Server
•• A JavaA Java--based set of specifications targeting businessbased set of...
What Is And Is Not AddressedWhat Is And Is Not Addressed
•• Two levels inside the serverTwo levels inside the server
–– Ap...
Different Ways Of Introducing DynamismDifferent Ways Of Introducing Dynamism
•• The way dynamism is treated for technical ...
JOnAS Current ArchitectureJOnAS Current Architecture
JOnAS J2EE Server
Services
Security
EJB
EAR
Appli1.ear
EJB Container
...
Current Class Loader ArchitectureCurrent Class Loader Architecture
System
Tool
Common
Tomcat
Application
EJB
WAR
Class Loa...
Motivation : JOnAS OnMotivation : JOnAS On--DemandDemand
•• Dynamic server configuration and reconfigurationDynamic server...
How ToHow To
•• Idea :Idea :
–– Use OSGi, a standard dynamic platformUse OSGi, a standard dynamic platform
•• Package serv...
Towards A New JOnAS ArchitectureTowards A New JOnAS Architecture
JOnAS
+ Technical
J2EE
Services
•• Current stateCurrent s...
Dynamic
Deployment
Towards A New JOnAS Architecture V1Towards A New JOnAS Architecture V1
OSGi framework / Oscar
Applicati...
Towards A New JOnAS Architecture V2Towards A New JOnAS Architecture V2
…
Appli.
Service
Database
Transact.
etc
Web
Service...
ExperimentationExperimentation
•• Architecture implemented with JOnAS and OscarArchitecture implemented with JOnAS and Osc...
Particular Improvements Brought By OSGiParticular Improvements Brought By OSGi
•• A dynamic service oriented architecture ...
ConclusionConclusion
•• OSGi can be very interesting on the server side :OSGi can be very interesting on the server side :...
Thank YouThank You
Q & A
Infusion of OSGi Technology into a J2EE Application Server - Mikaël Desertot & Didier Donsez, University of Grenoble
Upcoming SlideShare
Loading in …5
×

Infusion of OSGi Technology into a J2EE Application Server - Mikaël Desertot & Didier Donsez, University of Grenoble

315 views

Published on

OSGi World Congress 2005 - Developer Forum Day 1

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Infusion of OSGi Technology into a J2EE Application Server - Mikaël Desertot & Didier Donsez, University of Grenoble

  1. 1. Infusion of OSGi Technology into a J2EE Application Server Mikael Desertot, Didier DonsezMikael Desertot, Didier Donsez Contact :Contact : mikael.desertot@imag.frmikael.desertot@imag.fr
  2. 2. OutlineOutline •• ContextContext •• J2EE application server overviewJ2EE application server overview •• Dynamism in J2EE application serversDynamism in J2EE application servers •• The ObjectWeb JOnAS caseThe ObjectWeb JOnAS case •• Motivation for introducing dynamism into J2EEMotivation for introducing dynamism into J2EE •• New JOnAS OSGiNew JOnAS OSGi--based architecturebased architecture •• ImprovementsImprovements •• ConclusionConclusion
  3. 3. ContextContext •• IMAG LSR Laboratory, Adele team,IMAG LSR Laboratory, Adele team, GrenobleGrenoble –– JOnAS and Oscar contributorJOnAS and Oscar contributor •• Bull, an international French companyBull, an international French company –– JOnAS contributor and leaderJOnAS contributor and leader •• Members of ObjectMembers of ObjectWebWeb –– 1rst International consortium for1rst International consortium for Open Source MiddlewareOpen Source Middleware –– CoCo--foundedfounded 2002 by Bull,2002 by Bull, FranceFrance TelecomTelecom R&DR&D andand INRIA;INRIA; –– NonNon--profit, open, businessprofit, open, business neutralneutral –– IndustryIndustry--grade projectsgrade projects –– 6060 corporatecorporate membersmembers inclincl. 10. 10 researchresearch labslabs –– 17001700 individualindividual membersmembers fromfrom 80 countries80 countries –– 130,000130,000 visitorsvisitors//monthsmonths, 40% EU, 40% N.A, 40% EU, 40% N.A –– 100100 projectsprojects, 470, 470 committerscommitters,, 5,7005,700 contributorscontributors
  4. 4. J2EE Application ServerJ2EE Application Server •• A JavaA Java--based set of specifications targeting businessbased set of specifications targeting business applicationsapplications –– A standard for developing componentA standard for developing component--based multibased multi--tier enterprise applicationstier enterprise applications –– Facilitate and standardize the development, deployment, and asseFacilitate and standardize the development, deployment, and assembling ofmbling of application componentsapplication components Presentation Layer Business Logic DB Message Driven Bean Entity Bean Session Bean Servlets JSPs Enterprise Information System Clients
  5. 5. What Is And Is Not AddressedWhat Is And Is Not Addressed •• Two levels inside the serverTwo levels inside the server –– Application levelApplication level –– Technical (nonTechnical (non--functional) services levelfunctional) services level •• Security, Transaction, Persistence, Messaging,Security, Transaction, Persistence, Messaging, …… •• Application level is dynamicApplication level is dynamic –– Hot deployment (install, update and uninstall)Hot deployment (install, update and uninstall) of J2EE applications at runtimeof J2EE applications at runtime –– JSR 88 : J2EE Application DeploymentJSR 88 : J2EE Application Deployment •• Nothing is specified for technical servicesNothing is specified for technical services
  6. 6. Different Ways Of Introducing DynamismDifferent Ways Of Introducing Dynamism •• The way dynamism is treated for technical servicesThe way dynamism is treated for technical services is implementation dependentis implementation dependent •• How is it treated in open sources implementationsHow is it treated in open sources implementations –– JBossJBoss casecase •• Based on JMXBased on JMX •• Dynamic classloading with JMXDynamic classloading with JMX classloaderclassloader –– Geronimo caseGeronimo case •• Applications and services are components calledApplications and services are components called GBeansGBeans •• Uses Inversion of Control (Uses Inversion of Control (IoCIoC) design pattern) design pattern
  7. 7. JOnAS Current ArchitectureJOnAS Current Architecture JOnAS J2EE Server Services Security EJB EAR Appli1.ear EJB Container JSPs Servlets WEB Container EJBs RMI Clients JavaMail Management JDBC Calls DB HooXJCA WebContainer Tomcat /Jetty Communication CAROL/Jonathan Messaging JORAM Transaction JOTM Database JORM / MEDOR WebServices AXIS HTTP Apache Appli2.ear EJB Container JSPs Servlets WEB Container EJBs
  8. 8. Current Class Loader ArchitectureCurrent Class Loader Architecture System Tool Common Tomcat Application EJB WAR Class Loader EAR EJB WAR WAR Application level Appli1 EAR EJB WAR WAR Appli2 Logging v 1.0.2 Logging v 1.0.4
  9. 9. Motivation : JOnAS OnMotivation : JOnAS On--DemandDemand •• Dynamic server configuration and reconfigurationDynamic server configuration and reconfiguration –– Start only needed servicesStart only needed services –– Start, stop, reconfigure and restart services duringStart, stop, reconfigure and restart services during runtimeruntime •• Incremental and onIncremental and on--demand services deliverydemand services delivery (service installation and start up)(service installation and start up) –– Deploy new services during runtimeDeploy new services during runtime –– Activate themActivate them •• Ease services deployment and updateEase services deployment and update
  10. 10. How ToHow To •• Idea :Idea : –– Use OSGi, a standard dynamic platformUse OSGi, a standard dynamic platform •• Package servicesPackage services •• Deploy servicesDeploy services •• Manage service lifecycleManage service lifecycle •• Bind servicesBind services –– Main interests for OSGiMain interests for OSGi •• Dynamic Service Oriented Architecture (DSOA)Dynamic Service Oriented Architecture (DSOA) •• Dynamic class loadingDynamic class loading
  11. 11. Towards A New JOnAS ArchitectureTowards A New JOnAS Architecture JOnAS + Technical J2EE Services •• Current stateCurrent state Dynamic Deployment JSR88 JSR88 Applications Application 2 Application 1
  12. 12. Dynamic Deployment Towards A New JOnAS Architecture V1Towards A New JOnAS Architecture V1 OSGi framework / Oscar Applications Application 2 +Metadata Flat class loaderFlat class loader architecturearchitecture MetadataMetadata generationgeneration atat deploymentdeployment JSR88 JSR88 Application 1 +Metadata JOnAS Technical J2EE Services
  13. 13. Towards A New JOnAS Architecture V2Towards A New JOnAS Architecture V2 … Appli. Service Database Transact. etc Web Service Tomcat EJB Service Mail. OSGi framework / Oscar JOnAS Core JOnAS On-Demand JSR88 Applications Application 2 + Metadata Application 1 + Metadata
  14. 14. ExperimentationExperimentation •• Architecture implemented with JOnAS and OscarArchitecture implemented with JOnAS and Oscar •• Most of the services already packaged in bundlesMost of the services already packaged in bundles •• Two visionsTwo visions –– Deploying JOnAS on an independent OSGi gateway,Deploying JOnAS on an independent OSGi gateway, collocated with other servicescollocated with other services –– Embedding OSGi in the JOnAS coreEmbedding OSGi in the JOnAS core •• Works for a single instance of JOnAS OnWorks for a single instance of JOnAS On--DemandDemand •• Cluster of multiple instances in progressCluster of multiple instances in progress –– Open issues : RMI,Open issues : RMI, ……
  15. 15. Particular Improvements Brought By OSGiParticular Improvements Brought By OSGi •• A dynamic service oriented architecture for JOnASA dynamic service oriented architecture for JOnAS •• Class loading issuesClass loading issues –– Class sharing policy allows an application to use a differentClass sharing policy allows an application to use a different class version than the one provided in JOnASclass version than the one provided in JOnAS •• DeploymentDeployment –– A way of packaging the server and its servicesA way of packaging the server and its services –– Downloading of services delegated to the OSGi frameworkDownloading of services delegated to the OSGi framework –– OSGi deployment tools : OBR,OSGi deployment tools : OBR, ““Service on DemandService on Demand”” •• Specific needs covered by OSGi R4Specific needs covered by OSGi R4 –– Multiple class version loaded at the same timeMultiple class version loaded at the same time –– Package constraintsPackage constraints –– ……
  16. 16. ConclusionConclusion •• OSGi can be very interesting on the server side :OSGi can be very interesting on the server side : –– For server configuration/reconfigurationFor server configuration/reconfiguration –– For loading service modules and managing themFor loading service modules and managing them (lifecycle)(lifecycle) •• It can also :It can also : –– Ease contributions to an open source serverEase contributions to an open source server •• Services can be developed apart from the server coreServices can be developed apart from the server core –– Provides online incremental server updateProvides online incremental server update
  17. 17. Thank YouThank You Q & A

×