EclipseCon 2008 Roundup
Notable press releases
The big news release at the start was the announcement of a top-level project called Eclipse Runtime, or Eclipse RT for short. Like Apache, Eclipse organises projects into 'top level projects' (which share a common repository and sometimes mailing lists and the like) and 'components' (which implement a specific piece of functionality like SWT or ECF Jabber support).
The runtime project aims to host the OSGi runtime of Eclipse (Equinox) as well as other key components (like the Eclipse Communication Framework). In addition, a new Equinox Portal has been created to foster involvement in the wider community at the underlying runtime area, as distinct from Eclipse or Eclipse Platform which are often associated with the (Java) IDE aspect.
The Eclipse Foundation today announced a new initiative to develop and promote open source runtime technology based on Equinox, a lightweight OSGi compliant runtime. While Eclipse is well known for its widely used development tools, this initiative establishes a community of Eclipse open source projects focused on runtime technology that provides a more flexible approach to building and deploying software on mobile, desktop and server environments.
"Launching the Equinox community to focus on runtimes is a natural evolution of Eclipse," said Mike Milinkovich, Executive Director of the Eclipse Foundation. "Our community has already developed runtime projects like RCP, RAP, Swordfish, EclipseLink and ECF. This new community will help organize and foster additional projects that focus on making it easier to develop and deploy software."
The other main news release at EclipseCon was EclipseLink being chosen as the reference implementation for JPA 2.0 (aka JSR317). The Java Persistence API is the Java API for the management of persistence and object/relational mapping for Java EE and Java SE environments:
The Eclipse Foundation today announced that Sun, the lead for the Java(TM) Persistence API (JPA) 2.0, JSR 317 standard has selected the EclipseLink project as the reference implementation. The Eclipse Persistence Services Project (EclipseLink), led by Oracle, delivers an open source runtime framework supporting key persistence standards. The EclipseLink project provides a rich set of services that address complex mapping, performance and scalability and advanced functionality required for enterprise Java applications.
JSR 317, the Java Persistence API, is the Java API for the management of persistence and object/relational mapping for Java Platform, Enterprise Edition (Java EE) and Java Platform, Standard Edition environments. As the reference implementation, EclipseLink will provide a proven, commercial quality persistence solution that can be used in both Java SE and Java EE applications.
"Using EclipseLink as the reference implementation of JSR 317 is another great example of the JCP and Eclipse communities working together to streamline the development of Java software applications," said Mike Milinkovich, executive director of the Eclipse Foundation. "Open collaboration such as this helps drive the wide adoption of technology."
This release is particularly noteworthy since the EclipseLink project was donated by Oracle last year based on their TopLink product; it's also going to be used in Glassfish 3 as well. Although it's unlikely that Sun will join the Eclipse Foundation any time soon, this kind of co-operation can only help everybody.
Lastly, Microsoft's Sam Ramji promised to commit resources to help with the WPF port of SWT, although at the moment the agreements aren't in place yet. In addition, the Windows CardSpace team have been working with the identity management project Higgins project (which recently released Higgins 1.0).
Evolution of Eclipse
Eclipse has always had a healthy ecosystem. Whilst the biggest single recent change has been the introduction of the OSGi runtime, there's a healthy debate about the future of Eclipse: this year's EclipseCon saw a special targetted presentation on E4 , along with a BoF session (notes). The key point is to host an Eclipse session using the browser as a user interface, and the code located on a server - that way, you can log in and code wherever you are. Part of this work will result in more asynchronous APIs being created (to work in an asynchronous web-based environment) and will likely filter down to the Eclipse 3.x stream in future. At present, E4 is a set of ideas that may evolve over time, so it's one to watch in the future; in the meantime, there are some demos available.
The Rich AJAX Platform already has code that renders an existing implementation in a web browser (along with demos). There's minimal code changes necessary to run an existing view, although persistence of data needs to be considered and handled in a Servlet-like fashion.
OSGi in the forefront
For the last three years, OSGi DevCon has been co-hosted with EclipseCon. Eclipse has used an OSGi runtime since 3.0; now, many enterprise applications such as BEA's microServicesArchitecture, IBM's WebSphere (and in the future even JBoss) are built upon OSGi runtimes. Given that there are several OGSi implementations - Felix (formerly Oscar), ProSyst's mBedded Server, Knopflerfish and of course Equinox - there's a runtime to suit particular performance and licensing needs.
Whilst the last few years have presented more beginners topics such as what OSGi is and how it can be used, there's were a considerable number of directed topics this year, such as Using Spring Dynamic Modules (formerly called Spring OSGi) and hardware-related talks (using OSGi with Android and BugLabs using custom hardware with OSGi. In addition, Spring Titan has been recently announced as an OSGi platform for building user interfaces for J2ME platforms, joining Nokia's usage of eRCP. There's an upcoming webinar on the Sprint Titan development platform.
Given that the stated goal of JSR 277 and JSR 294 is to be compatible with OSGi (aka JSR 291) and the ever-rising priority of Sun bug 6650394 making it into the top 25 RFEs, combined with the multi-vendor and adoption by the rest of the industry, it seems a large number of modular systems will continue to be based on OSGi in the future.
EclipseCon (and OSGi DevCon), like all conferences, are places to go and meet and discuss ideas and implementations, and this year was no exception. In addition, it's a place where the wider community can gather rather than hosting discussions on specific project websites. The presentations are sometimes available from the EclipseCon site afterwards.
The creation of the Eclipse Runtime project is a clear marker that Eclipse isn't just for IDEs. Equinox-based solutions are likely to evolve as a tried and tested modular architecture, both on the web (with RAP or even E4 in the future), the client side with Rich Client Platform, the mobile client with eRCP and the server side with Equinox server.
Re: EclipseCon 2008 Roundup
You man be interested to note that David Savage presented on distributed OSGi and on how Paremus are dynamically scaling OSGi / SCA / Spring DM based composite systems across 100 of servers.
David's presentation was really well attended 100+ people / standing room only. It was quite apparent that there is rapidly growing interest in OSGi usage within the Enterprise.
Not that I attended - (unfortunately on EclipseCon stand duty) - but there was also an interesting presentation by Jan Rellermeyer on R-OSGi - again, I believe very well attended.
Re: EclipseCon 2008 Roundup