Microsoft today unveiled a futuristic vision of technology for service-oriented architecture (SOA) development where "the model is the application."
A preview of the next generation of Visual Studio tools for model-driven design and deployment of composite applications was part of the keynote at Microsoft's SOA & BPM Conference opening today in Redmond, Wash. Under the umbrella code name Oslo, Microsoft is announcing planned research and development for Visual Studio 10, BizTalk Server 6 and System Center, its policy and management product, which will all share a common metadata repository as part of the .NET framework.
In the Oslo product roadmap these products will first be available to users in a Community Technology Preview (CTP) in 2008 with general availability scheduled for 2009.
In discussing Oslo in an interview before today's announcement, Burley Kawasaki, director of Microsoft's connected systems division, said the company has figured out a way to deliver on the promise of model-driven development in SOA. In Microsoft's vision, business users, SOA architects and developers will be able to use the modeling tools in the next version of Visual Studio to collaborate on composite applications.
If it works as Microsoft envisions it, model driven development would bridge the gap between business analysts and IT and deliver on the SOA promise to align application development with business needs.
"Model-driven development is the missing ingredient that the industry has been looking for," Kawasaki said. "Oslo will be the anchor for a new generation of app development that uses model-driven development, but takes it mainstream."
He anticipates that the Microsoft concept that "the model is the application" will be met with we've-all-heard-this-before skepticism.
So he begins explaining it with a rhetorical question: "Model-driven development, what's new about that? People have been talking about models, visual development and CASE tools for a number of years."
But he insists this is not your father's model-driven development. In the past, modeling was done in the old waterfall approach where a business analyst diagrammed an application, printed it out and then threw it over the wall to IT developers to code it, Kawasaki said. That approach usually led to a disconnect as the developer tried to interpret the model and write code to provide the apparent functionality the business side wanted.
Explaining why that model-driven approach usually failed from the business analysts perspective, Kawasaki said: "At some point the programmer has to make some guess about how to interpret the model. As the model evolves and gets put into production, your descriptions of what the business needed are out of synch with what the application actually does."
Another problem with past attempts to do model-driven development was that the modeling process tended to be "siloed and fragmented," Kawasaki said. "A business analyst may only see a few types of models, a requirements model, a business process model, maybe some business policy. An architect might see a different set of models, schemas, contracts. Then a developer has another set of models, rules, the executable parts of the model. So you've got all these subsets of models trapped in silos."
The Microsoft approach, which will be embodied in the Oslo tooling, is to make modeling a collaborative effort among business analysts, architects and developers and eliminate the coding step.
"Rather than having models being imported and exported and generating code, the model is the application and that breaks down the silos," Kawasaki said.
As he explained the Oslo vision, the modeling process would become application development.
"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," Kawasaki said. "Models then become the app. You send the model to the server, not the printer."
Until business users, architects and developers can get hands-on experience with the tools during the planned beta stage later next year, there is likely to be some skepticism about Kawasaki's assertion that Microsoft is "eliminating the middle step of translating models into code."
If it can deliver on this promise, Oslo would assure that the SOA application that business users envision and define would actually be what they get.
"If you can make the model executable," Kawasaki said, "where the model is the application, then you lose the gaps and handoffs. The model that business defines is the thing that actually executes."