The Model Driven Architecture (MDA) approach, a brainchild of the Object Management Group (OMG), has been the subject of considerable debate in the IT industry. Unfortunately, much of this discourse stems from misunderstanding and misinformation about the nature and scope of MDA. This distortion of MDA’s true essence has been amplified in a recent Forrester report titled “MDA is DOA, Partly Thanks to SOA,” which significantly misconstrues the fundamental tenets of MDA, prompting the necessity of this response.
Dispelling Code Generation Extremism
Forrester’s report erroneously assumes that MDA demands completely automated code generation. It further asserts that an amalgamation of manual code writing and automatic code generation would be labeled “pragmatic MDA,” but not “OMG MDA.” Discrediting MDA as impractical and obsolete on this basis is fallacious.
To debunk this allegation, we need to refer to the official MDA Guide published by OMG in 2003. It presents various types of model transformations, including manual transformation, transformation using patterns and markings, and automatic transformation. These diverse MDA transformations highlight that automated code generation is only one of many methods endorsed by the MDA Guide.
Debunking the Myths
The Forrester report lists two myths supposedly upheld by MDA proponents:
- Myth 1: “It’s possible to model systems without regard to implementation details.” The implication here is that MDA is based on the notion that the implementation platform doesn’t matter. However, any detailed review of MDA literature refutes this caricature. MDA promotes the separation of concerns about implementation platforms from other considerations; it does not ignore them.
- Myth 2: “It’s possible to transform systems without human intervention.” As stated earlier, the official MDA Guide clearly acknowledges the place for manual intervention in model transformations, laying to rest this inaccurate assertion.
The real myth here is that MDA proponents blindly adhere to these misguided beliefs.
MDA: Waterfall or Iterative?
The Forrester report falsely characterizes MDA as inherently waterfall. Contrarily, most recognized MDA thinkers treat MDA as an iterative process. The MDA software development life cycle embraces an iterative approach, countering the claim that MDA is fundamentally waterfall.
MDA: Monolithic or Componentized?
The Forrester article erroneously paints MDA as favoring monolithic systems over componentized ones. However, leading MDA experts advocate that MDA must leverage the industry’s understanding of component-based development.
The Missing Metadata
The Forrester report astonishingly neglects to address the pivotal role of metadata management in MDA. It fails to acknowledge how Eclipse’s metadata management, which utilizes XMI, an essential MDA standard, is contributing to the evolution of MDA.
MDA vs. SOA: A False Dichotomy
The Forrester article falsely asserts that SOA is superior to MDA because SOA is pragmatic, iterative, and componentized, whereas MDA is rigid, waterfall, and monolithic. Not only do these claims misrepresent MDA, but they also manufacture a false dichotomy between SOA and MDA. Both SOA and MDA can be used together in a flexible, iterative, component-based approach, dismissing the need for such false dichotomies.
In conclusion, MDA, when understood and applied properly, remains a potent architectural approach for software development. Misconceptions and oversimplifications only muddy the waters and fail to appreciate the profound implications and advantages MDA brings to the table. It is time for a more nuanced understanding and discussion around MDA, replacing misrepresentations with accurate representations of this technology.