SlideShare a Scribd company logo
1 of 20
Download to read offline
OSGi in Java EE servers: sneak peek inside

Krasimir Semerdzhiev (SAP AG)
EclipseCon Europe 2012




                                   Pictures: Woodland Park Zoo
Why care at all?


Most common application scenarios:
 Reuse open-source components:
    more than 80% percent of enterprises embed open source components in software /Source: SonaType/
     Eclipse ones are (typically) OSGIfied
     Apache/GitHub/GoogleCode/SourceForge/etc mostly have no OSGi packaging

 Modularize/”OSGIfy” Java EE applications
 Getting rid of proprietary module systems in favor of standard one(s). Anyone?
 Software refactoring and evolution




© 2011 SAP AG. All rights reserved.                                                                    2
General approach – That’s our starting point!




© 2011 SAP AG. All rights reserved.             3
General approach – How to eat an elephant?




      Java EE monolithic app

              Libraries in:
              lib
              META-INFlib
              WEB-INFlib




               Java EE container




© 2011 SAP AG. All rights reserved.          4
General approach – Peter Kriens: One piece at a time!




      Java EE monolithic app              Java Web Bundle


              Libraries in:
              lib                            Shared libraries
              WEB-INFlib




               Java EE container
                                      OSGi-enabled Java EE container




© 2011 SAP AG. All rights reserved.                                    5
General approach – Peter Kriens: One piece at a time!




      Java EE monolithic app                   Java Web Bundle


              Libraries in:                       Shared libraries
              lib
              WEB-INFlib


                                      OSGi       OSGi          OSGi     OSGi
                                      bundle     bundle        bundle   bundle

               Java EE container
                                        OSGi-enabled Java EE container




© 2011 SAP AG. All rights reserved.                                              6
General approach – Peter Kriens: One piece at a time!




      Java EE monolithic app              Java Web
                                           Bundle
                                                                  OSGi bundle
              Libraries in:               Shared Libraries
              lib
              WEB-INFlib
                                                                  OSGi bundle

                                      OSGi        OSGi       OSGi       OSGi
                                      bundle      bundle     bundle     bundle

               Java EE container
                                        OSGi-enabled Java EE container




© 2011 SAP AG. All rights reserved.                                              7
General approach – Peter Kriens: One piece at a time!


                                      Projects typically
                                        stop at that
                                           state…


      Java EE monolithic app                               Web Bundle
                                                            Shared Libraries




                                                                                OSGi bundle
                                                                                              OSGi bundle
              Libraries in:
              lib
              WEB-INFlib                                    OSGi bundle
                                                                                              OSGi bundle

                                                           OSGi        OSGi              OSGi       OSGi
                                                           bundle      bundle            bundle     bundle

               Java EE container
                                                             OSGi-enabled Java EE container




© 2011 SAP AG. All rights reserved.                                                                          8
General approach – Peter Kriens: One piece at a time!

                                      Very unlikely to
                                      reach this state!
                                        Don’t worry!
                                        That’s OK!
                                                                    Java Web Bundle
      Java EE monolithic app
                                                          OSGi       OSGi




                                                                              OSGi bundle
                                                          bundle     bundle
                                                                                            OSGi bundle
              Libraries in:
              lib
              WEB-INFlib                                   OSGi bundle
                                                                                            OSGi bundle

                                                          OSGi       OSGi              OSGi       OSGi
                                                          bundle     bundle            bundle     bundle

               Java EE container
                                                            OSGi-enabled Java EE container




© 2011 SAP AG. All rights reserved.                                                                        9
General approach – Keep the goal in sight!


It’s not for those reasons:
 Single bundle can’t be reliably stopped!                Java Web Bundle

 Single bundle can’t be reliably updated!      OSGi       OSGi




                                                                    OSGi bundle
                                                bundle     bundle
 Reference caching further spoils the party!                                     OSGi bundle


 Random startup order as a surprise for non-      OSGi bundle
                                                                                  OSGi bundle
  aware modules.
                                                OSGi       OSGi              OSGi       OSGi
 Reference resolution for naïve package        bundle     bundle            bundle     bundle

  imports without a version might become
  tricky.                                         OSGi-enabled Java EE container




© 2011 SAP AG. All rights reserved.                                                              10
We go for OSGi - which server to run on?

Java EE 6 compatibility page (23.Oct.2012)
Java EE 6 Web                          Java EE 6 Full profile
profile




 © 2011 SAP AG. All rights reserved.                            11
