SOA has made progress through the years without an associated language - and some people would say a SOA language
in itself would not be a good idea, thank you very much. But what about a UML profile that might help architects and developers better describe the services at the heart of SOA?
That is in part the goal of SoaML, the Service oriented architecture Modeling Language. This spec, fashioned as a profile of UML, has spent a couple of years going through the standards processes of the Object Management Group (OMG) and appears to be nearing finalization. Sponsors include Capgemini, EDS, IBM, ModelDriven Solutions, and others.
The SoaML cause last month advanced further when the NoMagic modeling concern bundled open-source ModelPro with SOAML in its Cameo SOA+ suite. This combo supports a graphical approach to services modeling.
ModelPro was formed as an open-source project to further executable Model Driven Architectures (MDAs), according to Cory Casanave, president and CEO of ModelDriven Solutions and founder of ModelDriven.org. The new SoaML "plug-in provisioning cartridge" for ModelPro can generate WSDLs and XML schema. It is intended to automate design and development of SOAs, initially on the Java platform, Casanave said.
With SoaML, "the goal is to connect business and technology," he said. ModelDriven Solution's efforts revolve around helping organizations create software architectures. The company's SoaML work grew out of a realization that better tools were needed for such efforts.
SoaML seeks to define a metamodel for the service interfaces with which developers work. It maintains compatibility with UML and BPMN. It seeks to further the long-standing Web services goal of creating useful contracts between services.
A strength and a weakness of UML is its general purpose nature, but it has long been intended to support specific profiles, like SoaML, that can be applied to specific problems.
Is better definition of 'services' such a problem?
Perhaps, says Lloyd Dugan, Senior Project Director/CTO at Information Engineering Services, a consultancy. Dugan was among the attendees looking into SoaML at last month's OMG Technical meeting in Arlington, Va.
"It seems like a great idea. I wish I had it a few years ago," said Dugan. "It would have saved a lot of effort in trying to figure out how to work effectively with UML."
"A few years ago most tools used UML 1.1, but that was a constraint. The tools didn't explicitly incorporate services," he said. During that time frame, Dugan and colleagues worked with UML stereotypes in a manner to create their own profiles to document the salient aspects of services.
More full-fledged, SoaML does a more thorough job of approaching services modeling issues, suggested Dugan, although there may still be room for improvement. "I think SoaML approaches services in a richer, well thought out way," he said, while noting that having more version control information would be useful in SoaML. "I see an intention on the part of the (standards effort) to address that," he said.
Related SoaML information
ModelPro download ModelDriven.org