Sidebar: A Different Model for Microsoft

One prominent tools vendor that has no plans to build tools to support UML and MDA is Microsoft Corp.

Prashant Sridharan, a lead product manager in Microsoft's tools group, says the company is fully behind the generic idea of model-driven development. But Microsoft believes there's a need for models closely tied to the operating system.

Sridharan says the UML/MDA camp promotes the notion "that you can model once and write your code on a number of platforms," but that's not effective in practice. Microsoft is, therefore, working on a modeling engine and modeling framework to allow users to describe service-oriented applications in a Windows-centric environment. He says he expects partners to deliver UML tools on top of it.

Whitehorse, the code name for the service-oriented design tool, is due in the first half of 2005, with Microsoft's Visual Studio 2005 development environment.

One of the key elements of Whitehorse is an XML-based domain-specific language to describe services or pieces of a network infrastructure and how they connect. Microsoft plans to publish a software development kit for large companies that want to build DSLs.

"The value is there only if you're going to see a massive amount of productivity out of it, because it is a massive amount of effort to do it," Sridharan cautions.

Three designers that Microsoft plans to ship with Whitehorse will help users to create diagrams based on the DSLs. A logical infrastructure designer allows a user to visually depict, with boxes and lines, what each piece of hardware in a network can do. A service-oriented application designer can be used to describe Web services and the protocols to connect them. A class designer is for describing classes or interfaces and the inheritance relationships among them.

Using Whitehorse, an architect who designs a service-oriented application will be able to validate whether the application will work in the network topology that's described, Sridharan says.

And the action of dragging and dropping a service onto the service-oriented designer doesn't merely create a model, it also generates code, because the service-oriented designer is in sync with the class designer and the underlying code. Sridharan says users shouldn't expect 100% code generation, since they will still need to write business logic, but they will see progressively more code generation over time.

Copyright © 2004 IDG Communications, Inc.

Shop Tech Products at Amazon