Tested scenario: Granny’s address book


                                          Spring
                                         Spring
       Granny’s                       Spring (14)
       address
        book                             slf4j        dom4j

                                         log4j        Guava

                                       javassist    Tomcat jdbc

                                      hibernate     Apache juli

                                         cglib         asm

                                      aopalliance      antlr


      Source: Original sources + packaging on GitHub




© 2011 SAP AG. All rights reserved.                               12
Apache TomEE 1.0


OSGi support
 None whatsoever
     Neither uses, nor provides any

   Modularity: none – stick to Tomcat webapps
     Libs can be put in [tomeelib] folder
     No activators/resolution. Works like classpath.

Overall experience
 Feels very lightweight even with a bigger WAR file.
 TomEE doesn’t currently support web.xml <resource-ref> definitions in web.xml.
  To be fixed soon.
 Doing partial application update is not supported by the server. Requires 3-rd
  party tools like LiveRebel for example.

© 2011 SAP AG. All rights reserved.                                                13
Caucho Resin 4.0.32 free


OSGi support
 None whatsoever (but Why OSGi is cool, but not for enterprise apps blog)
   Modularity: Own “pomegranate” module system, dependencies in pom.xml
     Additional JARs can be put in [resinext-lib] folder
     No activators/resolution. Works like classpath.

Overall experience
 Easy to handle
 No default datasource is bound in JNDI. Therefore app startup fails if not created
  manually.




© 2011 SAP AG. All rights reserved.                                               14
JBoss Application Server 7(web)


OSGi support
 JBoss own OSGI impl.
     Tutorial available over here

   Additional bundles handling
     Transform the WAR as a Web Bundle Archive (WAB) JAR.
     Add the WAB + all related bundles in standalonedeployment “auto-deploy” folder

Overall experience
 Easy to use! A bit hard to find the application web alias…
 Both web console + CLI admin deploy only single archives. No batching.
 Deployment passes successfully although bundles can’t be resolved at that time.
 Startup fails silently afterwards.

© 2011 SAP AG. All rights reserved.                                                     15
Glassfish 3.1.2.2 (web + full)


OSGi support
 HK2 is based on Apache Felix
   Additional bundles handling
     Deploy bundles one by one via asadmin CLI tool.

Overall experience
 Deploy fails correctly on failed resolution. Have to handy-pick all dependencies
  one by one.
 Web console seems to cautiously ignore OSGi :-)




© 2011 SAP AG. All rights reserved.                                                  16
Apache Geronimo 3.0


OSGi support
 Based on Apache Felix
   Additional bundles handling
     Deployment via the Eclipse development tools

Overall experience
 Build as both Web Profile and Full Profile, but never cared to certify against the
  Web Profile




© 2011 SAP AG. All rights reserved.                                                    17
Other projects to watch out for




WebSphere Application Server V8.5 Liberty Profile

Eclipse Virgo




© 2011 SAP AG. All rights reserved.                 18
You still want to take the journey?


Take a look at @glynnormington “Is OSGi modularity always worth it?”
session.

Management is very susceptive to “costs” and “ROI” arguments.

Make the cost calculations carefully and use the numbers wisely!




© 2011 SAP AG. All rights reserved.                                    19
Thank You!
krasimir.semerdzhiev@sap.com




                               Pictures: Woo

More Related Content

What's hot

Use Case: Building OSGi Enterprise Applications (QCon 14)
Use Case: Building OSGi Enterprise Applications (QCon 14)Use Case: Building OSGi Enterprise Applications (QCon 14)
Use Case: Building OSGi Enterprise Applications (QCon 14)Carsten Ziegeler
 
OGF Cloud Standards: Current status and ongoing interoperability efforts wi...
OGF Cloud Standards: Current status and ongoing interoperability efforts wi...OGF Cloud Standards: Current status and ongoing interoperability efforts wi...
OGF Cloud Standards: Current status and ongoing interoperability efforts wi...Florian Feldhaus
 
Embrace Change - Embrace OSGi
Embrace Change - Embrace OSGiEmbrace Change - Embrace OSGi
Embrace Change - Embrace OSGiCarsten Ziegeler
 
OSGi enRoute Unveiled - P Kriens
OSGi enRoute Unveiled - P KriensOSGi enRoute Unveiled - P Kriens
OSGi enRoute Unveiled - P Kriensmfrancis
 
