SlideShare a Scribd company logo
1 of 27
Download to read offline
Katya Todorova | SAP Labs Bulgaria
Enterprise Platform Over
OSGi: Migration Diary
Background
SAP NetWeaver - overview
Intrinsic capabilities
• Clustering
• Life-cycle
• Isolation
• Monitoring
Extensibility of platform capabilities
~24 Million Lines of Java code
and 255k number of classes
~5000 applications deployed
on server
Runtime view
SAP NetWeaver over OSGi
Project roadmap
Goals
• Define a migration path to OSGi for the Java Server
• Provide a compatibility layer (passive as much as possible), which shields
non-migrated components
Out of scope
• Re-componentization of the whole java stack
• Ready-to-use installation
Time Frame
• September, 2008 – January, 2009
Planned effort
• 7 Developers
Challenges
• Dependency and risk management
Migration path
Component repackaging concept
Server initialization
Server bootstrapping
Configuration of migrated components
Compatibility layer design
Verify backwards compatibility
Build & test infrastructure
Compatibility layer
Service Manager
• Perhaps the most obvious
Class Loading
• Perhaps the most dangerous
Event Infrastructure
• Perhaps the most underestimated
Runtime aspects of automatic
repackaging
Properties / Configuration
Work directory / File structure
Monitoring / Administration
Replaced by DS
Special considerations:
• NW interfaces registered in OSGi
after provider service appear
• Mapping between component
names
Compatibility layer
Service Manager
• Perhaps the most obvious
Class Loading
• Perhaps the most dangerous
Event Infrastructure
• Perhaps the most underestimated
Runtime aspects of automatic
repackaging
Properties / Configuration
Work directory / File structure
Monitoring / Administration
Delegation model
Loader names
Component information in loaders
Direct file access
Remote class loading
Verbose exception messages
Application to service references
Context class loader
Compatibility layer
Service Manager
• Perhaps the most obvious
Class Loading
• Perhaps the most dangerous
Event Infrastructure
• Perhaps the most underestimated
Runtime aspects of automatic
repackaging
Properties / Configuration
Work directory / File structure
Monitoring / Administration
Modeled by OSGi events
Special considerations:
• Container started
• Service started / not started
• Interface available / not
available
• Component loaded / unloaded
Event dispatching
Compatibility layer
Service Manager
• Perhaps the most obvious
Class Loading
• Perhaps the most dangerous
Event Infrastructure
• Perhaps the most underestimated
Runtime aspects of
automatic repackaging
Properties / Configuration
Work directory / File structure
Monitoring / Administration
Code analysis
Special considerations:
• Component dependencies
Compatibility layer
Service Manager
• Perhaps the most obvious
Class Loading
• Perhaps the most dangerous
Event Infrastructure
• Perhaps the most underestimated
Runtime aspects of automatic
repackaging
Properties / Configuration
Work directory / File structure
Monitoring / Administration
Different mechanisms
Nested properties
Compatibility layer
Service Manager
• Perhaps the most obvious
Class Loading
• Perhaps the most dangerous
Event Infrastructure
• Perhaps the most underestimated
Runtime aspects of automatic
repackaging
Properties / Configuration
Work directory / File structure
Monitoring / Administration
Compatibility layer
Service Manager
• Perhaps the most obvious
Class Loading
• Perhaps the most dangerous
Event Infrastructure
• Perhaps the most underestimated
Runtime aspects of automatic
repackaging
Properties / Configuration
Work directory / File structure
Monitoring / Administration
OSGi container inside SAP NetWeaver
Enable bundle deployment on the server
• Ability to run bundles
• Add value to the bundle running environment by
exposing non-functional features
– Supportability
– Administration
Additionally enable “extension points” using
bundles
Platform Java Services -
overview
Alternatives
Geronimo
• is built around an IoC kernel and deals with GBeans
• manages GBean dependencies, state, and lifecycle
• kernel injects dependencies into the GBean at runtime
according to rules defined in a deployment plan.
OSGi
• provides a publish/find/bind service model
• simplify service registration and handling service
dependencies (DS)
• Use simple xml descriptor to define service prerequisites
(DS)
Runtime view
~103
GBeans
Platform Java Services over OSGi
Project roadmap
Goals
• Replace low-level runtime/framework with OSGi
• Remove Geronimo from the stack
Out of scope
• Introducing Java EE capabilities
• Installation, update, upgrade tools
• Changing existing startup mechanism
Time Frame
• April, 2009 – September, 2009
Planned effort
• 7 Developers
Challenges
• Dependency and risk management
Migration path
Build & test infrastructure
Migration of one type of PJS components
Component configuration
Supportability
Migration of the rest of PJS components
Class loading: design
Server bootstrapping
Startup
Geronimo:
OSGi:
KPI Result Geronimo Result OSGi
Used Heap 16.59M (16993K) 12.14M (12144K)
Used Perm 25.21M (25811K) 20.79M (21291K)
Startup Time 16 sec (16583 ms) 6 sec (5874 ms)
Stop Time 1 sec (1148 ms) 1 sec (1146 ms)
Switch static to dynamic handling
Conclusion
Prerequisites for migration to OSGi
Favourable Unfavourable
IoC component model Component model based on API
contract
Less environment dependencies Significant environment dependencies
No adoption required Adoption required
Thank you
Katya Todorova
SAP Labs Bulgaria
katya.todorova@sap.com

