SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
Infusion of OSGi Technology into a J2EE Application Server - Mikaël Desertot & Didier Donsez, University of Grenoble
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
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
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
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
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
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
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
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
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
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
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
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
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
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, ……
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
–– ……
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
Thank YouThank You
Q & A

Weitere ähnliche Inhalte

Was ist angesagt?

Was migration benefits, planning, best practices
Was migration benefits, planning, best practicesWas migration benefits, planning, best practices
Was migration benefits, planning, best practicessflynn073
 
Test driven Soa Suite 12c Upgrade
Test driven Soa Suite 12c UpgradeTest driven Soa Suite 12c Upgrade
Test driven Soa Suite 12c UpgradeSven Bernhardt
 
Cincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk AdvocacyCincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk AdvocacyESUG
 
Town Hall - Business Implications of Open Source OSGi Implementations - BJ Ha...
Town Hall - Business Implications of Open Source OSGi Implementations - BJ Ha...Town Hall - Business Implications of Open Source OSGi Implementations - BJ Ha...
Town Hall - Business Implications of Open Source OSGi Implementations - BJ Ha...mfrancis
 
Getting Started with OpenStack
Getting Started with OpenStackGetting Started with OpenStack
Getting Started with OpenStackCisco DevNet
 
Oracle SOA Suite 11g Troubleshooting Methodology
Oracle SOA Suite 11g Troubleshooting MethodologyOracle SOA Suite 11g Troubleshooting Methodology
Oracle SOA Suite 11g Troubleshooting MethodologyRevelation Technologies
 
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...Capgemini
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOpsCisco DevNet
 
Tips for a Successful SOLIDWORKS Upgrade
Tips for a Successful SOLIDWORKS UpgradeTips for a Successful SOLIDWORKS Upgrade
Tips for a Successful SOLIDWORKS UpgradeCAPINC
 
Best Practices For A Successful SOLIDWORKS 2016 Upgrade
Best Practices For A Successful SOLIDWORKS 2016 UpgradeBest Practices For A Successful SOLIDWORKS 2016 Upgrade
Best Practices For A Successful SOLIDWORKS 2016 UpgradeCAPINC
 
Leveraging VMware Technology To Build an Enterprise Grade Openstack Cloud - I...
Leveraging VMware Technology To Build an Enterprise Grade Openstack Cloud - I...Leveraging VMware Technology To Build an Enterprise Grade Openstack Cloud - I...
Leveraging VMware Technology To Build an Enterprise Grade Openstack Cloud - I...jgiardina
 

Was ist angesagt? (11)

Was migration benefits, planning, best practices
Was migration benefits, planning, best practicesWas migration benefits, planning, best practices
Was migration benefits, planning, best practices
 
Test driven Soa Suite 12c Upgrade
Test driven Soa Suite 12c UpgradeTest driven Soa Suite 12c Upgrade
Test driven Soa Suite 12c Upgrade
 
Cincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk AdvocacyCincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk Advocacy
 
Town Hall - Business Implications of Open Source OSGi Implementations - BJ Ha...
Town Hall - Business Implications of Open Source OSGi Implementations - BJ Ha...Town Hall - Business Implications of Open Source OSGi Implementations - BJ Ha...
Town Hall - Business Implications of Open Source OSGi Implementations - BJ Ha...
 
Getting Started with OpenStack
Getting Started with OpenStackGetting Started with OpenStack
Getting Started with OpenStack
 
Oracle SOA Suite 11g Troubleshooting Methodology
Oracle SOA Suite 11g Troubleshooting MethodologyOracle SOA Suite 11g Troubleshooting Methodology
Oracle SOA Suite 11g Troubleshooting Methodology
 
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOps
 
Tips for a Successful SOLIDWORKS Upgrade
Tips for a Successful SOLIDWORKS UpgradeTips for a Successful SOLIDWORKS Upgrade
Tips for a Successful SOLIDWORKS Upgrade
 
Best Practices For A Successful SOLIDWORKS 2016 Upgrade
Best Practices For A Successful SOLIDWORKS 2016 UpgradeBest Practices For A Successful SOLIDWORKS 2016 Upgrade
Best Practices For A Successful SOLIDWORKS 2016 Upgrade
 
