SlideShare a Scribd company logo
1 of 15
Download to read offline
Justin Early, Sangjin Lee, & Debashis Saha
eBay Inc.
Agenda
  Case for enterprise OSGi

  Speaking of scale...

  Migration challenges & observations
  IDE & build

  Tooling benefits

  Closing




                                         2
Case for enterprise OSGi
  For all its virtues, OSGi is still a hard sell in (large scale)
   enterprises

  Why?




                                                                     3
Case for enterprise OSGi
  Modularity: warm

  Runtime dynamism: not so much
    Operations needs predictability

  JavaEE containers are becoming OSGi ready: warm




                                                     4
Modularity
  Modularity is perhaps the best driver for OSGi in the
   enterprise
    Reduce surface areas
    Reduce coupling and increase cohesion

  However, modularity benefits are hard to quantify
    What is a PRACTICAL metric that demonstrates the
     compelling value of a modular architecture?
    Reduced coupling? Reduced build time?




                                                           5
Cost-benefit analysis
  Modularity benefits are long term, but the migration pain is
   immediate

  The very SCALE which necessitates the modularity
   discussion also makes migration very expensive




                                                                  6
It feels like...




                   7
Speaking of scale...
  eBay’s code base has
      Thousands of jars
      Tens of thousands of packages
      Hundreds of thousands of classes
      Tens of millions of lines of code

  Even the simplest refactoring can become very expensive




                                                             8
Migration observations
  Everything needs to be in a bundle

  We’re finding a lot of existing problems to clean up

  Starting from a “super” bundle




                                                          9
Migration challenges
  What should be my module granularity?

  Package control policy

  Import-Package v. Require-Bundle (ala split packages)
  Dynamic classloading and resource loading




                                                           10
Migration challenges
  Limiting use of OSGi services

  Scale of development teams: training and support




                                                      11
Eclipse and OSGi




     Java Jars
Evolution
•  Each tool adds required libraries as Bundle-Classpath entries
•  Convert Jars to Bundles using aQute's BND tool
•  Convert Library Projects into one plugin project using PDE
   tooling and use use it for build and compile time.
Closing
  It’s important to articulate WHY we need/want OSGi in
   the enterprise

  Less appetite for runtime dynamism than expected

  Start simple without advanced OSGi features

  Do not underestimate the refactoring/migration costs

  Putting the best and scalable IDE/build in place is supremely
   important



                                                                   14
Thank you!
  Questions?




                             15

More Related Content

Similar to OSGi at eBay: JavaOne 2010

OSGi in Action Chapter 1 and 2
OSGi in Action Chapter 1 and 2OSGi in Action Chapter 1 and 2
OSGi in Action Chapter 1 and 2
pjhInovex
 
Calling All Modularity Solutions: A Comparative Study from eBay
Calling All Modularity Solutions: A Comparative Study from eBayCalling All Modularity Solutions: A Comparative Study from eBay
Calling All Modularity Solutions: A Comparative Study from eBay
Tony Ng
 
Enterprise OSGi at eBay
Enterprise OSGi at eBayEnterprise OSGi at eBay
Enterprise OSGi at eBay
Tony Ng
 
Calling all modularity solutions
Calling all modularity solutionsCalling all modularity solutions
Calling all modularity solutions
Sangjin Lee
 
OSGi made simple - Fuse Application Bundles
OSGi made simple - Fuse Application BundlesOSGi made simple - Fuse Application Bundles
OSGi made simple - Fuse Application Bundles
Rob Davies
 

Similar to OSGi at eBay: JavaOne 2010 (20)

Building a µservice with Kotlin, Micronaut & GCP
Building a µservice with Kotlin, Micronaut & GCPBuilding a µservice with Kotlin, Micronaut & GCP
Building a µservice with Kotlin, Micronaut & GCP
 
Run Your Oracle BI QA Cycles More Effectively
Run Your Oracle BI QA Cycles More EffectivelyRun Your Oracle BI QA Cycles More Effectively
Run Your Oracle BI QA Cycles More Effectively
 
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
 
New Features of OBIEE 11.1.1.6.x
New Features of OBIEE 11.1.1.6.x New Features of OBIEE 11.1.1.6.x
New Features of OBIEE 11.1.1.6.x
 
Introduction_to_Kotlin.pptx
Introduction_to_Kotlin.pptxIntroduction_to_Kotlin.pptx
Introduction_to_Kotlin.pptx
 
Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolithAgile integration: Decomposing the monolith
Agile integration: Decomposing the monolith
 
Agile at The Open Group Conference
Agile at The Open Group ConferenceAgile at The Open Group Conference
Agile at The Open Group Conference
 
OSGi in Action Chapter 1 and 2
OSGi in Action Chapter 1 and 2OSGi in Action Chapter 1 and 2
OSGi in Action Chapter 1 and 2
 
