Microsoft’s Modeling Strategy
The foundation of Microsoft’s vision for their new model-driven service-oriented architecture (SOA) - Oslo project, model driven development would bridge the gap between business analysts and IT, delivering on the SOA promise to align application development with business needs. According to Burley Kawasaki, director of Microsoft's Connected Systems division:
Model-driven development is the missing ingredient that the industry has been looking for. Oslo will be the anchor for a new generation of app development that uses model-driven development, but takes it mainstream. Rather than having models being imported and exported and generating code, the model is the application and that breaks down the silos. We're creating a general purpose set of modeling tools, modeling language and repository that can bridge all the various types of models that describe an application and move models to the center of application development. Models then become the app. You send the model to the server, not the printer.
Although this overall vision was articulated quite clearly, the question remained on whether this modeling vision will be based on UML, which is the lingua franca of today’s architecture world. Burley Kawasaki clarified Microsoft’s position:
[UML is] one of the standards Microsoft needs to support, but it's not the only one. We think of it as one of the important modeling notations, but it's not the only one. Microsoft plans wide support for a range of modeling tools from its own basic Visio diagramming product to UML, but also including other language requirements such as business process modeling notation (BPMN)
As Oslo vision matures, Microsoft’s vision for modeling approach starts to change. After several years pursuing a modeling tool strategy focused on Domain Specific Languages (DSLs), Microsoft is broadening its approach to include more UML-related modeling tools. Although Microsoft formerly offered UML via a Rational Rose insert in Visual Studio, it is now planning to support UML natively in Visual Studio 10 and has joined OMG to be able to align closer with the UML development.
Last week, Microsoft announced that Visual Studio Team System 2010 will have a UML-based Team Architect tool designed to be used not only by architects, but application developers, database developers and testers. Team Architect will not only allow for design of new applications but will also support reverse engineering of existing applications so that architects and developers can see the architecture before beginning to add modules or modify code.
Martin Woodward, senior software engineer at Teamprise, a division of SourceGear LLC, notes:
The thing that impresses me most about the 2010 release of Team System Architecture Edition is that they are catering for both the top-down architecture design and well as bottom-up 'show me what was actually done' activities that a software architect finds themselves doing day to day. The product is also much more suited to 'real life' architectures than its predecessor, architectures that may be delivered over a number of technologies and platforms - not all necessarily using Microsoft product stacks.
The Team Architect tool will fit into the Oslo modeling platform for composite applications. According to David Chappell, principal of Chappell & Associates,the positioning of Team Architect and Oslo is as follows:
You've got to use Visual Studio to write the code but can use Oslo modeling tools to assemble created artifacts into a work flow. Integration for doing that is already in the early release of Oslo.
Although plans for integration of Team Architect and Oslo have not been solidified yet, according to Cameron Skinner, product unit manager of Visual Studio Team System 2010:
We're still early in our thinking about this. The plan right now is that at a bare minimum they will interoperate.
While the nitty gritty of Oslo and Team Architect are still being worked out at the bits and bytes level, Woodward says Microsoft appears to be on the right path.
If Microsoft delivers half of what they are talking about with Visual Studio Team System 2010, then they will truly revolutionize this market. Everything I have seen about it to date makes me think that this is going to be a game-changing product.