As businesses grow, often as the result of mergers and acquisitions, the need to integrate enterprise applications becomes a quintessential factor in the drive to remain competitive. It is a common strategy to allow the capabilities of hardware or software products drive the development of the application integration process. Often, an assumption is mistakenly made that industry-best practices may be able to improve the competetiveness of an organization.
“It is absolutely essential for organizations to have a clear understanding of how their systems work and interact.”
It is becoming widely recognized in the expert community that the decoupling of
business requirements and vendor technologies provides all organizations with a key competitive advantage.
Model-Driven Architecutre (MDA) is defined as “a complete specification consisting of a definitive platform-independent base Unified Modeling Language (UML) model, plus one or more Platform-Specific Models (PSMs) and interface definition sets, each describing how the base model is implemented on a different middleware platform.1”
By using the MDA approach, it is possible to de-couple designing application integration from specific software product suites, thereby hindering initial reliance and later dependence on proprietary infrastructures. This frees up the analysis of business goals, and what is necessary to realize these goals, from any one product or technology. Organizations should remain as technology-agnostic as is reasonably possible.
The MDA Approach:
There are some simple steps to take to execute an MDA approach for solving the problems posed when matching applications to business requirements.
Chief among them is to match integration needs with specific business objectives, representing the relationships between them as various processes. Vendor product suites typically neglect to differentiate the unique business semantics from the execution semantics. The crux of the MDA approach is that it separates out the implementation semantics by OS specific demands on the individual systems.
The 4 steps to implementing a solid MDA approach are as follows:
1. Assess and prioritize business functions by creating an easily decipherable UML model of how the business delivers its ‘value’. It is important in this process not to focus on how the business solves its shortfalls. The UML model should describe key structural and behavioral aspects of systems and people (workers) as interactive actors within the enterprise.
2. Refine the interaction descriptions between entities and people in the enterprise to enable “cohesive, loose coupling” and help identify and assign responsibilities in a Platform-Independent Model (PIM).
3. Map the PIM with a Platform-Specific Model (PSM) by incorporating specific Application Program Interfaces (APIs) with Commercial Off-the-Shelf (COTS) vendor applications.
4. Establish a deployment model that maps the actual physical architecture, generating code from the model where appropriate.
“A main benefit of the MDA approach is that it provides an all-encompassing and
controlled solution for application ‘interoperability and portability’.”
The MDA Benefits:
Employing the MDA method also has a number of other significant advantages, including:
· Independence of business needs from technological features
· Cost and time implementation savings
· Rapid integration achievement with interoperability and portability among various software and platforms
· Use of an industry-standard modeling language such as UML to understand a business’s available intellectual assets
· Formal documentation of key organizational knowledge
· Lifecycle support in anticipation of integration with future systems, and timely inclusion of emerging technologies into the current system
MDA deftly handles the challenges presented by complex IT implementations by separating out business processes from technology restrictions. It allows for the primary consideration of business and technology patterns independently, obviating solutions to IT implementations that might otherwise be limited to expensive proprietary products. As large organizations become more competitive, they will be designing solutions for business integration needs to be conducted in a manner that is unbiased in regards to the technology and manufacturer.
A solid MDA approach is fundamental to this activity, due to its reliance on UML models that can, of course, be interchanged across Metadata Interchange (XMI)-compatible tools.
The MDA approach to analyzing and capturing business integration requirements and appropriate technological infrastructure solutions can be standardized and formalized in a manner applicable to all organizational environments and independent of product vendors. The final result of utilizing this method helps both vendors and clients by enabling each to adapt to changes in technologies and the market in an efficient and economical way.
About Patrick A. Spencer:
Patrick A. Spencer is a Delivery Manager in the IT Solutions group at ITX Corp. Mr. Spencer plays a key role in the analysis, architecture, design and deployment of major applications for clients in a variety of industries.
Business process modelling