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,896 views

Published on

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

No Downloads
Views
Total views
1,896
On SlideShare
0
From Embeds
0
Number of Embeds
39
Actions
Shares
0
Downloads
45
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

×