More Related Content

What's hot

Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Lucas Jellema
 
Develop, Test and Deploy your SOA Application through a Single Platform
Develop, Test and Deploy your SOA Application through a Single PlatformDevelop, Test and Deploy your SOA Application through a Single Platform
Develop, Test and Deploy your SOA Application through a Single Platform
WSO2
 
Микросервисы со Spring Boot & Spring Cloud
Микросервисы со Spring Boot & Spring CloudМикросервисы со Spring Boot & Spring Cloud
Микросервисы со Spring Boot & Spring Cloud
Vitebsk DSC
 
WebLogic Administration course outline
WebLogic Administration course outlineWebLogic Administration course outline
WebLogic Administration course outline
Vybhava Technologies
 
Weblogic configuration & administration
Weblogic   configuration & administrationWeblogic   configuration & administration
Weblogic configuration & administration
Muhammad Mansoor
 
One daytalk hbraun_oct2011
One daytalk hbraun_oct2011One daytalk hbraun_oct2011
One daytalk hbraun_oct2011
hbraun
 

What's hot (20)

Migrating Applications to the Cloud
Migrating Applications to the CloudMigrating Applications to the Cloud
Migrating Applications to the Cloud
 
SAP LVM Integration with SAP BPA
SAP LVM Integration with SAP BPASAP LVM Integration with SAP BPA
SAP LVM Integration with SAP BPA
 
Mesos @ Atlassian - MesosCon14
Mesos @ Atlassian - MesosCon14Mesos @ Atlassian - MesosCon14
Mesos @ Atlassian - MesosCon14
 
What's New and Noteworthy on Oracle CAF 12.1.3
What's New and Noteworthy on Oracle CAF 12.1.3What's New and Noteworthy on Oracle CAF 12.1.3
What's New and Noteworthy on Oracle CAF 12.1.3
 
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
 
Develop, Test and Deploy your SOA Application through a Single Platform
Develop, Test and Deploy your SOA Application through a Single PlatformDevelop, Test and Deploy your SOA Application through a Single Platform
Develop, Test and Deploy your SOA Application through a Single Platform
 
SOA Suite 12c Customer implementation
SOA Suite 12c Customer implementationSOA Suite 12c Customer implementation
SOA Suite 12c Customer implementation
 
Микросервисы со Spring Boot & Spring Cloud
Микросервисы со Spring Boot & Spring CloudМикросервисы со Spring Boot & Spring Cloud
Микросервисы со Spring Boot & Spring Cloud
 
12 Factor Apps and Cloud Foundry - Twin Cities Code Camp
12 Factor Apps and Cloud Foundry - Twin Cities Code Camp12 Factor Apps and Cloud Foundry - Twin Cities Code Camp
12 Factor Apps and Cloud Foundry - Twin Cities Code Camp
 
12-factor-jruby
12-factor-jruby12-factor-jruby
12-factor-jruby
 
Principal Propagation with SAP Cloud Platform
Principal Propagation with SAP Cloud PlatformPrincipal Propagation with SAP Cloud Platform
Principal Propagation with SAP Cloud Platform
 
WebLogic Administration course outline
WebLogic Administration course outlineWebLogic Administration course outline
WebLogic Administration course outline
 
Weblogic configuration & administration
Weblogic   configuration & administrationWeblogic   configuration & administration
Weblogic configuration & administration
 
