Eclipse Expands Runtime Scope

Developers push Eclipse platform to run apps across different systems

Developers of the open-source Eclipseplatform have been expanding its ability to runapplications across different systems.

The idea is to allow developers who use Eclipse to "build anddeploy the application logic and defer those decisions [of whatplatforms to run the application on] until deployment time," saidMike Milinkovich, executive director of the Eclipse Foundation."That is where we're trying to take this technology."

Milinkovich spoke May 6 at the JavaOne Conference in SanFrancisco.

Eclipse software plays two roles. It is an integrateddevelopment environment that developers can use to build programs.It supports multiple languages, such as C++, Fortran, Java, PHP,Python, Perl and Tcl.

In its second role, the program works as a rich client platform(RCP). This runtime environment serves as a middle layer betweenthe programs and the different operating systems and hardwareconfigurations. Developers can write a program once for Eclipse andthen use different versions for each computer/operating systemcombination the program will run on. That way, a single version ofa program could run on both Microsoft Windows and Linux, using theOS-specific version of Eclipse for each platform.

Although Eclipse's RCP functionality has been used for desktopcomputer applications for several years, developers have beenlooking for ways to expand the scenarios in which the softwarecould operate, which its component-based architecture supports."Eclipse is a container-based approach [in which] you candynamically load and unload components," or bundles, as needed,Milinkovich said.

For the presentation, Eclipse evangelist Wayne Beaton showed howthe same basic program — an expense reporting tool —could run on a laptop PC or a Nokia phone and be delivered to theclient as a Web page.

The program can be written once and, with minimalreconfiguration, be run on different platforms. Bundles thatsupport the different platforms are added as needed.

"The bundles that are shared do not need to be recompiled,"Beaton said. “Build them once, and run them on differentplatforms.”

For the laptop PC demonstration, the program ran on the standardRCP configuration. For running as a browser page from a server, thesample program relied on Eclipse's Rich AJAX Platform, whichformatted all the features for a Web browser using AsynchronousJavaScript and Extensible Markup Language. The platform wasreleased in December.

And for the mobile phone, the program used the embedded RCP(eRCP), which reformats the interface to work in a smaller formfactor and use the additional controls often found on cell phones,such as side buttons. Like the other versions of this program, themobile version allows users to add or edit expense line items.However, the interface is broken up into multiple windows, each ofwhich can only be accessed one at a time.

In addition to showing off Eclipse's multiplatform prowess, thesoftware's spokesmen talked about the next release of the program— Version 3.4, codenamed Ganymede. It is due to be releasedJune 27. (New versions are always released on the last Thursday inJune.)

For the latest release, 24 new or updated bundles will beshipped. One new item links Eclipse with Subversion, an open-sourceprogram for managing large software development projects. Anotherwill be a collection of tools for enabling service-orientedarchitecture.

Version 3.4 will also be the first to offer packages ofcomponents tailored for specific uses, such as development in Java,C++ and software modeling.

-- Joab Jackson