This is the second in a series of articles previewing the Eclipse Foundation's annual downloadable project release, code named Ganymede, which is set for Wednesday, June 25. Find the rest of the series here.
SCA, currently making its way through the OASIS standards process, and UML 2.0 from the Object Management Group, are both building blocks for service-oriented architecture (SOA). Although EMF focuses on modeling standards and tools, it also supports SOA through the Eclipse SOA Tools Project (STP), which is incorporating its modeling technology, said Richard Gronback and Ed Merks, EMF co-leads.
"A lot of the infrastructure that we're building is used in STP," Merks said. EMF is increasingly used to build SOA runtime applications, he said.
"EMF is used heavily not just to build the tools infrastructure, but also in SOA runtime components," Merks said. "There's a lot of interest in using EMF directly with SCA. There are people working on the EMF technology project to implement Web services using model-based design methodologies. EMF is also heavily used as an XML binding framework. People will often just take schema and feed it to EMF and out comes an editor and a model and a parser, all the parts they need for working with their XML instances. That's a very popular piece of the puzzle in overall SOA architecture."
In modeling for SOA, Merks is also seeing a growing interest in lightweight modeling, which is supported in EMF. Ecore, the core event abstraction layer, is becoming popular with developers who want to work with smaller models, which EMF supports, he said
"With this release, we have a graphical Ecore tools editor that lets you edit models graphically," Merks explained. "Basically, it looks like you are editing a UML diagram, but you're editing Ecore directly."
Asked why Ecore is becoming popular with developers and architects, Merks said: "Ecore is much more lightweight. You can think of it as UML boiled down to the essence of exactly what you need to describe your object instances. You can almost think of it as the intersection between XML Schema and UML2. It's the common basic core parts that you need to actually specify a data model."
For example, he said XML Schema can be read into Ecore and then worked with in the more lightweight format. Ecore can also be used to record changes made to an SOA application.
"Another cool feature for SOA applications is the ability to do a change recorder," Merks said. "If you have an Ecore model you can create an instance of it with or without having generated code. Then you can attach a change recorder to that instance and as you've modified it, it keeps track of what you've changed. When you're done you can turn that information into an instance of a change description, which is another type of model."
Two-way mapping with XML Schema
Ecore can also be used as a translation hub for two-way mappings between UML or XML Schema, Merks said.
"We have a lot of two-way mappings between Ecore and other languages," he explained. "We have two-way mapping between XML Schema and Ecore, and two-way mapping between UML and Ecore. In that sense you can think of it as a translation hub. You start with a UML model. You can translate it to Ecore. Then you can export it as an XML Schema. So in that sense you can interchange between the two and get an Ecore model where you can generate a Java interface and that interface is annotated in such a way that you can actually import directly from a Java interface to create an Ecore model. So you can kind of think of it as a hub and spoke system where Ecore is the hub and each time you add in a new language you can do two-way translations."
New UML diagrams
UML 2.0 (a.k.a. UML2) diagrams have been expanded in this year's version, said Gronback, who has focused his effort this year on the UML2 Tools component of EMF.
"Last year there were a small number of diagrams available, this year there is a larger number of diagrams available in the UML2 Tools component," he explained. Newly available in the Ganymede release are the deployment diagram, use case diagram and the composite structure diagram.
"The graphical modeling framework, which is used to generate the UML diagrams has a number of usability enhancements," Gronback said, "things like being able to group elements on diagrams. There are also improvements in the palette for diagram tooling."
As this series on Ganymede continues next week, it will focus on the SOA Tools Project, the Web Tools Project and the Rich Ajax Platform.