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.

Boeing’s code contribution to OSEE

The Eclipse Open System Engineering Environment (OSEE) project is one I have been interested in watching. Of particular interest is the fact it is being led by a group of engineers inside Boeing. In my opinion, I think the next wave of open source projects will involve non-traditional ISV’s, companies like Boeing, building industry specific frameworks. Who better to led a system engineering framework project than a group that designs software for aircraft manufacturing?

Therefore, it is great to see that OSEE now has code available in the repository. Also, check out the extensive set of screencasts to help people learn about OSEE. Seems like they are off to a great start.

Nominations now open for the Eclipse Community Awards

Each year at EclipseCon, the Eclipse Community Awards recognize some of the key individuals and technologies that help make Eclipse such a great community. This year is no different and the nominations for the awards are now open, so we need your help to nominate individuals and technologies. Deadline for nominations is January 25, 2008.

Nominations for individuals is done through a bugzilla entry. There are two categories that are open for nomination: Top Ambassador and Top Committer. The final winner will be determined by a vote of the community. A third category, Most Prolific Newcomer Evagelist, is to recognize the individual that answer the most questions on the eclipse.org newcomer newsgroup.

Nominations for the technology awards is by sending a written nomination to awards@eclipse.org.  The winners of these awards is determined by a panel of judges.  There are 6 categories for technology awards:

  1. Best Commercial Eclipse-Based Developer Tool
  2. Best Open Source Eclipse-Based Developer Tool
  3. Best Commercial Equinox Application
  4. Best Open Source Equinox Application
  5. Best Commercial RCP Application
  6. Best Open Source RCP Application

btw, if you are interested, last years winners and finalist are listed here.