Leveraging VMware Technology To Build an Enterprise Grade Openstack Cloud - I...
Leveraging VMware Technology To Build an Enterprise Grade Openstack Cloud - I...Leveraging VMware Technology To Build an Enterprise Grade Openstack Cloud - I...
Leveraging VMware Technology To Build an Enterprise Grade Openstack Cloud - I...
 

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

Creating a Service Platform for .NET - Clément Escoffier, University of Grenoble
Creating a Service Platform for .NET - Clément Escoffier, University of GrenobleCreating a Service Platform for .NET - Clément Escoffier, University of Grenoble
Creating a Service Platform for .NET - Clément Escoffier, University of Grenoblemfrancis
 
Using OSGi R4 Service Platform in Vehicle Embedded Systems - Miguel Lopez, So...
Using OSGi R4 Service Platform in Vehicle Embedded Systems - Miguel Lopez, So...Using OSGi R4 Service Platform in Vehicle Embedded Systems - Miguel Lopez, So...
Using OSGi R4 Service Platform in Vehicle Embedded Systems - Miguel Lopez, So...mfrancis
 
Microsoft on AWS
Microsoft on AWS  Microsoft on AWS
Microsoft on AWS CloudHesive
 
Datasheet weblogicpluginforrd
Datasheet weblogicpluginforrdDatasheet weblogicpluginforrd
Datasheet weblogicpluginforrdMidVision
 
The Business Case for the Mobile Ecosystem - Jon Bostrom, Co-Chair OSGi Allia...
The Business Case for the Mobile Ecosystem - Jon Bostrom, Co-Chair OSGi Allia...The Business Case for the Mobile Ecosystem - Jon Bostrom, Co-Chair OSGi Allia...
The Business Case for the Mobile Ecosystem - Jon Bostrom, Co-Chair OSGi Allia...mfrancis
 
JIRA Performance After 300,000 Issues
JIRA Performance After 300,000 IssuesJIRA Performance After 300,000 Issues
JIRA Performance After 300,000 IssuesAtlassian
 
TejaSoft Code Audit Case Studies
TejaSoft Code Audit Case StudiesTejaSoft Code Audit Case Studies
TejaSoft Code Audit Case StudiesRaja Nagendra Kumar
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service ArchitectureEduards Sizovs
 
WebLogic Event Server - Alexandre Alves, BEA
WebLogic Event Server - Alexandre Alves, BEAWebLogic Event Server - Alexandre Alves, BEA
WebLogic Event Server - Alexandre Alves, BEAmfrancis
 
Nuxeo in 2011: A year in review and a preview of what's next!
Nuxeo in 2011: A year in review and a preview of what's next!Nuxeo in 2011: A year in review and a preview of what's next!
Nuxeo in 2011: A year in review and a preview of what's next!Nuxeo
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneDashlane
 
Migrating to Windows 7 or 8 with Lenovo's Deployment Optimization Solutions
Migrating to Windows 7 or 8 with Lenovo's Deployment Optimization SolutionsMigrating to Windows 7 or 8 with Lenovo's Deployment Optimization Solutions
Migrating to Windows 7 or 8 with Lenovo's Deployment Optimization SolutionsLenovo Business
 
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
 
Incluit case studies 3.1
Incluit case studies 3.1Incluit case studies 3.1
Incluit case studies 3.1IncluIT
 
Neo4j for Cloud Management at Scale
Neo4j for Cloud Management at ScaleNeo4j for Cloud Management at Scale
Neo4j for Cloud Management at ScaleNeo4j
 
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Ambassador Labs
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science PlatformDecision Science Community
 
ARC's Bob Mick Presentation on Using Server Virtualization In Manufacturing O...
ARC's Bob Mick Presentation on Using Server Virtualization In Manufacturing O...ARC's Bob Mick Presentation on Using Server Virtualization In Manufacturing O...
ARC's Bob Mick Presentation on Using Server Virtualization In Manufacturing O...ARC Advisory Group
 
Ultime Novità di Prodotto Neo4j
Ultime Novità di Prodotto Neo4j Ultime Novità di Prodotto Neo4j
Ultime Novità di Prodotto Neo4j Neo4j
 

Ähnlich wie Infusion of OSGi Technology into a J2EE Application Server - Mikaël Desertot & Didier Donsez, University of Grenoble (20)

