To a certain degree, MDA and SOA share some common goals. Specifically, both offer the promise of isolating business/application logic from underlying technology/platform considerations. The anticipated result is significantly greater business flexibility as the business and technology aspects of the Enterprise can each evolve at their own pace.
Technically speaking, however, MDA and SOA are quite different. Model Driven Architecture (MDA) is essentially a top-down approach to designing or modeling the enterprise. It "addresses the complete life cycle of designing, deploying, integrating, and managing applications as well as data using open standards" (www.omg.org/mda/executive_overview.htm). MDA encourages modeling of the various aspects of the enterprise - including data, applications, services, technology - and leverages a comprehensive repository that includes meta-data that supports decisions and communication about the Enterprise Architecture. Further, MDA specifies the modeling tools, schema, and "languages" (e.g., MOF, XMI, CWM, CIM, etc) for this "management information."
SOA, on the other hand, is an Architectural Style "in which functionality is decomposed into small, distinct units (services), which can be distributed over a network and can be combined together and reused to create business applications" ("Service-Oriented Architecture: Concepts, Technology, and Design", Thomas Erl). SOA emphasizes design principles such as Abstraction, Autonomy, Reusability, and Composability (to name a few) that when taken together motivate and enable the decoupling of requirements for business processes from underlying implementation characteristics.
As SOA has matured beyond it's deeply technical roots, and as the industry has gained experience with large-scale adoption, it's composition has naturally broadened to include important considerations such as infrastructure support, standards, governance, and other essentials. We've also watched as SOA has moved through the typical stages of hype, only recently starting to move past over-enthusiastic and unreasonable expectations to become a more realistic component of a balanced enterprise strategy. In fact, if memory serves, Gartner's "hype cycle" positions SOA at the front edge of the "Slope of Enlightenment," just starting the climb out of the "Trough of Disillusionment." As we continue to climb the slope, the definition of SOA will continue to broaden, and the essential supporting capabilities (modeling, governance, etc) will mature and stabilize. Likewise, tool support will reach more broadly across the enterprise and influence more of the operation. As this transition takes place, SOA will continue to assume its role in providing a common language and paradigm for the unification of IT and the Business.
The result (slipping into opinion and conjecture) is that SOA will leave no room for the more rigorous and unwieldy MDA - even though they are technically orthogonal.
Sunday, November 18, 2007
MDA and SOA are Orthogonal
Posted by Brian Sondergaard at 10:08 PM
Labels: design, principles, software architecture
View blog reactions
Subscribe to:
Post Comments (Atom)
1 comment:
Nice site, nice and easy on the eyes and great content too.
Post a Comment