Benefits of OSGi in Practise
Benefits of OSGi in PractiseBenefits of OSGi in Practise
Benefits of OSGi in PractiseDavid Bosschaert
 
Lessons learned from a large scale OSGii web app - P Bakker & J de Vreede
Lessons learned from a large scale OSGii web app - P Bakker & J de VreedeLessons learned from a large scale OSGii web app - P Bakker & J de Vreede
Lessons learned from a large scale OSGii web app - P Bakker & J de Vreedemfrancis
 
CDI Integration in OSGi - Emily Jiang
CDI Integration in OSGi - Emily JiangCDI Integration in OSGi - Emily Jiang
CDI Integration in OSGi - Emily Jiangmfrancis
 

What's hot (7)

Use Case: Building OSGi Enterprise Applications (QCon 14)
Use Case: Building OSGi Enterprise Applications (QCon 14)Use Case: Building OSGi Enterprise Applications (QCon 14)
Use Case: Building OSGi Enterprise Applications (QCon 14)
 
OGF Cloud Standards: Current status and ongoing interoperability efforts wi...
OGF Cloud Standards: Current status and ongoing interoperability efforts wi...OGF Cloud Standards: Current status and ongoing interoperability efforts wi...
OGF Cloud Standards: Current status and ongoing interoperability efforts wi...
 
Embrace Change - Embrace OSGi
Embrace Change - Embrace OSGiEmbrace Change - Embrace OSGi
Embrace Change - Embrace OSGi
 
OSGi enRoute Unveiled - P Kriens
OSGi enRoute Unveiled - P KriensOSGi enRoute Unveiled - P Kriens
OSGi enRoute Unveiled - P Kriens
 
Benefits of OSGi in Practise
Benefits of OSGi in PractiseBenefits of OSGi in Practise
Benefits of OSGi in Practise
 
Lessons learned from a large scale OSGii web app - P Bakker & J de Vreede
Lessons learned from a large scale OSGii web app - P Bakker & J de VreedeLessons learned from a large scale OSGii web app - P Bakker & J de Vreede
Lessons learned from a large scale OSGii web app - P Bakker & J de Vreede
 
CDI Integration in OSGi - Emily Jiang
CDI Integration in OSGi - Emily JiangCDI Integration in OSGi - Emily Jiang
CDI Integration in OSGi - Emily Jiang
 

Similar to OSGI in Java EE servers:Sneak peak

OSGi in Java EE Servers - Sneak Peek Under the Hood - Krasimir Semerdzhiev
OSGi in Java EE Servers - Sneak Peek Under the Hood - Krasimir SemerdzhievOSGi in Java EE Servers - Sneak Peek Under the Hood - Krasimir Semerdzhiev
OSGi in Java EE Servers - Sneak Peek Under the Hood - Krasimir Semerdzhievmfrancis
 
Modular Java EE in the Cloud
Modular Java EE in the CloudModular Java EE in the Cloud
Modular Java EE in the CloudBert Ertman
 
modular-ejbs-for-enterprise-osgi developers
modular-ejbs-for-enterprise-osgi developersmodular-ejbs-for-enterprise-osgi developers
modular-ejbs-for-enterprise-osgi developersGabrielBran5
 
Java EE | Modular EJBs for Enterprise OSGi | Tim Ward
Java EE | Modular EJBs for Enterprise OSGi | Tim WardJava EE | Modular EJBs for Enterprise OSGi | Tim Ward
Java EE | Modular EJBs for Enterprise OSGi | Tim WardJAX London
 
Nuxeo World Session: Nuxeo & OSGi
Nuxeo World Session: Nuxeo & OSGiNuxeo World Session: Nuxeo & OSGi
Nuxeo World Session: Nuxeo & OSGiNuxeo
 
Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph! ...
Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph!  ...Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph!  ...
Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph! ...mfrancis
 
Developing modular applications with Java EE 6 and Enterprise OSGi + WebSpher...
Developing modular applications with Java EE 6 and Enterprise OSGi + WebSpher...Developing modular applications with Java EE 6 and Enterprise OSGi + WebSpher...
Developing modular applications with Java EE 6 and Enterprise OSGi + WebSpher...Jacek Laskowski
 
The OSGi Framework Multiplication
The OSGi Framework MultiplicationThe OSGi Framework Multiplication
The OSGi Framework MultiplicationClément Escoffier
 
Enterprise OSGi at eBay
Enterprise OSGi at eBayEnterprise OSGi at eBay
Enterprise OSGi at eBayTony Ng
 