Calling All Modularity Solutions: A Comparative Study from eBay
Calling All Modularity Solutions: A Comparative Study from eBayCalling All Modularity Solutions: A Comparative Study from eBay
Calling All Modularity Solutions: A Comparative Study from eBay
 
TechEvent 2019: Build Oracle DBaaS in the Swisscom Enterprise Cloud - but SAF...
TechEvent 2019: Build Oracle DBaaS in the Swisscom Enterprise Cloud - but SAF...TechEvent 2019: Build Oracle DBaaS in the Swisscom Enterprise Cloud - but SAF...
TechEvent 2019: Build Oracle DBaaS in the Swisscom Enterprise Cloud - but SAF...
 
OSGi and Java EE in GlassFish - Tech Days 2010 India
OSGi and Java EE in GlassFish - Tech Days 2010 IndiaOSGi and Java EE in GlassFish - Tech Days 2010 India
OSGi and Java EE in GlassFish - Tech Days 2010 India
 
Enterprise OSGi at eBay
Enterprise OSGi at eBayEnterprise OSGi at eBay
Enterprise OSGi at eBay
 
create auto scale jboss cluster with openshift
create auto scale jboss cluster with openshiftcreate auto scale jboss cluster with openshift
create auto scale jboss cluster with openshift
 
OSGi DevCon US 2010 Review
OSGi DevCon US 2010 ReviewOSGi DevCon US 2010 Review
OSGi DevCon US 2010 Review
 
Calling all modularity solutions
Calling all modularity solutionsCalling all modularity solutions
Calling all modularity solutions
 
The OSGi Framework Multiplication
The OSGi Framework MultiplicationThe OSGi Framework Multiplication
The OSGi Framework Multiplication
 
Jee conf 2015
Jee conf 2015Jee conf 2015
Jee conf 2015
 
OSGi made simple - Fuse Application Bundles
OSGi made simple - Fuse Application BundlesOSGi made simple - Fuse Application Bundles
OSGi made simple - Fuse Application Bundles
 
GlassFish v3 - Architecture
GlassFish v3 - ArchitectureGlassFish v3 - Architecture
GlassFish v3 - Architecture
 
Platform Engineering using GitOps, Boston Kubernetes Meetup
Platform Engineering using GitOps, Boston Kubernetes MeetupPlatform Engineering using GitOps, Boston Kubernetes Meetup
Platform Engineering using GitOps, Boston Kubernetes Meetup
 

Recently uploaded

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
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 

Recently uploaded (20)

How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
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
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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...
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
 
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
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 

OSGi at eBay: JavaOne 2010

  • 1. Justin Early, Sangjin Lee, & Debashis Saha eBay Inc.
  • 2. Agenda   Case for enterprise OSGi   Speaking of scale...   Migration challenges & observations   IDE & build   Tooling benefits   Closing 2
  • 3. Case for enterprise OSGi   For all its virtues, OSGi is still a hard sell in (large scale) enterprises   Why? 3
  • 4. Case for enterprise OSGi   Modularity: warm   Runtime dynamism: not so much   Operations needs predictability   JavaEE containers are becoming OSGi ready: warm 4
  • 5. Modularity   Modularity is perhaps the best driver for OSGi in the enterprise   Reduce surface areas   Reduce coupling and increase cohesion   However, modularity benefits are hard to quantify   What is a PRACTICAL metric that demonstrates the compelling value of a modular architecture?   Reduced coupling? Reduced build time? 5
  • 6. Cost-benefit analysis   Modularity benefits are long term, but the migration pain is immediate   The very SCALE which necessitates the modularity discussion also makes migration very expensive 6
  • 8. Speaking of scale...   eBay’s code base has   Thousands of jars   Tens of thousands of packages   Hundreds of thousands of classes   Tens of millions of lines of code   Even the simplest refactoring can become very expensive 8
  • 9. Migration observations   Everything needs to be in a bundle   We’re finding a lot of existing problems to clean up   Starting from a “super” bundle 9
  • 10. Migration challenges   What should be my module granularity?   Package control policy   Import-Package v. Require-Bundle (ala split packages)   Dynamic classloading and resource loading 10
  • 11. Migration challenges   Limiting use of OSGi services   Scale of development teams: training and support 11
  • 12. Eclipse and OSGi Java Jars
  • 13. Evolution •  Each tool adds required libraries as Bundle-Classpath entries •  Convert Jars to Bundles using aQute's BND tool •  Convert Library Projects into one plugin project using PDE tooling and use use it for build and compile time.
  • 14. Closing   It’s important to articulate WHY we need/want OSGi in the enterprise   Less appetite for runtime dynamism than expected   Start simple without advanced OSGi features   Do not underestimate the refactoring/migration costs   Putting the best and scalable IDE/build in place is supremely important 14