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.
Netbinox
The fastest OSGi Container on the Planet
Jaroslav Tulach
NetBeans Platform Architect
http://netbinox.apidesign.org
Agenda
• Being Fast!?
• A bit of history
• Demo
• Technical details
• Q/A
http://netbinox.apidesign.org
Slow I/O During Startup
Demo
http://netbinox.apidesign.org
History 1 - Experiments
• Sun and OSGi
> Glassfish adopted OSGi in 2008
• Netigso
> Friday p...
http://netbinox.apidesign.org
History 2 - Acquisition
18 months of despair
• Sun collapsed in Spring 2009
> Acquired by Or...
http://netbinox.apidesign.org
History 3 - NetBeans 6.9 Theme
• NetBeans Platform based on standards
> Standard UI - Swing
...
http://netbinox.apidesign.org
JDeveloper
Going the same direction
• JDev converted to OSGi meanwhile
> Most of the work do...
http://netbinox.apidesign.org
Being Fast with Caches
Demo
http://netbinox.apidesign.org
Caches & Speed
Avoid I/O
• 40% faster
• Useful for desktop applications
> Start speed is imp...
http://netbinox.apidesign.org
The Differences
What is different in Netbinox?
• 100% compatibility for bundles
• Class and ...
http://netbinox.apidesign.org
The Presence
• NetBeans IDE 7.1 uses Netbinox
> Mylyn + Bugzilla Connectors
> Orbit bundles ...
http://netbinox.apidesign.org
Give Feedback on the Sessions
1
Sign In: www.eclipsecon.org
2
Select Session Evaluate
3
Vote...
Upcoming SlideShare
Loading in …5
×

Experiences from Building the Fastest OSGi Container on the Planet - Jaroslav Tulach

479 views

Published on

OSGi DevCon 2012

What is the fastest OSGi container? Felix or Equinox? Neither! The fastest OSGi container is Netbinox! But then, how do you measure how fast an OSGi container is, anyway?
The NetBeans project adopted OSGi in its 6.9 release. Now, NetBeans Platform applications can choose from running on top of Felix or Equinox. During work on version 7.0, we concentrated on optimizing the speed of startup, especially daily morning launch. This kind of start, when all OS I/O caches are completely empty is very important for large desktop applications. By joining the the performance optimizations done to improve NetBeans IDE startup and Equinox we can start JDeveloper about 30% faster than plain Equinox could.
Hacking around OSGi container internals? Planning to embbed Felix or Equinox in your framework? Join us to learn how to do that effectively!

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Experiences from Building the Fastest OSGi Container on the Planet - Jaroslav Tulach

  1. 1. Netbinox The fastest OSGi Container on the Planet Jaroslav Tulach NetBeans Platform Architect
  2. 2. http://netbinox.apidesign.org Agenda • Being Fast!? • A bit of history • Demo • Technical details • Q/A
  3. 3. http://netbinox.apidesign.org Slow I/O During Startup Demo
  4. 4. http://netbinox.apidesign.org History 1 - Experiments • Sun and OSGi > Glassfish adopted OSGi in 2008 • Netigso > Friday project > Felix based > Parallel mode > Reuse of bundles • Glassfish in Nb > Middle of 2009 • Problem: How to get this into release? The Garage Days
  5. 5. http://netbinox.apidesign.org History 2 - Acquisition 18 months of despair • Sun collapsed in Spring 2009 > Acquired by Oracle > Approved in January 2010 > Czech Republic LEC on Sep 1, 2010 • JDeveloper > Primary IDE for Oracle Enterprise Technologies • Eclipse Foundation > Member and Contributor • Problem: Can NetBeans be useful for Oracle?
  6. 6. http://netbinox.apidesign.org History 3 - NetBeans 6.9 Theme • NetBeans Platform based on standards > Standard UI - Swing > Adopt OSGi as de-facto standard • OSGi interoperability > Reuse existing bundles > Use bundles on server/client side > Use NetBeans APIs in OSGi mode • Problem: > Is that enough to align with JDev? The public plan
  7. 7. http://netbinox.apidesign.org JDeveloper Going the same direction • JDev converted to OSGi meanwhile > Most of the work done > Big Bang rewrite > Using Equinox • Long term synergy vs. short term benefits > Reuse pieces of NetBeans in future > More speed right now • Netbinox on the rise > “Just” reuse NetBeans “startup caches”
  8. 8. http://netbinox.apidesign.org Being Fast with Caches Demo
  9. 9. http://netbinox.apidesign.org Caches & Speed Avoid I/O • 40% faster • Useful for desktop applications > Start speed is important > “Morning” launch • Intercept I/O queries > loadClass, getResource > File.exists() • Modular vs. monolithic apps > Deployment modular > Start is monolithic
  10. 10. http://netbinox.apidesign.org The Differences What is different in Netbinox? • 100% compatibility for bundles • Class and resource loading > ZipBundleFile replaced by JarBundleFile > Thread Context Class Loader • Equinox hooks > Registered slightly differently • OSGi APIs in Separate JARs > Shared by Felix & Equinox • Own Launcher > Configuration files use NetBeans format
  11. 11. http://netbinox.apidesign.org The Presence • NetBeans IDE 7.1 uses Netbinox > Mylyn + Bugzilla Connectors > Orbit bundles (JSCh, Apache) • JDeveloper on Netbinox > Other features than a speed • The common ground > OSGi as lingua franca > How do we share? With future outlook
  12. 12. http://netbinox.apidesign.org Give Feedback on the Sessions 1 Sign In: www.eclipsecon.org 2 Select Session Evaluate 3 Vote Experiences from building the fastest OSGi container on the Planet Jaroslav Tulach

×