Java Core | Java 8 and OSGi Modularisation | Tim Ellison & Neil Bartlett
Java Core | Java 8 and OSGi Modularisation | Tim Ellison & Neil BartlettJava Core | Java 8 and OSGi Modularisation | Tim Ellison & Neil Bartlett
Java Core | Java 8 and OSGi Modularisation | Tim Ellison & Neil BartlettJAX London
 
Jax london 2011
Jax london 2011Jax london 2011
Jax london 2011njbartlett
 
Libra - New Tools at Eclipse for OSGi Enterprise Development
 Libra - New Tools at Eclipse for OSGi Enterprise Development  Libra - New Tools at Eclipse for OSGi Enterprise Development
Libra - New Tools at Eclipse for OSGi Enterprise Development Kaloyan Raev
 
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
 
Maven tools - Stuart McCulloch, V.P. OSGi, Jayway Malaysia
Maven tools - Stuart McCulloch, V.P. OSGi, Jayway MalaysiaMaven tools - Stuart McCulloch, V.P. OSGi, Jayway Malaysia
Maven tools - Stuart McCulloch, V.P. OSGi, Jayway Malaysiamfrancis
 
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...Nuxeo
 
Concierge - Bringing OSGi (back) to Embedded Devices
Concierge - Bringing OSGi (back) to Embedded DevicesConcierge - Bringing OSGi (back) to Embedded Devices
Concierge - Bringing OSGi (back) to Embedded DevicesJan S. Rellermeyer
 

Similar to OSGI in Java EE servers:Sneak peak (20)

OSGi in Java EE Servers - Sneak Peek Under the Hood - Krasimir Semerdzhiev
OSGi in Java EE Servers - Sneak Peek Under the Hood - Krasimir SemerdzhievOSGi in Java EE Servers - Sneak Peek Under the Hood - Krasimir Semerdzhiev
OSGi in Java EE Servers - Sneak Peek Under the Hood - Krasimir Semerdzhiev
 
Modular Java EE in the Cloud
Modular Java EE in the CloudModular Java EE in the Cloud
Modular Java EE in the Cloud
 
modular-ejbs-for-enterprise-osgi developers
modular-ejbs-for-enterprise-osgi developersmodular-ejbs-for-enterprise-osgi developers
modular-ejbs-for-enterprise-osgi developers
 
OSGi Community Updates 2012
OSGi Community Updates 2012OSGi Community Updates 2012
OSGi Community Updates 2012
 
Java EE | Modular EJBs for Enterprise OSGi | Tim Ward
Java EE | Modular EJBs for Enterprise OSGi | Tim WardJava EE | Modular EJBs for Enterprise OSGi | Tim Ward
Java EE | Modular EJBs for Enterprise OSGi | Tim Ward
 
Nuxeo World Session: Nuxeo & OSGi
Nuxeo World Session: Nuxeo & OSGiNuxeo World Session: Nuxeo & OSGi
Nuxeo World Session: Nuxeo & OSGi
 
Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph! ...
Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph!  ...Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph!  ...
Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph! ...
 
Developing modular applications with Java EE 6 and Enterprise OSGi + WebSpher...
Developing modular applications with Java EE 6 and Enterprise OSGi + WebSpher...Developing modular applications with Java EE 6 and Enterprise OSGi + WebSpher...
Developing modular applications with Java EE 6 and Enterprise OSGi + WebSpher...
 
The OSGi Framework Multiplication
The OSGi Framework MultiplicationThe OSGi Framework Multiplication
The OSGi Framework Multiplication
 
OSGi summary
OSGi summaryOSGi summary
OSGi summary
 
GlassFish OSGi - Java2days 2010
GlassFish OSGi - Java2days 2010GlassFish OSGi - Java2days 2010
GlassFish OSGi - Java2days 2010
 
Enterprise OSGi at eBay
Enterprise OSGi at eBayEnterprise OSGi at eBay
Enterprise OSGi at eBay
 
Java Core | Java 8 and OSGi Modularisation | Tim Ellison & Neil Bartlett
Java Core | Java 8 and OSGi Modularisation | Tim Ellison & Neil BartlettJava Core | Java 8 and OSGi Modularisation | Tim Ellison & Neil Bartlett
Java Core | Java 8 and OSGi Modularisation | Tim Ellison & Neil Bartlett
 
