Mitch Pronschinske is a Senior Content Analyst at DZone. That means he writes and searches for the finest developer content in the land so that you don't have to. He often eats peanut butter and bananas, likes to make his own ringtones, enjoys card and board games, and is married to an underwear model. Mitch is a DZone Zone Leader and has posted 2573 posts at DZone. You can read more from them at their website. View Full User Profile

EclipseRT and the Component-Oriented Approach to Development

04.14.2010
| 8755 views |
  • submit to reddit
Application servers like JBoss AS and IBM's WebSphere have made significant efforts to implement OSGi in their plumming.  EclipseRT is an effort by the Eclipse Foundation to use OSGi (via Equinox) as a basis for their whole platform.  At Red Hat's Middleware 2020 virtual forum, Chris Aniszczyk, an Eclipse representative and Red Hat employee, discusses the benefits of a "stackless stack" that lets developers use only the components they need for a particular project.

Four or five years ago Eclipse started adding platform technology for building client applications.  This effort was called the Rich Client Platform (RCP).  At the same time, Eclipse began replacing the plumbing underneath Eclipse with OSGi, starting with their plugin architecture.  Eclipse.org also became a hosting site where over 200 projects, ranging from tools to runtime containers, are currently housed.

In 2008, the EclipseRT project was announced and it started with the Equinox OSGi runtime framework as its backbone.  Today, EclipseRT provides a foundation for an enterprise architecture, allowing developers to customize the enterprise stack for a specific application's needs.  The project enables the development of desktop, web, and embedded applications among other things.  EclipseRT's component-oriented approach is named CODA (Component Oriented Development and Assembly).  The three stages of CODA involve the creation of OSGi bundles, customization and extension of those components, and the assembly into individual solutions.  This process of customizing multiple components using a non-tiered architecture allows developers to spend less time carving down bulky runtimes.


Credit: Eclipse

EclipseRT contains the following components:

  • UI layers with RCP, RAP, or Riena
  • Runtime containers such as Jetty and Equinox
  • Persistence services with EclipseLink
  • Data reporting support from BIRT
  • Data modeling with Eclipse Modeling Framework (EMF)
  • Remote communication and distributed OSGi with ECF
  • SOA integration with Swordfish
  • Persistence services with EclipseLink
  • Identity integration and management with Higgins
  • Access to unstructured information in the enterprise via search solutions using SMILA
  • A Dynamic Enterprise Application Platform for server-side development with Project Virgo; based on SpringSource's dm Server
  • Standard OSGi specifications within the Project Gemini modular framework
  • e4: the next generation platform for Eclipse's component-based applications and tools

These are the organizations currently using EclipseRT:

  • IBM's Jazz SCM
  • SpringDM
  • SAP
  • GlassFish
  • IBM's Lotus
  • Oracle
  • JP Morgan
  • Infor
  • WebSphere
  • NASA
  • US Army

Aniszczyk said he agreed with Mark Little's critical assessment of software development at the end of his presentation.  "We're doing a bad job in writing reliable software," said Aniszczyk.  "Let's be honest with ourselves.  The status of software is that it's getting more complex, it's not really reliable, and the traditional JEE stack has a lot of services that developers can use out-of-box, but this results in a monolithic stack.  You can't pick and choose what you want to use."  Aniszczyk also says it's getting harder for developers to collaborate because many are becoming increasingly specialized in one area of complexity.  This is another reason why the component model is so important.  Aniszczyk followed up this discussion with a tour of Toast, a system built using EclipseRT.

Toast
"Toast is the de facto EclipseRT example," said Aniszczyk.  It is a telematics system that tracks the locations and statuses of vehicle fleets.   Toast demonstrates a wide variety of EclipseRT components on the client-side and server-side.  Each vehicle has an interactive display with integrated applications such as Google Maps.  At the home base, you'd find a central interface for managing all of those vehicles.  You can visit the Toast page [http://wiki.eclipse.org/Toast] on Eclipse's wiki to see how different EclipseRT components were used in Toast.

___

Another topic at this conference was the future of the JCP and OpenJDK.  Google's chief Java architect, Josh Bloch discussed his hopes for Java and the JCP under Oracle.  He shared the same thoughts with DZone in February, just a few days after the Sun acquisition was approved.