Tony Baer has a great rundown of the EclipseCon OSGI-based runtime Equinox news today. Extending the Eclipse community's unity to runtimes makes a ton of sense, given that developers can focus on the applications and business logic and become far less concerned with complex deployment issues. Write once, run anywhere?
Eclipse's component development plan, called CODA (Component Oriented Development and Assembly), hinges on Eclipse's Equinox, which is the foundation's OSGi-based runtime and a part of the new Eclipse Runtime project.
The best new benefits will come in the conjunction of the Eclipse tools and Equinox runtimes. For example, developers in a vertical industry niche can use the tools and runtimes together and via community synergies enjoy a "common platform for participation."
I've long been a complainer about the gulf between runtime and design time, with the clear need for better feedback between the two -- especially in the era of Agile and web services assembly. An Eclipse-Equinox ecology symmetry gets us on the way.
The arrival of OSGi-based runtimes also conjures up the ability to repackage middleware as OSGi bundles, sort of like the BEA microarchitectures, which would be most welcome in highly virtualized runtime stack environments. Are you going to need a full LAMP or Windows stack to support a service in an SOA? Why not build a SOA stack on top of Equinox? Check out Swordfish on this sort of thing.
I can see where the OSGi runtime stuff, open source ESB stuff and variety of SOA tools in general can come together in fruitful ways. Flexible custom stacks and SOA make great conceptual bedfellows. Optimized stacks on the fly?
There are also implications for the SaaS and cloud folks, whereby they can look to these flexible custom Equinox stacks to efficiently support their applications and services, be they in virtualized or traditional stacks. Custom build the apps from the ground up, for better performance, less waste, less integration headaches. Green, baby.
What's more, the whole mobile and MID space is a perfect target for OSGi runtime bundles, given that OSGi originated in the embedded space. Small, lightweight, and reliable -- works for me. Sprint is already an OSGi fan. I think we'll also see OSGi running closely with Android. And Android on the iPhone (someday) offers a very interesting future.
Who loses from a viral Equinox runtime community and uptake? Well, Microsoft and .NET offer similar values, but with less openness and choice. The Java community is entertaining some JSRs, numbers 291 and Sun's 277, that undergird new component models. Sun losing traction on 277 could mean a further loss of control over Java.
Winners could be IBM, because the Lotus Notes and associated groupware clients are already OSGi-based. Community development around Notes, et al -- nice fit, for sure. They ought to give all that Notes client stuff away under OSS licenses anyway, no?