Jax london 2011
Jax london 2011Jax london 2011
Jax london 2011
 
Libra - New Tools at Eclipse for OSGi Enterprise Development
 Libra - New Tools at Eclipse for OSGi Enterprise Development  Libra - New Tools at Eclipse for OSGi Enterprise Development
Libra - New Tools at Eclipse for OSGi Enterprise Development
 
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
 
Maven tools - Stuart McCulloch, V.P. OSGi, Jayway Malaysia
Maven tools - Stuart McCulloch, V.P. OSGi, Jayway MalaysiaMaven tools - Stuart McCulloch, V.P. OSGi, Jayway Malaysia
Maven tools - Stuart McCulloch, V.P. OSGi, Jayway Malaysia
 
OSGi for mere mortals
OSGi for mere mortalsOSGi for mere mortals
OSGi for mere mortals
 
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
 
Concierge - Bringing OSGi (back) to Embedded Devices
Concierge - Bringing OSGi (back) to Embedded DevicesConcierge - Bringing OSGi (back) to Embedded Devices
Concierge - Bringing OSGi (back) to Embedded Devices
 

More from SAP HANA Cloud Platform

SAP Hack2Build hackathon - SAP Commerce Cloud & Kyma runtime
SAP Hack2Build hackathon - SAP Commerce Cloud & Kyma runtimeSAP Hack2Build hackathon - SAP Commerce Cloud & Kyma runtime
SAP Hack2Build hackathon - SAP Commerce Cloud & Kyma runtimeSAP HANA Cloud Platform
 
Gardener: Managed Kubernetes on Your Terms
Gardener: Managed Kubernetes on Your TermsGardener: Managed Kubernetes on Your Terms
Gardener: Managed Kubernetes on Your TermsSAP HANA Cloud Platform
 
Kyma: Extending Business systems with Kubernetes, Istio and <fill the blank>.
Kyma: Extending Business systems with Kubernetes, Istio and <fill the blank>.Kyma: Extending Business systems with Kubernetes, Istio and <fill the blank>.
Kyma: Extending Business systems with Kubernetes, Istio and <fill the blank>.SAP HANA Cloud Platform
 
Using Kubernetes to Extend Enterprise Software
Using Kubernetes to Extend Enterprise Software Using Kubernetes to Extend Enterprise Software
Using Kubernetes to Extend Enterprise Software SAP HANA Cloud Platform
 
Kubernetes, Istio and Knative - noteworthy practical experience
Kubernetes, Istio and Knative - noteworthy practical experienceKubernetes, Istio and Knative - noteworthy practical experience
Kubernetes, Istio and Knative - noteworthy practical experienceSAP HANA Cloud Platform
 
Options for running Kubernetes at scale across multiple cloud providers
Options for running Kubernetes at scale across multiple cloud providersOptions for running Kubernetes at scale across multiple cloud providers
Options for running Kubernetes at scale across multiple cloud providersSAP HANA Cloud Platform
 
SAP DKOM 2016 | 30154 | SAP HCP Cloud Extensions Intro
SAP DKOM 2016 | 30154 | SAP HCP Cloud Extensions IntroSAP DKOM 2016 | 30154 | SAP HCP Cloud Extensions Intro
SAP DKOM 2016 | 30154 | SAP HCP Cloud Extensions IntroSAP HANA Cloud Platform
 
SAP TechEd 2015 | DEV109 | Extending Cloud Solutions from SAP using SAP HANA ...
SAP TechEd 2015 | DEV109 | Extending Cloud Solutions from SAP using SAP HANA ...SAP TechEd 2015 | DEV109 | Extending Cloud Solutions from SAP using SAP HANA ...
SAP TechEd 2015 | DEV109 | Extending Cloud Solutions from SAP using SAP HANA ...SAP HANA Cloud Platform
 
SAP D-Code/TechEd 2014|DEV203|Extending SuccessFactors using SAP HANA Cloud P...
SAP D-Code/TechEd 2014|DEV203|Extending SuccessFactors using SAP HANA Cloud P...SAP D-Code/TechEd 2014|DEV203|Extending SuccessFactors using SAP HANA Cloud P...
SAP D-Code/TechEd 2014|DEV203|Extending SuccessFactors using SAP HANA Cloud P...SAP HANA Cloud Platform
 