Creating a Service Platform for .NET - Clément Escoffier, University of Grenoble
Creating a Service Platform for .NET - Clément Escoffier, University of GrenobleCreating a Service Platform for .NET - Clément Escoffier, University of Grenoble
Creating a Service Platform for .NET - Clément Escoffier, University of Grenoble
 
Using OSGi R4 Service Platform in Vehicle Embedded Systems - Miguel Lopez, So...
Using OSGi R4 Service Platform in Vehicle Embedded Systems - Miguel Lopez, So...Using OSGi R4 Service Platform in Vehicle Embedded Systems - Miguel Lopez, So...
Using OSGi R4 Service Platform in Vehicle Embedded Systems - Miguel Lopez, So...
 
Microsoft on AWS
Microsoft on AWS  Microsoft on AWS
Microsoft on AWS
 
Datasheet weblogicpluginforrd
Datasheet weblogicpluginforrdDatasheet weblogicpluginforrd
Datasheet weblogicpluginforrd
 
The Business Case for the Mobile Ecosystem - Jon Bostrom, Co-Chair OSGi Allia...
The Business Case for the Mobile Ecosystem - Jon Bostrom, Co-Chair OSGi Allia...The Business Case for the Mobile Ecosystem - Jon Bostrom, Co-Chair OSGi Allia...
The Business Case for the Mobile Ecosystem - Jon Bostrom, Co-Chair OSGi Allia...
 
JIRA Performance After 300,000 Issues
JIRA Performance After 300,000 IssuesJIRA Performance After 300,000 Issues
JIRA Performance After 300,000 Issues
 
TejaSoft Code Audit Case Studies
TejaSoft Code Audit Case StudiesTejaSoft Code Audit Case Studies
TejaSoft Code Audit Case Studies
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service Architecture
 
WebLogic Event Server - Alexandre Alves, BEA
WebLogic Event Server - Alexandre Alves, BEAWebLogic Event Server - Alexandre Alves, BEA
WebLogic Event Server - Alexandre Alves, BEA
 
Nuxeo in 2011: A year in review and a preview of what's next!
Nuxeo in 2011: A year in review and a preview of what's next!Nuxeo in 2011: A year in review and a preview of what's next!
Nuxeo in 2011: A year in review and a preview of what's next!
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at Dashlane
 
Managed Services Overview
Managed Services OverviewManaged Services Overview
Managed Services Overview
 
Migrating to Windows 7 or 8 with Lenovo's Deployment Optimization Solutions
Migrating to Windows 7 or 8 with Lenovo's Deployment Optimization SolutionsMigrating to Windows 7 or 8 with Lenovo's Deployment Optimization Solutions
Migrating to Windows 7 or 8 with Lenovo's Deployment Optimization Solutions
 
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
 
Incluit case studies 3.1
Incluit case studies 3.1Incluit case studies 3.1
Incluit case studies 3.1
 
Neo4j for Cloud Management at Scale
Neo4j for Cloud Management at ScaleNeo4j for Cloud Management at Scale
Neo4j for Cloud Management at Scale
 
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science Platform
 
ARC's Bob Mick Presentation on Using Server Virtualization In Manufacturing O...
ARC's Bob Mick Presentation on Using Server Virtualization In Manufacturing O...ARC's Bob Mick Presentation on Using Server Virtualization In Manufacturing O...
ARC's Bob Mick Presentation on Using Server Virtualization In Manufacturing O...
 
Ultime Novità di Prodotto Neo4j
Ultime Novità di Prodotto Neo4j Ultime Novità di Prodotto Neo4j
Ultime Novità di Prodotto Neo4j
 

Mehr von mfrancis

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...mfrancis
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)mfrancis
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)mfrancis
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruumfrancis
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...mfrancis
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...mfrancis
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...mfrancis
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)mfrancis
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...mfrancis
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)mfrancis
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...mfrancis
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...mfrancis
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...mfrancis
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)mfrancis
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)mfrancis
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)mfrancis
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...mfrancis
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)mfrancis
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...mfrancis
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)mfrancis
 

Mehr von mfrancis (20)

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
 

Kürzlich hochgeladen

Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 

Kürzlich hochgeladen (20)

Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 

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

  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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, ……
  • 16. 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 –– ……
  • 17. 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