Steve Cook (recently of IBM, now of Microsoft) has published a significant critique of the OMG standards, outlining Microsoft's approach to model-driven development.
Prefaced by some remarks by David Frankel, the piece makes the following conclusion:
"Microsoft does not support MOF for the following reasons: 1) it is not yet a single stable standard; 2) using it as the language for designing our tools would have far reaching practical consequences on those tools that we are unwilling to accept; 3) addressing the missing elements of the MOF required by commercial grade implementations (e.g., notation, transactions, events, etc.) will continue to introduce major changes into the MOF specification; and 4) MOF’s approach to model serialization fails to meet its goals.."
I don't have the time to attempt a detailed critique, and far more capable theorists will find the time. I do have the following general observations:
First, the piece reads like it was written by a person instructed in the conclusion they were to reach. Mr. Cook's credentials really don't mean much to me as I read it; his name simply legitmizes a piece that is entirely and predictably reflective of Microsoft's usual approach to standards.
He has some valid points - more in the area of UML than MOF/XMI - but you have to read them in the larger context of Microsoft's FUD strategies. To a large extent, he's saying "abandon workable existing standards in favor of our vaporware," which is unsurprising coming from Microsoft. My basic response is, The best is the enemy of the good.
The CASE II aspects of MDA (e.g. code generation) are out of scope for me; from what I see he's right that many in the industry are simply not buying the MDA story. However, the OMG standards as applied to metadata management have clear and present value; they provide a complete solution for the data metadata problem and emerging solutions for the general IT ERP domain, as well as a useful semantic bus for tying various modeling schemes together. From a practitioner's point of view, if I want to manage metadata, I can build, buy proprietary, or buy standard - and if I choose the last, the OMG standards are really the only game in town. With the enterprise emphasis on an exit strategy for every vendor, what alternatives are there?
From a metadata perspective, the most important reason for driving to a MOF foundation is the OMG's Common Warehouse Metamodel, a standard not mentioned in Cook's critique. Bear in mind that Microsoft went head to head with the OMG in competing with the CWM, an effort they gave up on after a couple of years. I really don't think that Microsoft is going to open up that whole can of worms again, so CWM continues to be the only standard in the game - don't look for a "purpose-built" XML Schema there anytime soon! That alone is a very significant issue for the ERP for IT project, given that CWM covers relational, file-based, batch, XML, and more.
And third parties thinking about leveraging Microsoft's new modeling framework would do well to converse with those unlucky ISV's that made a commitment to the Microsoft Repository three years ago! Microsoft's track record in these matters is not encouraging.
Using XML Schemas as the only means of representing modeling languages (i.e., as the meta-metamodel) is also problematic, as a visual formalism is required to understand the concepts. (At least I need the pictures!) The usual approach is to translate the schema into UML. That's one of the biggest problems in communicating BPEL and BPML; I didn't feel like trying to make head or tail of the raw BPEL XML Schema, preferring to look for a UML mapping, and I've yet to see any such for BPML. What some of these theorists don't seem to realize is that there is a middle strata of interested, time-pressed potential modeling language consumers like me who want the pictures, with some confidence that the pictures mean something.
There's also a reference to "data center modeling" which is code for the Microsoft SDM initiative. The relationship of this initiative to the DMTF and DCML is problematic as I've analyzed. No universal standards in sight here, although I have a hard time believing SDM will ever describe anything but Wintel systems. The DMTF alignment with MOF 2 is the most significant news here, and the eventual combination of this with CWM, the Software Portfolio Management Facility, and perhaps a new IT Service Management Metamodel would pretty well solve the general ERP for IT problem.
One of the wild cards in all this is automated business process management, which is a very new spin on the CASE problem, one that may yet fundamentally alter how we do large sections of enterprise development.
-Charlie