SAP TechEd 2013: CD105: Extending SuccessFactors EmployeeCentral with apps on...
SAP TechEd 2013: CD105: Extending SuccessFactors EmployeeCentral with apps on...SAP TechEd 2013: CD105: Extending SuccessFactors EmployeeCentral with apps on...
SAP TechEd 2013: CD105: Extending SuccessFactors EmployeeCentral with apps on...SAP HANA Cloud Platform
 
SAP HANA Cloud Platform Community BOF @ Devoxx 2013
SAP HANA Cloud Platform Community BOF @ Devoxx 2013SAP HANA Cloud Platform Community BOF @ Devoxx 2013
SAP HANA Cloud Platform Community BOF @ Devoxx 2013SAP HANA Cloud Platform
 
SAP HANA Cloud Platform: The void between your Datacenter and the Cloud
SAP HANA Cloud Platform: The void between your Datacenter and the CloudSAP HANA Cloud Platform: The void between your Datacenter and the Cloud
SAP HANA Cloud Platform: The void between your Datacenter and the CloudSAP HANA Cloud Platform
 
SAP HANA Cloud: From Your Datacenter to the Cloud and Back
SAP HANA Cloud: From Your Datacenter to the Cloud and Back  SAP HANA Cloud: From Your Datacenter to the Cloud and Back
SAP HANA Cloud: From Your Datacenter to the Cloud and Back SAP HANA Cloud Platform
 

More from SAP HANA Cloud Platform (17)

SAP Hack2Build hackathon - SAP Commerce Cloud & Kyma runtime
SAP Hack2Build hackathon - SAP Commerce Cloud & Kyma runtimeSAP Hack2Build hackathon - SAP Commerce Cloud & Kyma runtime
SAP Hack2Build hackathon - SAP Commerce Cloud & Kyma runtime
 
Gardener: Managed Kubernetes on Your Terms
Gardener: Managed Kubernetes on Your TermsGardener: Managed Kubernetes on Your Terms
Gardener: Managed Kubernetes on Your Terms
 
Kyma: Extending Business systems with Kubernetes, Istio and <fill the blank>.
Kyma: Extending Business systems with Kubernetes, Istio and <fill the blank>.Kyma: Extending Business systems with Kubernetes, Istio and <fill the blank>.
Kyma: Extending Business systems with Kubernetes, Istio and <fill the blank>.
 
Using Kubernetes to Extend Enterprise Software
Using Kubernetes to Extend Enterprise Software Using Kubernetes to Extend Enterprise Software
Using Kubernetes to Extend Enterprise Software
 
Kubernetes, Istio and Knative - noteworthy practical experience
Kubernetes, Istio and Knative - noteworthy practical experienceKubernetes, Istio and Knative - noteworthy practical experience
Kubernetes, Istio and Knative - noteworthy practical experience
 
Options for running Kubernetes at scale across multiple cloud providers
Options for running Kubernetes at scale across multiple cloud providersOptions for running Kubernetes at scale across multiple cloud providers
Options for running Kubernetes at scale across multiple cloud providers
 
SAP DKOM 2016 | 30154 | SAP HCP Cloud Extensions Intro
SAP DKOM 2016 | 30154 | SAP HCP Cloud Extensions IntroSAP DKOM 2016 | 30154 | SAP HCP Cloud Extensions Intro
SAP DKOM 2016 | 30154 | SAP HCP Cloud Extensions Intro
 
SAP TechEd 2015 | DEV109 | Extending Cloud Solutions from SAP using SAP HANA ...
SAP TechEd 2015 | DEV109 | Extending Cloud Solutions from SAP using SAP HANA ...SAP TechEd 2015 | DEV109 | Extending Cloud Solutions from SAP using SAP HANA ...
SAP TechEd 2015 | DEV109 | Extending Cloud Solutions from SAP using SAP HANA ...
 
SAP D-Code/TechEd 2014|DEV203|Extending SuccessFactors using SAP HANA Cloud P...
SAP D-Code/TechEd 2014|DEV203|Extending SuccessFactors using SAP HANA Cloud P...SAP D-Code/TechEd 2014|DEV203|Extending SuccessFactors using SAP HANA Cloud P...
SAP D-Code/TechEd 2014|DEV203|Extending SuccessFactors using SAP HANA Cloud P...
 
SAP TechEd 2013: CD105: Extending SuccessFactors EmployeeCentral with apps on...
SAP TechEd 2013: CD105: Extending SuccessFactors EmployeeCentral with apps on...SAP TechEd 2013: CD105: Extending SuccessFactors EmployeeCentral with apps on...
SAP TechEd 2013: CD105: Extending SuccessFactors EmployeeCentral with apps on...
 
