No one's calling it the new supermodel yet, but the Eclipse Modeling Project (EMP) update that will be part of the June 29 Europa tools release from the Eclipse Foundation has adorned itself with the latest in service-oriented architecture chic.
Besides providing mature tools for graphical modeling and support for Unified Modeling Language (UML) version 2.0, EMP supports the other tools in the Europa release including the new SOA Tools Project and the Web Tools Project, explained Ed Merks, Eclipse Modeling Framework project lead.
The importance of EMP to SOA goes beyond the modeling requirements and generation of APIs in an SOA implementation. "It's being used to implement Service Data Objects (SDO) and Service Component Architecture (SCA)," he said of the two specifications moving through the OASIS process and supported by vendors including IBM and Oracle Corp.
EMP also provides a link within SOA to the OSGi, originally known as the Open Service Gateway initiative, which Eclipse is implementing in the Eclipse Equinox project and is championing as the underlying technology for all enterprise application development, including SOA, rich Internet applications (RIA) and Ajax. "You can use the EMP modeling technology in service-oriented architecture to bridge from a Web services front end to an OSGi service running inside," said Richard Gronback, chief scientist at Borland Software Corp. and lead for the Eclipse Graphical Modeling Framework (GMF) project that is part of Eclipse EMP.
Europa will make the fourth annual chain release of Eclipse tools and Merks, who is senior technical staff member at the IBM Toronto Software Lab, said Eclipse Modeling Framework (EMF) has been there from the start.
"EMF goes back to when Eclipse first came out," he said. "From the beginning we described EMF by pointing out that Eclipse itself was about integrating all of your user interfaces so you could build a very cohesive IDE where all the parts interrelate and interact.
While modeling might be popularly thought of as a sub-project in application development, Merks said Eclipse and IBM learned the hard way that modeling is vital.
"In the beginning Eclipse itself was providing nothing in the way of fine grained data integration," Merks explained. "The data that all of the views were displaying and manipulating was being implemented in all manner of different ways. This was also a problem within IBM. Every time somebody needed to define a model they would do it in some completely unique way and when the models needed to interact they just didn't. If you needed to work with XML Schema and UML and other standards you had to learn all these different APIs. You couldn't really refer from one model to another. That was the purpose of EMF. It provides the fine grain data integration between all of the different types of data, so you could manipulate data without ever having seen that type of data before."
Over the years, EMF has grown organically to embrace UML and add the graphical diagramming tools, added Gronback.
"The Eclipse Modeling Framework is used today by many commercial and open source projects to provide a standard way of generating an API," he said. "Folks came along afterwards and added graphical editing capabilities. Then UML was implemented on top of EMF for UML modeling. We've recently added UML diagramming so you can work with diagrams."
Having been part of the Callisto release last June and this year's Europa, Merks and Gronback are already looking ahead to next summer's release, which, following the Eclipse tradition of using the names of Jupiter's moons, will be called Ganymede.
Still in incubation within the Eclipse Modeling Project are a number of tools for model and text transformation as well as model development tools integration.
"This project is never done," Merks said. "There always things to add. It's best to think of this as an onion. The layers keep growing.
Next week: The Eclipse SOA Tools Project