09.10.08

What’s a Modeling Language Between Friends?

Posted in .NET, Application Development, Java, Standards Development at 4:12 pm by Tony Baer

Chalk another ancient family feud to evaporate. Microsoft and OMG have agreed to bury the hatchet. The announcement was carried in a terse press release backed by a stilted, condescending video of server & tools VP Bob Muglia interviewed by a junior PR or marketing aide who was obviously reading her lines off a teleprompter.

Microsoft and OMG had been butting heads back to the dawning of client/server, as each backed their own definitions of what would define the component architecture for the next generation of object-oriented software. Microsoft had its COM model, intended to provide its answer for enterprise Windows development, vs. CORBA, the model promoted by the rest of the industry (read: UNIX and legacy server providers) as the multi-vendor alternative. In other words, Microsoft’s de facto vs. the rest of the industry’s “open” standard.

COM and CORBA eventually battled to a draw; COM was too platform-limited while CORBA was too complex. Both eventually ceded ground to more “modern” architectures: .NET framework, which provided a multi-language run time requiring managed (e.g., strongly typed) code); and J2EE, which provided a more accessible answer to CORBA. In turn, .NET and J2EE had their share of struggles: Microsoft waging a multi-year ground war to eventually get VB developers to adopted more disciplined development under .NET, and J2EE remaining too complex until open source alternatives such as Spring and Hibernate forced the JCP’s hand with the lighter weight EJB 3.

We had a feeling that something was afoot when at TechEd, Bill Gates’ valedictory keynote endorsed UML for its emerging Oslo business process initiative.

Ironically, Microsoft was one of the original backers of UML, and – justifiably in our view – backed away when UML itself grew too complex in its 2.0 version. To recap, UML is a visual modeling notation for describing the logical architecture of a software program. The problem was that with version 2.0, UML got larded with additional diagrams for modeling physical deployment of a program, a development that unfortunately made model-driven development (an OMG initiative) look far too complex for ordinary mortals. While some architects simply stuck to UML 1.x diagrams, others such as Microsoft began looking for more intuitive domain-specific language (DSL) alternatives.

Microsoft is still working with groups like the Business Process Alliance regarding DSLs. But more to the point, it realized that at the end of the day, UML remained the de facto standard of model-driven software development. Rather than start from scratch, Microsoft figured that the most direct path to Oslo, which is based on the notion of model-driven development, had to run through UML.

Consequently, Microsoft vs. OMG was just one of those wars that just had to end with a whimper.

Leave a Comment