SAP HANA Cloud Platform Community BOF @ Devoxx 2013
SAP HANA Cloud Platform Community BOF @ Devoxx 2013SAP HANA Cloud Platform Community BOF @ Devoxx 2013
SAP HANA Cloud Platform Community BOF @ Devoxx 2013
 
SAP HANA Cloud Platform: The void between your Datacenter and the Cloud
SAP HANA Cloud Platform: The void between your Datacenter and the CloudSAP HANA Cloud Platform: The void between your Datacenter and the Cloud
SAP HANA Cloud Platform: The void between your Datacenter and the Cloud
 
SAP HANA Cloud: From Your Datacenter to the Cloud and Back
SAP HANA Cloud: From Your Datacenter to the Cloud and Back  SAP HANA Cloud: From Your Datacenter to the Cloud and Back
SAP HANA Cloud: From Your Datacenter to the Cloud and Back
 
[BGOUG] Memory analyzer
[BGOUG] Memory analyzer[BGOUG] Memory analyzer
[BGOUG] Memory analyzer
 
[BGOUG] Java GC - Friend or Foe
[BGOUG] Java GC - Friend or Foe[BGOUG] Java GC - Friend or Foe
[BGOUG] Java GC - Friend or Foe
 
JavaOne 2010: OSGI Migrat
JavaOne 2010: OSGI MigratJavaOne 2010: OSGI Migrat
JavaOne 2010: OSGI Migrat
 
Eclipse Open Source @ SAP
Eclipse Open Source @ SAPEclipse Open Source @ SAP
Eclipse Open Source @ SAP
 

Recently uploaded

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
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
 
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 2024Victor Rentea
 
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 Ontologyjohnbeverley2021
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
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, Adobeapidays
 
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 FresherRemote DBA Services
 
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 FMESafe Software
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
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 AmsterdamUiPathCommunity
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
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 DevelopersWSO2
 
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.pdfsudhanshuwaghmare1
 
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 FMESafe Software
 
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...DianaGray10
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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...
 
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
 
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
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
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
 
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
 
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
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
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
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
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
 
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
 
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
 
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...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

