Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Justin Early, Sangjin Lee, & Debashis Saha
eBay Inc.
Agenda
  Case for enterprise OSGi

  Speaking of scale...

  Migration challenges & observations
  IDE & build

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

  Why?




  ...
Case for enterprise OSGi
  Modularity: warm

  Runtime dynamism: not so much
    Operations needs predictability

  Ja...
Modularity
  Modularity is perhaps the best driver for OSGi in the
   enterprise
    Reduce surface areas
    Reduce co...
Cost-benefit analysis
  Modularity benefits are long term, but the migration pain is
   immediate

  The very SCALE whic...
It feels like...




                   7
Speaking of scale...
  eBay’s code base has
      Thousands of jars
      Tens of thousands of packages
      Hundreds...
Migration observations
  Everything needs to be in a bundle

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

  ...
Migration challenges
  What should be my module granularity?

  Package control policy

  Import-Package v. Require-Bun...
Migration challenges
  Limiting use of OSGi services

  Scale of development teams: training and support




           ...
Eclipse and OSGi




     Java Jars
Evolution
•  Each tool adds required libraries as Bundle-Classpath entries
•  Convert Jars to Bundles using aQute's BND to...
Closing
  It’s important to articulate WHY we need/want OSGi in
   the enterprise

  Less appetite for runtime dynamism ...
Thank you!
  Questions?




                             15
Upcoming SlideShare
Loading in …5
×

OSGi at eBay: JavaOne 2010

1,973 views

Published on

Published in: Technology
  • Be the first to comment

OSGi at eBay: JavaOne 2010

  1. 1. Justin Early, Sangjin Lee, & Debashis Saha eBay Inc.
  2. 2. Agenda   Case for enterprise OSGi   Speaking of scale...   Migration challenges & observations   IDE & build   Tooling benefits   Closing 2
  3. 3. Case for enterprise OSGi   For all its virtues, OSGi is still a hard sell in (large scale) enterprises   Why? 3
  4. 4. Case for enterprise OSGi   Modularity: warm   Runtime dynamism: not so much   Operations needs predictability   JavaEE containers are becoming OSGi ready: warm 4
  5. 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. 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
  7. 7. It feels like... 7
  8. 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. 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. 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. 11. Migration challenges   Limiting use of OSGi services   Scale of development teams: training and support 11
  12. 12. Eclipse and OSGi Java Jars
  13. 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. 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
  15. 15. Thank you!   Questions? 15

×