[WSO2Con EU 2017] Container-native Architecture
[WSO2Con EU 2017] Container-native Architecture[WSO2Con EU 2017] Container-native Architecture
[WSO2Con EU 2017] Container-native Architecture
 
SAP LVM Custom Operations
SAP LVM Custom OperationsSAP LVM Custom Operations
SAP LVM Custom Operations
 
(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery
(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery
(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery
 
Migrating deployment processes and Continuous Integration at SAP SE
Migrating deployment processes and Continuous Integration at SAP SEMigrating deployment processes and Continuous Integration at SAP SE
Migrating deployment processes and Continuous Integration at SAP SE
 
One daytalk hbraun_oct2011
One daytalk hbraun_oct2011One daytalk hbraun_oct2011
One daytalk hbraun_oct2011
 
Optimiszing proxy
Optimiszing proxyOptimiszing proxy
Optimiszing proxy
 
12 Factor App Methodology
12 Factor App Methodology12 Factor App Methodology
12 Factor App Methodology
 

Viewers also liked

OSGi Community Event 2007 - Welcome Day 2 - Christer Larsson, Vice President,...
OSGi Community Event 2007 - Welcome Day 2 - Christer Larsson, Vice President,...OSGi Community Event 2007 - Welcome Day 2 - Christer Larsson, Vice President,...
OSGi Community Event 2007 - Welcome Day 2 - Christer Larsson, Vice President,...
mfrancis
 
The Business Case for OSGi Technology & Unveiling Release 4 - Susan Schwarze,...
The Business Case for OSGi Technology & Unveiling Release 4 - Susan Schwarze,...The Business Case for OSGi Technology & Unveiling Release 4 - Susan Schwarze,...
The Business Case for OSGi Technology & Unveiling Release 4 - Susan Schwarze,...
mfrancis
 

Viewers also liked (16)

OSGi Community Event 2007 - Welcome Day 2 - Christer Larsson, Vice President,...
OSGi Community Event 2007 - Welcome Day 2 - Christer Larsson, Vice President,...OSGi Community Event 2007 - Welcome Day 2 - Christer Larsson, Vice President,...
OSGi Community Event 2007 - Welcome Day 2 - Christer Larsson, Vice President,...
 
Microsoft Automotive Business Unit - J Za
Microsoft Automotive Business Unit - J ZaMicrosoft Automotive Business Unit - J Za
Microsoft Automotive Business Unit - J Za
 
OSGi DevCon - Innovation Through an Apps Competition
OSGi DevCon - Innovation Through an Apps CompetitionOSGi DevCon - Innovation Through an Apps Competition
OSGi DevCon - Innovation Through an Apps Competition
 
OSGi Working Group Technical Progress Report 2007 - Vehicle
OSGi Working Group Technical Progress Report 2007 - VehicleOSGi Working Group Technical Progress Report 2007 - Vehicle
OSGi Working Group Technical Progress Report 2007 - Vehicle
 
Automatically Managing Service Dependencies in an OSGi Environment - Marcel O...
Automatically Managing Service Dependencies in an OSGi Environment - Marcel O...Automatically Managing Service Dependencies in an OSGi Environment - Marcel O...
Automatically Managing Service Dependencies in an OSGi Environment - Marcel O...
 
3 Key Strategies to Grow Your Membership in 2014
3 Key Strategies to Grow Your Membership in 20143 Key Strategies to Grow Your Membership in 2014
3 Key Strategies to Grow Your Membership in 2014
 
SMWCon Spring 2012 Welcome Remarks
SMWCon Spring 2012 Welcome RemarksSMWCon Spring 2012 Welcome Remarks
SMWCon Spring 2012 Welcome Remarks
 
In Homes / Consumer Electronics - M Beltrami
In Homes / Consumer Electronics - M BeltramiIn Homes / Consumer Electronics - M Beltrami
In Homes / Consumer Electronics - M Beltrami
 
OSGi Users' Forum UK
OSGi Users' Forum UKOSGi Users' Forum UK
OSGi Users' Forum UK
 
Elective Care Conference: welcome and opening address
Elective Care Conference: welcome and opening addressElective Care Conference: welcome and opening address
Elective Care Conference: welcome and opening address
 
OSGi Benefits for the Pervasive Value Chain - D Bandera
OSGi Benefits for the Pervasive Value Chain - D BanderaOSGi Benefits for the Pervasive Value Chain - D Bandera
OSGi Benefits for the Pervasive Value Chain - D Bandera
 
The Business Case for OSGi Technology & Unveiling Release 4 - Susan Schwarze,...
The Business Case for OSGi Technology & Unveiling Release 4 - Susan Schwarze,...The Business Case for OSGi Technology & Unveiling Release 4 - Susan Schwarze,...
The Business Case for OSGi Technology & Unveiling Release 4 - Susan Schwarze,...
 
My Opening Remarks for M.C.
My Opening Remarks for M.C.My Opening Remarks for M.C.
My Opening Remarks for M.C.
 
My Leadership Journey
My Leadership JourneyMy Leadership Journey
My Leadership Journey
 
Speeches
SpeechesSpeeches
Speeches
 
Types of speeches
Types of speechesTypes of speeches
Types of speeches
 

Similar to OSGi Community Event 2010 - Enterprise Platform over OSGi - Migration Diary

Stay productive while slicing up the monolith
Stay productive while slicing up the monolith Stay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
WSO2
 

Similar to OSGi Community Event 2010 - Enterprise Platform over OSGi - Migration Diary (20)

FlexDeploy Product Technical Overview
FlexDeploy Product Technical OverviewFlexDeploy Product Technical Overview
FlexDeploy Product Technical Overview
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolith Stay productive while slicing up the monolith
Stay productive while slicing up the monolith
 
Grails in the Cloud (2013)
Grails in the Cloud (2013)Grails in the Cloud (2013)
Grails in the Cloud (2013)
 
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
 
Azure App Service Deep Dive
Azure App Service Deep DiveAzure App Service Deep Dive
Azure App Service Deep Dive
 
Groovy & Grails - From Scratch to Production
Groovy & Grails - From Scratch to Production Groovy & Grails - From Scratch to Production
Groovy & Grails - From Scratch to Production
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolith
 
Continuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases WeeklyContinuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases Weekly
 
AzureSQL Managed Instance (SQLKonferenz 2018)
AzureSQL Managed Instance (SQLKonferenz 2018)AzureSQL Managed Instance (SQLKonferenz 2018)
AzureSQL Managed Instance (SQLKonferenz 2018)
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Azure Application Architecture Guide ~Design principles for Azure application...
Azure Application Architecture Guide ~Design principles for Azure application...Azure Application Architecture Guide ~Design principles for Azure application...
Azure Application Architecture Guide ~Design principles for Azure application...
 
Paa sing a java ee 6 application kshitiz saxena
Paa sing a java ee 6 application   kshitiz saxenaPaa sing a java ee 6 application   kshitiz saxena
Paa sing a java ee 6 application kshitiz saxena
 
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
 
Oracle OpenWorld 2014 Review Part Four - PaaS Middleware
Oracle OpenWorld 2014 Review Part Four - PaaS MiddlewareOracle OpenWorld 2014 Review Part Four - PaaS Middleware
Oracle OpenWorld 2014 Review Part Four - PaaS Middleware
 
OUG Ireland Meet-up 12th January
OUG Ireland Meet-up 12th JanuaryOUG Ireland Meet-up 12th January
OUG Ireland Meet-up 12th January
 
Service quality monitoring system architecture
Service quality monitoring system architectureService quality monitoring system architecture
Service quality monitoring system architecture
 
IBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the CloudIBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the Cloud
 
The Rocky Cloud Road
The Rocky Cloud RoadThe Rocky Cloud Road
The Rocky Cloud Road
 
SAP on cloud
SAP on cloudSAP on cloud
SAP on cloud
 

More from 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
 
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
 
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
 

More from 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)
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

OSGi Community Event 2010 - Enterprise Platform over OSGi - Migration Diary

  • 1. Katya Todorova | SAP Labs Bulgaria Enterprise Platform Over OSGi: Migration Diary
  • 3. SAP NetWeaver - overview Intrinsic capabilities • Clustering • Life-cycle • Isolation • Monitoring Extensibility of platform capabilities
  • 4. ~24 Million Lines of Java code and 255k number of classes ~5000 applications deployed on server Runtime view
  • 5. SAP NetWeaver over OSGi Project roadmap Goals • Define a migration path to OSGi for the Java Server • Provide a compatibility layer (passive as much as possible), which shields non-migrated components Out of scope • Re-componentization of the whole java stack • Ready-to-use installation Time Frame • September, 2008 – January, 2009 Planned effort • 7 Developers Challenges • Dependency and risk management
  • 6. Migration path Component repackaging concept Server initialization Server bootstrapping Configuration of migrated components Compatibility layer design Verify backwards compatibility Build & test infrastructure
  • 7. Compatibility layer Service Manager • Perhaps the most obvious Class Loading • Perhaps the most dangerous Event Infrastructure • Perhaps the most underestimated Runtime aspects of automatic repackaging Properties / Configuration Work directory / File structure Monitoring / Administration Replaced by DS Special considerations: • NW interfaces registered in OSGi after provider service appear • Mapping between component names
  • 8. Compatibility layer Service Manager • Perhaps the most obvious Class Loading • Perhaps the most dangerous Event Infrastructure • Perhaps the most underestimated Runtime aspects of automatic repackaging Properties / Configuration Work directory / File structure Monitoring / Administration Delegation model Loader names Component information in loaders Direct file access Remote class loading Verbose exception messages Application to service references Context class loader
  • 9. Compatibility layer Service Manager • Perhaps the most obvious Class Loading • Perhaps the most dangerous Event Infrastructure • Perhaps the most underestimated Runtime aspects of automatic repackaging Properties / Configuration Work directory / File structure Monitoring / Administration Modeled by OSGi events Special considerations: • Container started • Service started / not started • Interface available / not available • Component loaded / unloaded Event dispatching
  • 10. Compatibility layer Service Manager • Perhaps the most obvious Class Loading • Perhaps the most dangerous Event Infrastructure • Perhaps the most underestimated Runtime aspects of automatic repackaging Properties / Configuration Work directory / File structure Monitoring / Administration Code analysis Special considerations: • Component dependencies
  • 11. Compatibility layer Service Manager • Perhaps the most obvious Class Loading • Perhaps the most dangerous Event Infrastructure • Perhaps the most underestimated Runtime aspects of automatic repackaging Properties / Configuration Work directory / File structure Monitoring / Administration Different mechanisms Nested properties
  • 12. Compatibility layer Service Manager • Perhaps the most obvious Class Loading • Perhaps the most dangerous Event Infrastructure • Perhaps the most underestimated Runtime aspects of automatic repackaging Properties / Configuration Work directory / File structure Monitoring / Administration
  • 13. Compatibility layer Service Manager • Perhaps the most obvious Class Loading • Perhaps the most dangerous Event Infrastructure • Perhaps the most underestimated Runtime aspects of automatic repackaging Properties / Configuration Work directory / File structure Monitoring / Administration
  • 14.
  • 15. OSGi container inside SAP NetWeaver Enable bundle deployment on the server • Ability to run bundles • Add value to the bundle running environment by exposing non-functional features – Supportability – Administration Additionally enable “extension points” using bundles
  • 16.
  • 17.
  • 19. Alternatives Geronimo • is built around an IoC kernel and deals with GBeans • manages GBean dependencies, state, and lifecycle • kernel injects dependencies into the GBean at runtime according to rules defined in a deployment plan. OSGi • provides a publish/find/bind service model • simplify service registration and handling service dependencies (DS) • Use simple xml descriptor to define service prerequisites (DS)
  • 21. Platform Java Services over OSGi Project roadmap Goals • Replace low-level runtime/framework with OSGi • Remove Geronimo from the stack Out of scope • Introducing Java EE capabilities • Installation, update, upgrade tools • Changing existing startup mechanism Time Frame • April, 2009 – September, 2009 Planned effort • 7 Developers Challenges • Dependency and risk management
  • 22. Migration path Build & test infrastructure Migration of one type of PJS components Component configuration Supportability Migration of the rest of PJS components Class loading: design Server bootstrapping
  • 23. Startup Geronimo: OSGi: KPI Result Geronimo Result OSGi Used Heap 16.59M (16993K) 12.14M (12144K) Used Perm 25.21M (25811K) 20.79M (21291K) Startup Time 16 sec (16583 ms) 6 sec (5874 ms) Stop Time 1 sec (1148 ms) 1 sec (1146 ms)
  • 24. Switch static to dynamic handling
  • 25.
  • 26. Conclusion Prerequisites for migration to OSGi Favourable Unfavourable IoC component model Component model based on API contract Less environment dependencies Significant environment dependencies No adoption required Adoption required
  • 27. Thank you Katya Todorova SAP Labs Bulgaria katya.todorova@sap.com