“Oslo” is Microsoft’s latest pronouncement on the vexed subject of software modeling. This is from the backgrounder, which you can find here:
We are building a general-purpose modeling language, tools and repository to bridge all the models within an application, moving models to the center of application development. Models will no longer just describe the application, they will be the application.
Cool. But isn’t this reminiscent of what the OMG has talked about for years, with UML 2.x and Model Driven Architecture?
Why has MDA failed in mainstream development? I suspect the key question is whether it complicates rather than simplifies the software development process. In other words, the MDA overhead may exceed its benefits for the majority of applications. Looking at the list of OMG specifications that’s not hard to believe.
In relation to Oslo, I have a few questions.
First, why will Oslo succeed when other smart people have failed? Point of interest: they may even be the same people. Note this quote from Microsoft’s Jack Greenfield, whom I interviewed for the Register:
“We are the UML guys, that’s the funny part of it,” says Greenfield. “I was one of the chief architects at Rational; I spent a lot of time deeply steeped in the UML and in the committee work in the OMG. Other guys on team go deeper than I do.
Second, how serious is Microsoft about Oslo? When I spoke to Greenfield, I had the strong impression that modeling is an area of factional conflict within Microsoft. Thus, it could be the big thing one moment, then pushed to one side the next.
Third, how does Oslo simplify development, as opposed to giving developers yet another layer of complexity to worry about?
Irrespective of the above, it the parts of Oslo that talk about better integrating between BizTalk, the .NET Framework, and System Center do make sense:
There will also be investments aligning the metadata repositories across the Server & Tools Business products. System Center “5,” Visual Studio “10” and BizTalk Server “6” will utilize a common repository technology for managing, versioning and deploying models.
Further, who know whether Microsoft may yet do something wonderful with modeling that delivers on promises like:
In short, we want developers to be able to build [distributed] applications with one-tenth the code that is required today. And we want to establish a rich context in which those developers can interact with business analysts and IT professionals easily.
But count me in the sceptics camp until Microsoft comes up with something more convincing than rhetoric we have heard before.