Katya Todorova | SAP Labs Bulgaria
Enterprise Platform Over
OSGi: Migration Diary
Background
SAP NetWeaver - overview
Intrinsic capabilities
• Clustering
• Life-cycle
• Isolation
• Monitoring
Extensibility of platfo...
~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 compatibil...
Migration path
Component repackaging concept
Server initialization
Server bootstrapping
Configuration of migrated componen...
Compatibility layer
Service Manager
• Perhaps the most obvious
Class Loading
• Perhaps the most dangerous
Event Infrastruc...
Compatibility layer
Service Manager
• Perhaps the most obvious
Class Loading
• Perhaps the most dangerous
Event Infrastruc...
Compatibility layer
Service Manager
• Perhaps the most obvious
Class Loading
• Perhaps the most dangerous
Event Infrastruc...
Compatibility layer
Service Manager
• Perhaps the most obvious
Class Loading
• Perhaps the most dangerous
Event Infrastruc...
Compatibility layer
Service Manager
• Perhaps the most obvious
Class Loading
• Perhaps the most dangerous
Event Infrastruc...
Compatibility layer
Service Manager
• Perhaps the most obvious
Class Loading
• Perhaps the most dangerous
Event Infrastruc...
Compatibility layer
Service Manager
• Perhaps the most obvious
Class Loading
• Perhaps the most dangerous
Event Infrastruc...
OSGi container inside SAP NetWeaver
Enable bundle deployment on the server
• Ability to run bundles
• Add value to the bun...
Platform Java Services -
overview
Alternatives
Geronimo
• is built around an IoC kernel and deals with GBeans
• manages GBean dependencies, state, and lifec...
Runtime view
~103
GBeans
Platform Java Services over OSGi
Project roadmap
Goals
• Replace low-level runtime/framework with OSGi
• Remove Geronimo f...
Migration path
Build & test infrastructure
Migration of one type of PJS components
Component configuration
Supportability
...
Startup
Geronimo:
OSGi:
KPI Result Geronimo Result OSGi
Used Heap 16.59M (16993K) 12.14M (12144K)
Used Perm 25.21M (25811K...
Switch static to dynamic handling
Conclusion
Prerequisites for migration to OSGi
Favourable Unfavourable
IoC component model Component model based on API
co...
Thank you
Katya Todorova
SAP Labs Bulgaria
katya.todorova@sap.com
OSGi Community Event 2010 - Enterprise Platform over OSGi - Migration Diary
OSGi Community Event 2010 - Enterprise Platform over OSGi - Migration Diary
OSGi Community Event 2010 - Enterprise Platform over OSGi - Migration Diary
OSGi Community Event 2010 - Enterprise Platform over OSGi - Migration Diary
Upcoming SlideShare
Loading in...5
×

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

735

Published on

OSGi Community Event 2010 - Enterprise Platform over OSGi - Migration Diary (Katya Todorova - SAP Labs

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
735
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. Katya Todorova | SAP Labs Bulgaria Enterprise Platform Over OSGi: Migration Diary
  2. 2. Background
  3. 3. SAP NetWeaver - overview Intrinsic capabilities • Clustering • Life-cycle • Isolation • Monitoring Extensibility of platform capabilities
  4. 4. ~24 Million Lines of Java code and 255k number of classes ~5000 applications deployed on server Runtime view
  5. 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. 6. Migration path Component repackaging concept Server initialization Server bootstrapping Configuration of migrated components Compatibility layer design Verify backwards compatibility Build & test infrastructure
  7. 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. 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. 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. 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. 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. 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. 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. 14. 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
  15. 15. Platform Java Services - overview
  16. 16. 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)
  17. 17. Runtime view ~103 GBeans
  18. 18. 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
  19. 19. 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
  20. 20. 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)
  21. 21. Switch static to dynamic handling
  22. 22. 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
  23. 23. Thank you Katya Todorova SAP Labs Bulgaria katya.todorova@sap.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×