OSGI in Java EE servers:Sneak peak

  • 1. OSGi in Java EE servers: sneak peek inside Krasimir Semerdzhiev (SAP AG) EclipseCon Europe 2012 Pictures: Woodland Park Zoo
  • 2. Why care at all? Most common application scenarios:  Reuse open-source components: more than 80% percent of enterprises embed open source components in software /Source: SonaType/  Eclipse ones are (typically) OSGIfied  Apache/GitHub/GoogleCode/SourceForge/etc mostly have no OSGi packaging  Modularize/”OSGIfy” Java EE applications  Getting rid of proprietary module systems in favor of standard one(s). Anyone?  Software refactoring and evolution © 2011 SAP AG. All rights reserved. 2
  • 3. General approach – That’s our starting point! © 2011 SAP AG. All rights reserved. 3
  • 4. General approach – How to eat an elephant? Java EE monolithic app Libraries in: lib META-INFlib WEB-INFlib Java EE container © 2011 SAP AG. All rights reserved. 4
  • 5. General approach – Peter Kriens: One piece at a time! Java EE monolithic app Java Web Bundle Libraries in: lib Shared libraries WEB-INFlib Java EE container OSGi-enabled Java EE container © 2011 SAP AG. All rights reserved. 5
  • 6. General approach – Peter Kriens: One piece at a time! Java EE monolithic app Java Web Bundle Libraries in: Shared libraries lib WEB-INFlib OSGi OSGi OSGi OSGi bundle bundle bundle bundle Java EE container OSGi-enabled Java EE container © 2011 SAP AG. All rights reserved. 6
  • 7. General approach – Peter Kriens: One piece at a time! Java EE monolithic app Java Web Bundle OSGi bundle Libraries in: Shared Libraries lib WEB-INFlib OSGi bundle OSGi OSGi OSGi OSGi bundle bundle bundle bundle Java EE container OSGi-enabled Java EE container © 2011 SAP AG. All rights reserved. 7
  • 8. General approach – Peter Kriens: One piece at a time! Projects typically stop at that state… Java EE monolithic app Web Bundle Shared Libraries OSGi bundle OSGi bundle Libraries in: lib WEB-INFlib OSGi bundle OSGi bundle OSGi OSGi OSGi OSGi bundle bundle bundle bundle Java EE container OSGi-enabled Java EE container © 2011 SAP AG. All rights reserved. 8
  • 9. General approach – Peter Kriens: One piece at a time! Very unlikely to reach this state! Don’t worry! That’s OK! Java Web Bundle Java EE monolithic app OSGi OSGi OSGi bundle bundle bundle OSGi bundle Libraries in: lib WEB-INFlib OSGi bundle OSGi bundle OSGi OSGi OSGi OSGi bundle bundle bundle bundle Java EE container OSGi-enabled Java EE container © 2011 SAP AG. All rights reserved. 9
  • 10. General approach – Keep the goal in sight! It’s not for those reasons:  Single bundle can’t be reliably stopped! Java Web Bundle  Single bundle can’t be reliably updated! OSGi OSGi OSGi bundle bundle bundle  Reference caching further spoils the party! OSGi bundle  Random startup order as a surprise for non- OSGi bundle OSGi bundle aware modules. OSGi OSGi OSGi OSGi  Reference resolution for naïve package bundle bundle bundle bundle imports without a version might become tricky. OSGi-enabled Java EE container © 2011 SAP AG. All rights reserved. 10
  • 11. We go for OSGi - which server to run on? Java EE 6 compatibility page (23.Oct.2012) Java EE 6 Web Java EE 6 Full profile profile © 2011 SAP AG. All rights reserved. 11
  • 12. Tested scenario: Granny’s address book Spring Spring Granny’s Spring (14) address book slf4j dom4j log4j Guava javassist Tomcat jdbc hibernate Apache juli cglib asm aopalliance antlr Source: Original sources + packaging on GitHub © 2011 SAP AG. All rights reserved. 12
  • 13. Apache TomEE 1.0 OSGi support  None whatsoever  Neither uses, nor provides any  Modularity: none – stick to Tomcat webapps  Libs can be put in [tomeelib] folder  No activators/resolution. Works like classpath. Overall experience  Feels very lightweight even with a bigger WAR file.  TomEE doesn’t currently support web.xml <resource-ref> definitions in web.xml. To be fixed soon.  Doing partial application update is not supported by the server. Requires 3-rd party tools like LiveRebel for example. © 2011 SAP AG. All rights reserved. 13
  • 14. Caucho Resin 4.0.32 free OSGi support  None whatsoever (but Why OSGi is cool, but not for enterprise apps blog)  Modularity: Own “pomegranate” module system, dependencies in pom.xml  Additional JARs can be put in [resinext-lib] folder  No activators/resolution. Works like classpath. Overall experience  Easy to handle  No default datasource is bound in JNDI. Therefore app startup fails if not created manually. © 2011 SAP AG. All rights reserved. 14
  • 15. JBoss Application Server 7(web) OSGi support  JBoss own OSGI impl.  Tutorial available over here  Additional bundles handling  Transform the WAR as a Web Bundle Archive (WAB) JAR.  Add the WAB + all related bundles in standalonedeployment “auto-deploy” folder Overall experience  Easy to use! A bit hard to find the application web alias…  Both web console + CLI admin deploy only single archives. No batching.  Deployment passes successfully although bundles can’t be resolved at that time.  Startup fails silently afterwards. © 2011 SAP AG. All rights reserved. 15
  • 16. Glassfish 3.1.2.2 (web + full) OSGi support  HK2 is based on Apache Felix  Additional bundles handling  Deploy bundles one by one via asadmin CLI tool. Overall experience  Deploy fails correctly on failed resolution. Have to handy-pick all dependencies one by one.  Web console seems to cautiously ignore OSGi :-) © 2011 SAP AG. All rights reserved. 16
  • 17. Apache Geronimo 3.0 OSGi support  Based on Apache Felix  Additional bundles handling  Deployment via the Eclipse development tools Overall experience  Build as both Web Profile and Full Profile, but never cared to certify against the Web Profile © 2011 SAP AG. All rights reserved. 17
  • 18. Other projects to watch out for WebSphere Application Server V8.5 Liberty Profile Eclipse Virgo © 2011 SAP AG. All rights reserved. 18
  • 19. You still want to take the journey? Take a look at @glynnormington “Is OSGi modularity always worth it?” session. Management is very susceptive to “costs” and “ROI” arguments. Make the cost calculations carefully and use the numbers wisely! © 2011 SAP AG. All rights reserved. 19