Jeff McAffer: Equinox - the power for all runtimes at Eclipse
JAXenter: Can you describe the Eclipse Equinox
Project in a few words?
Jeff McAffer: The Equinox project provides the power behind all runtimes at Eclipse. >From a code point of view, Equinox is an implementation of the OSGi specification which provides a standard modularity runtime for Java. The goal of the Equinox project is to be a first class OSGi community and specification implementation. The project participates in the investigation and research related to future versions of OSGi specifications and related runtime issues. The project is also open to the development of other infrastructure deemed to be essential runtime technologies at Eclipse and the management of OSGi-based systems.
JAXenter: Can you give a typical use case for the project?
Jeff McAffer: Equinox is the base for all runtimes at Eclipse. In general, Equinox is used to provide a uniform component model which makes it easy to extend and assemble components into solutions for a wide variety of computing environments . As such the use cases for the project are very diverse. These include providing runtime solutions for embedded devices, desktops and servers. Many modern Java application servers from Websphere to Spring DM are based on Equinox. NASA uses Equinox and the Eclipse rich client platform to control various space missions and a number of companies are using Equinox in embedded controller scenarios.
JAXenter: What´s new in the Galileo Version of Equinox?
Jeff McAffer: With the Galileo release Equinox implements the latest OSGi specification which is now at version 4.2. We continue as the reference implementation for the core framework as well as many of the compendium OSGi specifications such as Declarative Services and Event Admin. Galileo is also the second release to include the p2 provisioning system for Eclipse. In the Galileo release p2 saw many improvements to the UI, performance, robustness and flexibility. We are very excited about the growing interest in p2 and provisioning of OSGi systems. With the Galileo release p2 is positioned to be the premier management system for Equinox and OSGi frameworks.
JAXenter: Where do you see Equinox in one year? How will the project evolve after Galileo?
Jeff McAffer: The Equinox project will continue its involvement in the OSGi specification process. This includes research and investigation into the next major release of the OSGi specification. As the OSGi specification continues to gain popularity in the enterprise and server space we anticipate a few key areas that Equinox will be a leader in. This includes improving the management of OSGi-based systems with p2 and improvements to the OSGi core framework to provide application isolation in the enterprise space.
JAXenter: Which new trends do you see in the Eclipse Ecosystem in general and where do they lead us in the next generation 4.0 of Eclipse?
Jeff McAffer: One of the biggest trends at Eclipse is the emergence of EclipseRT. EclipseRT is the use of Eclipse technologies in runtime scenarios. Equinox is at the heart of this movement but many projects at Eclipse from RCP to RAP to EclipseLink to BIRT and EMF factor heavily in creating runtime solutions. With Equinox being adopted in so many enterprise scenarios we are bound to see new innovations and contributions from the likes of SAP and others. Overall the EclipseRT story will evolve with clear end to end use-cases and support for scenarios derived from the ongoing e4 work.
JAXenter: Thank you very much for this conversation!
Jeff McAffer leads the Eclipse Equinox OSGi, RCP and Orbit teams and is CTO and co-founder of EclipseSource. He is one of the architects of the Eclipse Platform and a co-author of The Eclipse Rich Client Platform and the upcoming book Equinox and OSGi (Addison-Wesley). He co-leads the RT PMC and is a member of the Eclipse Project PMC, the Tools Project PMC and the Eclipse Foundation Board of Directors and the Eclipse Architecture Council. Jeff is currently interested all Aspects of Eclipse components from developing and building bundles to deploying, installing and ultimately running them. Previous lives include being a Senior Technical Staff Member at IBM and work in distributed/parallel OO computing as well as expert systems, meta-level architectures and a PhD at the University of Tokyo.