Microsoft eyes game-changer for app dev

The Oslo modeling-based platform is raising some questions

With its ambitious Oslo software modeling platform, Microsoft seeks a new application development paradigm that raises the level of abstraction. But the effort has brought up questions about whether Oslo crowds the modeling landscape and whether Microsoft can achieve its lofty goals.

Microsoft describes Oslo as a code name for a modeling platform consisting of three components: the Quadrant tool to help define and interact with models visually, a relational repository that holds the models, and a declarative language code-named "M" for building textual domain-specific languages. Microsoft plans on releasing a preview version of Oslo in late October at the Microsoft Professional Developers Conference in Los Angeles.

[ Microsoft has talked about Oslo for a year. Get early reactions from InfoWorld's Open Sources blogger Savio Rodrigues and from InfoWorld's Enterprise Windows blogger J. Peter Bruzzese. ]

A goal of Oslo has been to enable application models themselves to become the applications. At varying times, Oslo has been described as a platform for composite applications and SOA, as well as a technology allowing greater levels of agility in the software development process. Oslo lets more people participate in application development and can be used to build any type of application, according to Microsoft.

"Oslo allows you to model things in higher-level ways. It allows you to rapidly assemble things," says Burley Kawasaki, director of product management in the Microsoft Connected Systems Division. Similar to a mashup, Oslo will help developers assemble applications in Lego block-like fashion, Kawasaki says.

Through Oslo, Microsoft intends for developers to spend more time on business intent and less on application plumbing. Currently, developers spend 80 percent of their time on infrastructure and lower-level details and 20 percent of their time on business intent. "We want to flip that," Kawasaki says.

What will Oslo do for developers?
A Microsoft business partner lauded Oslo as a game-changer for composite applications. "Everybody's been building these composite applications but with tools and approaches that really weren't designed with composite apps in mind," says Ed Horst, vice president of marketing and strategy at AmberPoint, which offers a SOA management platform.

Oslo hides a lot of complexity from the development process, Horst says. "If you use conventional tools and conventional languages, the developer has to be quite aware that they're going to deploy this in a distributed environment," he says. "In Oslo, that's not true." The declarative language in Oslo was "built with this kind of distributed nature in mind, which again is a big breakthrough," he adds.

Oslo modeling is set to address the additional complexity that concepts such as SOA and cloud computing entail, Kawasaki says. "People often have thought about modeling as only the upfront visual design," he says. In that paradigm, a model is printed out and handed to the developer. But Microsoft is pondering how to take models and make them part of the full, cradle-to-grave application lifecycle, Kawasaki says.

Technologies such as UML (Unified Modeling Language), BPEL (Business Process Execution Language), and BPMN (Business Process Modeling Notation) are accommodated in Oslo, says Robert Wahbe, Microsoft's corporate vice president of the Microsoft Connected Systems Division. BPEL 2.0 is supported in .Net Framework 4.0 and, as a workflow runtime, BPEL could be the subject of a textual DSL in "M" or a visual DSL in Quadrant. "It's exactly the kind of thing that Oslo can make easier for developers," says Wahbe. BPMN could also complement Oslo.

"UML is primarily a visual notation for doing models, and 'M' is exclusively a textual notation and secondarily it has the purpose of building these domain-specific languages," Wahbe says. "They're complementary technologies and we're supporting both." With UML backing, Microsoft hopes to attract enterprise architects who use UML to describe applications. But beyond UML, Microsoft sees modeling in a broader way than it historically has been viewed, says Microsoft's Kawasaki.

Do developers really need Oslo?
One developer has questioned Microsoft's strategy. "The point is that they're creating something for the über-geek," says Michael Rowley, director of technology and standards at Active Endpoints, which offers a BPM orchestration server that competes with Microsoft.

Oslo lets developers build their own language for defining new models. "In my opinion, it is bad enough that there are so many different ways to do the same thing. Inventing a new technology that makes it easy to create even more languages [metamodels] can only make things more confusing for users," Rowley says.

And the new "M" language further crowds an already congested field, Rowley says. "It just adds to the proliferation of new languages [and] makes it easier to create more problems." In fact, Microsoft's efforts make it difficult for a user community trying to coalesce around just a couple of different languages such as BPMN, he argues.

A Microsoft official rejected Rowley's description. "I don't know what 'über-geek' is, but there's a large class of developers who build apps for a living," says Microsoft's Wahbe. Oslo is interesting to such developers because it aspires to raise the level of abstraction and make them more productive and applications more flexible, he says.

Microsoft intends for standards such as BPEL to be accommodated within Oslo, says John Rymer, a principal analyst at Forrester Research. But there could be a conflict between Oslo's declarative language and the World Wide Web Consortium's RDF (Resource Description Framework), he notes. Microsoft's Wahbe says that "M" could be used for writing a domain-specific language for the domain of semantic technologies, which in turn could target RDF. A W3C representative said a quick look at Oslo suggests it is different from RDF.

Will Oslo models really lead to applications?
Forrester's Rymer has confidence that Microsoft can make models into the applications themselves via Oslo. "The question is, can we pull together and manage models from different sources," such as BPEL, XAML, business rules, and languages, he asks.

A former Microsoft employee was skeptical of Microsoft's intentions to have models become applications. "I'll have to see it to believe it," says Richard Seroter, who is now a blogger. "Obviously many folks have been modeling in UML for years and the challenge is twofold: How do I keep the model in sync with actual deliverables, and how can I accurately represent software characteristics such as latency or data flow between components that don't easily lend themselves to UML modeling? Mix in traditional data modeling, and that is yet another thing that must remain synchronized with other model types," he says.

Is the real Oslo less ambitious than the original vision?
Microsoft's recent moves around its Dublin application server extensions for Windows Server have created the impression that Oslo also has been narrowed from its original form.

"It used to be that Oslo was referring to the new modeling technology and the changes to [Windows] Workflow Foundation and this new processes server, what they now call the Dublin app server," Rowley says. "It's got to be really confusing to somebody that's trying to follow this."

Rymer concurred about Microsoft's narrower scope for Oslo. "Dublin is the first release of a set of technologies that were formerly known collectively as Oslo," Rymer says. "I think of these technologies as what comes after WCF [Windows Communication Foundation], which unified Microsoft's various distributed computing programming models. Oslo now refers only to the next generation of tools for building application models that Microsoft is working on, not the whole set of development and runtime technologies [that Microsoft] is building. .Net [Framework] 4.0 seems to be the new name for all of these developments," he notes.

When unveiling Oslo a year ago, the intent was for Oslo to be injected into a number of products. These include the recently detailed .Net Framework 4.0 as well as BizTalk Server, BizTalk Services, Microsoft System Center, and an upcoming upgrade to the Visual Studio toolset.

Microsoft's Wahbe denies that the company has narrowed the scope for Oslo. "We talked about Oslo as part of the platform and the killer apps," Wahbe says. "In that sense, we did talk about Dublin as part of Oslo." But Dublin is not part of Oslo in the sense that Oslo features Quadrant, "M," and the repository, Wahbe says.

What Microsoft said a year ago was that Oslo would surface in products cited at last year's unveiling, such as BizTalk Server, which will use the technology, Wahbe says. "It will be used by many parts of the platform."

Copyright © 2008 IDG Communications, Inc.

How to choose a low-code development platform