A story of migrating a Java application to Equinox and OSGi

Bill Kayser has written an interesting summary of his experience migrating a 600,000 line multi-tier swing based application to run on Equinox. He begins the story with a very good explanation of OSGi as the platform for applications with a service oriented architecture.

It is interesting to see the benefits Bill achieved as the result of migrating to Equinox.

The improvements included but were not limited to:

  • Going from 25,000 lines of ant code required for a full build down to about 200 lines of boilerplate configuration, plus about 200 lines of custom callbacks,
  • We eliminated about seventy class file catalogs used to ensure extra classes were not inadvertently shipped in the wrong jar file or duplicated unnecessarily,
  • Reducing the size of application distros by eliminating unused dependencies
  • Surfacing previously unknown bugs based on dangling references to missing classes and libraries,
  • Eliminating a large body of code devoted to managing extensions with segregated class spaces using custom class loaders.
  • Going from managing four different runtime configurations for each application–the IDE classpaths, the IDE launchers, the runtime script classpaths, the build script classpaths–down to a single feature descriptor listing the OSGi bundles comprised by each application.

And probably the biggest improvement was in the introduction of the extension mechanism provided in Equinox to extend applications with a sort of dependency injection. This allowed us a new lease on life as a platform for custom configuration and specialized implementations instead of a product trying to be all things to all customers.

Well worth the read!

Equinox and OSGi Video Series

Michael Cote from Redmonk has been busily producing a series of videos about Equinox, OSGi and the different Eclipse projects that are building on top of Equinox. If you are new to Equinox and OSGi, this series should provide a great introduction.

Video 1 – Jeff McAffer introduces Equinox and Component Oriented Development

Video 2 – Jochen Krause demonstrates how Eclipse RAP can be used to build AJAX applications based on Equinox bundles.

Video 3 – Ricco Deutscher from the Swordfish project provides an interesting overview of how the Swordfish project plans to implement a SOA Runtime that support JBI and SCA running on Equinox.

Video 4 – In this video, Cote talks with Andy Smith from the Eclipse SODA project, a component of the Eclipse OHF project. SODA is a great example of using Equinox to implement dynamic deployment and management of remote devices.

Video 5 – Is an interview with Eric Newcomer, chair of the OSGi Alliance Enterprise Expert Working Group. The work of this OSGi Alliance working group is important for the future adoption of Equinox and OSGi in the enterprise. Therefore, it is interesting to hear Eric’s vision and opinions on this topic.

Eclipse DemoCamp Wrap Up

  • Cities hosting DemoCamps: 31
  • Eclipse-based demos: 145
  • Total attendees: 760
  • Longest running event: Poznan Poland over 2 days
  • Most Attendees: 61 in Sofia, Bulgaria
  • Number of NetBeans evangelist registered: 1 in Austin   (not sure if Gregg attended)
  • Opportunities to meet other Eclipse enthusiasts: unlimited 🙂

Thank you to all the organizers and participants of the Eclipse DemoCamps. By all accounts they were a great success. The feedback we have received is that this is something we should do again in 2008. Therefore, I think we will try to organize a series around the Ganymede launch and another later in the 2008.

Some other feedback is that people would like to develop regional Eclipse communities. The face to face networking is an important aspect of these DemoCamps and they would like to keep the momentum going. If you have any ideas on what we could to to support local communities, please let me know.

Top Contributor Award has been added

By popular demand we have added a Top Contributor award as a category to the Eclipse Community Awards.   The key feature of a Top Contributor is that

they make their contributions due to their passion for making Eclipse a better community. In general, no one is paying them for the time they spend on making their Eclipse contributions.

There are a lot of people that deserve this award, so I am glad we are bringing it back.  Get your nominations in now.

btw, I do hope we get a lot more nominations for the Top Amabassador and Top Committer award.  Similarly don’t forget to nominate a product for the technology awards.  The deadline for nominations is January 25.

Thank you for the support

It has been just over 2 weeks since we open the Friends of Eclipse donation system. I would like to thank everyone who has taken the time to make a donation and show their support.

Today we had a special donation of $500 from David Lynch. In his comment David states ‘With great appreacition to the EMF folks who answer our ceaseless questions with great care.’ What a great way for someone to recognize the efforts of Ed Merks, Nick Boldt and the entire EMF team. Congratulations!

btw, I have been surprised there hasn’t been more donations in the $5-$10 range. Based on the contributions people make to wikipedia I was really expecting to see more in that range. I know resources can be tight, so please don’t feel you have to donate $50+; $5-$10 would be appreciated too.

Bug Labs Use of Eclipse and OSGi

Bug Labs is a company I have been watching over the last couple of months.  Besides having a great name, they are building a platform for consumer electronics using OSGi for the runtime and Eclipse for the SDK.  They just announced their Eclipse based SDK, Dragonfly is now available.

It is great to see them use OSGi as their component runtime platform and another great example of the power of OSGi.    It looks like they are using the Concierge OSGi  runtime but I wonder how easy it would be to also use Eclipse Equinox?

btw, Ken Gilmer from Bug Labs are also doing a session at the OSGi DevCon, held in conjunction with EclipseCon.   It will be interesting to see what they have to present.