Service-oriented architecture (SOA) developers will find Unified Modeling Language (UML) support in virtually any development tool they chose, according to Richard Soley, chairman and CEO of the Object Management Group Inc. (OMG).
Microsoft's announced plans to support OMG's modeling standard in Oslo, the code name for its Visual Studio 10 wave release, means last major vendor hold out against UML is coming into the camp, the OMG executive said.
"Every major software development tool in the world supports UML," Soley said. "All of IBM's tools, all the Borland tools. The Eclipse toolset has complete UML support. There are something like 75 UML tools available on the market."
The one exception had been Microsoft, which focused on a domain specific language (DSL) approach, he said. With Microsoft planning a beta release of Oslo, including UML support, this fall developers will have the widest possible choices in SOA tools that supports the standard, Soley said.
"This was an important piece that was missing," the OMG executive said of UML, "and we are delighted that you will have access to UML no matter which tool you use now."
Visual Studio developer was not totally left out of the OMG world, Soley noted because third-party add-ons were available. Burley Kawasaki, director of Microsoft's connected systems division, had also pointed out that Independent Software Vendors (ISVs) already offer UML support for the Microsoft tools. But Soley said it is important that Oslo will provide the support directly.
"If you're a Visual Studio user you can use UML without buying a third party add-on," Soley said. "You will now have UML built into Visual Studio."
UML and SOA
Ubiquitous tool support is important in advancing SOA because UML is increasingly used in service-oriented development, said Soley, who is also executive director of OMG's SOA Consortium, which he said was started because of the correlation OMG was seeing between SOA and its standards.
"We found people were using UML for modeling services and for modeling integration supporting service-oriented architecture," he said, explaining the reason for founding a separate organization. It is based on a user group model and now has more than 100 users actively building SOA with UML, he added.
"The consortium was organized to provide a user group where members could share experiences modeling service-oriented architecture and doing business process modeling, governance and all the things that go into a successful service-oriented architecture," Soley said.
He said the users are also including other OMG standards including business process modeling (BPM) and business process modeling notation in SOA projects.
Modeling for SOA
Microsoft's Kawasaki said the model-driven approach as an ideal fit for SOA development. With Oslo, Microsoft is betting that its developer community will see the value of the abstraction that modeling provides.
Modeling is coming to the fore because of the difference between SOA and the older monolithic application development approach, the Microsoft director said.
"The challenge is what do you build with the SOA," Kawasaki said. "You have this whole library or registry of services now, but the way you compose those into composite apps, and build application on top of that, remains just as complex or in all likelihood more complex than before. Because now instead of a well managed, well defined app that you're building in an application domain, suddenly your application is a composite app built on top of hundreds or even thousands of bits and pieces of services, etc. That is much more complex."
Modeling is the way architects can step back from the trees of services to see the whole SOA forest.
"We think modeling is one of the important things that raises the level of abstraction so that people aren't having to be that close to the metal," Kawasaki said of the Microsoft view of modeling. "It you only thought about where to expose the services, you'd be pretty close to the metal where you would have to know which services to pull together and how to combine them and how to use them. We think if you are going to build these composite apps you need a high level of abstraction to re-use a business process or use higher constructs to combine services."
Microsoft's concept is that Oslo will provide a modeling platform that goes beyond just tooling and handles the complexity through abstraction.
"That's why modeling is such an important focus for us and not just modeling at a tooling level," Kawasaki said. "Most people think of modeling at the tooling level, but we think the notion of this modeling platform that brings together the design time and the execution time into a consistent way to specify, share, execute and run those models should be something that will broaden the market for SOA."