In-Depth
MDA brings standards-based modeling to EAI teams
In today's world of rapidly emerging and evolving technologies, the success
of an Enterprise Application Integration (EAI) initiative still relies on the
combined impact of three elements: a pragmatic development or integration approach
that facilitates the sys-tem development and integration process throughout
the initiative life cycle; a flexible and scalable enterprise architecture and
infrastructure that supports the transition or integration of relevant business
applications in iterative and incremental phases; and a set of interoperable
technologies that determines how well various business applications can be implemented,
interfaced and integrated.
A number of well-accepted, component-based system development/integration processes
exist today. Most vendors try to offer a standardized way of handling how their
products work with others, but the task of integrating and extending the architecture
and infrastructure lies with software engineers. In a typical EAI initiative,
software engineers, in collaboration with business analysts and subject-matter
experts, capture business requirements in the form of visual models. During
subsequent phases, these models analyze, design, develop, build, test and refine
the target enterprise architecture and infrastructure. Business and technical
risks, issues and concerns are also minimized or eliminated to deploy the most
effective and efficient EAI solutions.
The Model-Driven Architecture (MDA) is an innovative approach to constructing
an enterprise architecture. Created by the Object Management Group (OMG), MDA
abstracts and visualizes business requirements in the form of platform- and
implementation technology-independent models, and separates implementation details
from business functions. Once interfaces are identified and implementation technologies
are selected, models are transformed into platform-specific software architectures.
MDA is a new software architecture principle in the sense that it follows,
incorporates or supports most industry standards. It enhances the capability
of the software architecture to be flexible, extensible and adaptable to new
technologies or standards, and to abstract business application components in
the early stages of EAI initiatives. Most importantly, MDA enables business
experts and software engineers to focus on business risks, issues and concerns,
ensuring the effective use of existing and evolving technologies.
As described by the OMG, MDA is founded on three established modeling standards
-- the Unified Modeling Language (UML), Meta-Object Facility (MOF) and the Common
Warehouse Meta-model (CWM). UML is widely accepted and supported by the software
industry as a standard modeling notation, and most modeling tool vendors comply
with it. EAI initiative teams of any size can share UML-based visual models
across platforms. MOF and CWM allow users to capture a specific domain, data
warehousing-related information or meta data in UML-based models. With the help
of appropriate tools and repositories, EAI teams can exchange and transform
the models to define, design and implement desired interfaces independent of
a specific platform. As a next step, OMG standard mappings support the generation
of CORBA, XMI/XML, J2EE, .NET and Web services-based interfaces. The interfaces
can utilize various pervasive services such as directory, transactions, events
and security services to build enterprise software architectures. At present,
MDA targets space, manufacturing, finance, e-commerce, telecom, healthcare and
transportation industry-related EAI initiatives and promises to cover more soon.
MDA recognizes component-based, iterative and incremental developments of enterprise
architecture. Enforcing the use of industry standards and related specifications,
it empowers EAI initiative teams to define, refine or reengineer the software
architecture from the information or meta data captured as business models.
Practical concepts of MDA
In an MDA-based approach, a model represents the information related to a part
of the function, structure or behavior of a system. To separate relevant business-specific
information from the technical details and complexity of its implementation,
MDA relies on two distinct models: the Platform-Independent Model (PIM) and
the Platform-Specific Model (PSM). These models are interrelated through the
use of standard mapping specifications and reverse-engineering capabilities.
As a result, a PIM can be mapped into many PSMs by employing different mapping
specifications. In compliance with the Reference Model of Open Distributed Processing
(RM-ODP), MDA supports guidelines to abstract modeling information or viewpoints.
Based on the level of abstraction, these viewpoints may differ from one another.
MDA's goal is to eliminate irrelevant levels of abstraction details through
model refinement.
A PIM is defined by modeling business application information (mainly functionality
and behavior), domain-specific information (MOF) and data warehousing information
(CWM) in UML. In a typical EAI initiative, PIM may involve the modeling of various
business components, their structures, interfaces and dependency to other components;
meta data; and stereotype representations. The model is refined as business
components, interactions and interfaces are identified, reviewed and validated
during business modeling. Once the refinement of the model reveals sufficient
business information, mapping specifications can be utilized to transform a
PIM to the desired PSMs. PSMs are developed and refined based on the choice
of technology and desired services. The PSMs are then refined and transformed
to deploy the desired implementation components. A PSM can be reverse engineered
to generate a corresponding PIM to facilitate interoperability across existing
technologies. In a typical EAI initiative, a PSM may involve the modeling of
various business- and platform-specific technical details in the form of design
constraints, patterns, source code, interfaces and deployment descriptors.
As UML notations play a significant role in MDA modeling, the OMG has been
directing an ongoing effort to update and standardize UML specifications. As
the standardization process progresses, the automation of mapping techniques,
traceability of models and the use of various domain specifications will become
more popular.
What it means to practitioners
Over the two past decades, the EAI world has experienced several significant
advances: client/server to multitiered/multilayered, object-oriented to component-based,
e-business integration to enterprise portals, and middleware or broker-driven
approaches to service-oriented Web services. The OMG has played a significant
role in standardizing the technologies and techniques practitioners have used
during this period in their EAI initiatives. For example, CORBA enables interoperability
in the integration of enterprise components in a distributed, heterogeneous
and network-based environment, and offers the most effective approach to legacy
system integration today. The OMG's adoption of UML as a standard modeling notation
has added flexibility to information sharing during the development life cycle
of EAI initiatives. MOF is a standard facility for managing models and relevant
information in a repository. It has been used as the basis to define other modeling
standards such as CWM -- a modeling standard for representing database models,
schema transformation models, data warehousing and data mining models -- and
extends the use of models throughout the software development life cycle. XMI
or XML Meta Data Interchange (MDI) defines the format for sharing model information
based on MOF and XML.
In an MDA-based approach, all of these standards play a significant role. It
also allows CORBA IDL or other environment-specific interfaces to be generated
so enterprise software architectures can streamline the process of integrating
existing system components with new EAI initiatives promoting interoperability.
EAI initiatives involve a variety of tasks depending on the integration process
adopted by the organization. Most activities in EAI initiatives can be categorized
as one of three basic phases: business modeling, transformation or integration.
The primary objective of business modeling is to capture an enterprise's business
requirements to define and refine the business information model. This phase
encompasses gathering business domain knowledge; taking an inventory of current
or existing business applications; and incorporating best practices, standards
and relevant patterns. Business users, architects, analysts and modelers use
business modeling to generate the business information model. During transformation,
design constraints and technology choices are considered when building the target
technical architecture; architects, analysts, modelers and designers also play
a significant role. Once the technical architecture is in place, architects,
designers and developers work together to integrate the enterprise system. This
integration phase connects the newly developed and legacy software components
with the architecture and infrastructure to develop and deliver business solutions.
Using the MDA-based approach, practitioners can focus on developing platform-independent
business information models, leaving decisions on technical complexities and
options until later. Practitioners can capture business requirements, capitalize
on business contexts and deal with business issues, risks and concerns while
preserving their technology choices. Initiative teams can also get business
users more actively involved in the identification, evaluation, review and prioritization
of business components and interfaces using UML-based visual models.
In a typical use case-driven EAI initiative, use case model, component model,
data warehousing information and meta data can be used to build platform-independent
models during the business modeling phase. From a business perspective, this
eliminates the "analysis paralysis" that results in reduced costs
for the overall EAI initiative life cycle. Because the MDA approach defines
the mapping techniques for various platforms, it emphasizes the ROI for existing
and future technologies. During this transformation phase, technical choices,
design constraints and mapping techniques can be added to the platform-independent
model to generate platform-specific models. These models can then be used to
design the enterprise architecture model and desired infrastructure. During
the integration phase, the team can then concentrate on combining these newly
developed components and any existing legacy systems with the enterprise architecture.
The MDA approach also offers reverse engineering of platform-specific models
to generate platform-independent models. EAI initiatives can reap the benefits
of MDA's open, vendor-neutral, interoperability specifications if they import
business systems and/or applications to different platforms and/or extend its
ability to utilize technological advances.
EAI practitioners can take advantage of the MDA-based approach in multiple
ways. They may utilize the PIM to study, review and validate business requirements,
and then use various known patterns and design constraints to build the appropriate
PSMs. They may also apply algorithms or automated tools to generate PSMs from
the validated PIMs. However, to take full advantage of the MDA approach, practitioners
should rely on various tools and techniques that implement the MDA specifications
and standards promoted by the OMG.
Tools and techniques
In a recent survey of vendors supporting the MDA-based approach, we found a
number of available tools that can significantly contribute to EAI initiatives,
as well as augment modeling efforts. Others focus on the automation of model
transformation and source-code generation. Among the tools promoted by the OMG
are Interactive Object Software's ArcStyler, Kabira Technologies' Adaptive Realtime
Infrastructure (ARI) software, Kennedy Carter's iUML and iCCG, and Secant Technologies'
ModelMethods. ArcStyler helps EAI practitioners to create PIMs and subsequently
transform these models into PSMs. ARI facilitates the creation and deployment
of high-availability transactional software engines. The iUML and iCCG allow
users to build, test and integrate multiple PIMs and to specify PIM-to-PSM mappings
in an executable UML. ModelMethods builds solutions for transactional and knowledge
discovery platforms in collaboration with standard visual modeling tools.
Over the past year or so, a number of tool vendors and service providers have
extended their support to MDA. Iona, InferData, Codagen Technologies, Eltegra,
Hewlett-Packard and IBM are just a few of the companies that are either developing
MDA tools or adopting and promoting the use of MDA. While evaluating or selecting
most of the above-mentioned tools, practitioners might also find them useful
in automating the transformation of models or generating skeleton source codes.
In most cases, it would be necessary to modify the generated source code or
to write the code manually. As more companies become involved, specifications
will evolve and the tools will mature. It is anticipated that practitioners
will be able to extend the capability of their enterprise architecture to adapt
future technologies easily for many years to come.
Using MDA in EAI initiatives
A component-based integration approach is usually adopted to address challenges
in EAI initiatives. The approach chosen must be robust, flexible, pragmatic
and be able to formulate a roadmap for integrating the various phases of business
applications into the enterprise. However, because business requirements are
not readily available to start with or have not been abstracted/documented adequately,
the integration of most enterprise systems is performed incrementally and iteratively.
By separating the modeling of platform-independent business components from
the technology-specific implementation details, MDA extends the flexibility,
modularity and robustness of the component-based approach. Essentially, MDA
allows the architecture and infrastructure to be formalized to support rapid
advances of the enabling Internet technologies and future business requirements.
In addition, effective use of the MDA-based approach allows users to focus on:
* Incorporating existing organizational culture into the integration process,
particularly when multiple initiatives are interrelated;
* Assessing a multitude of technologies, tools and techniques to reduce the
cost of integration initiatives; and
* Identifying and prioritizing suitable existing business applications or services
that need to be automated or reengineered before integration.
In EAI engagements, a component-based integration approach unifies enterprise-level
business components, choice of technology and resources as three essential elements.
Such an approach is robust in enforcing the use of best practices, patterns
and industry standards known to practitioners; flexible in enabling the use
of standardized or in-house processes; and pragmatic in effectively utilizing
its essential elements.
Our approach to using the MDA in EAI initiatives consists of four iterative
and incremental phases: Discovery, Gap Analysis, Mediation Plan and Solution.
In Discovery, strategic business drivers, including those related to business
partners, providers and other ongoing business initiatives, are identified.
Gap Analysis defines the scope of an initiative by evaluating risks, issues,
concerns or capability constraints. It also creates a roadmap to transition
various business process reengineering or automations to the EAI initiative.
The Mediation Plan initially prioritizes the business components, services and
interfaces identified during the Gap Analysis based on the risks, issues, concerns
or constraints involved. Subsequently, it lays out contracts between the business
and development teams; maps a dependency plan between ongoing tactical initiatives;
and formulates a situation evaluation plan assessing risks, business needs and
available resources for the initiative.
During these first three iterative and incremental phases, the platform-independent
business model is defined, reviewed, validated and refined following MDA specifications
and related standards. At the end of the Mediation Plan, platform-specific models
are developed based on the choice of technology, platform, middleware, frameworks,
reference models, pervasive services and design patterns. The Solution phase
then builds the required components from the platform-specific models and integrates
them. Based on business requirements, the prototypes or "proof-of-concept"
components are reused in this phase. Each component undergoes end-to-end and
regression testing during the integration. Our approach efficiently exploits
the concepts of MDA by allocating appropriate significance to business modeling,
transformation and integration. This approach also allows practitioners to identify,
prioritize and validate platform-independent business components and to minimize
associated risks, issues and concerns before building and integrating application
components.
A promise to the EAI world
The OMG describes MDA as an architecture for a changing world. From its inception,
MDA has established its synergy with the component-based integration approach.
Because it has been founded on open industry standards like UML, MOF and CWM,
it is most likely to gain popularity and support from the IT community. From
a business perspective, MDA promotes a common ground for business modeling and
information sharing among EAI teams and business users. It enforces a customer-focused
and customer-driven approach that reduces the time and cost of EAI initiatives.
From a technical perspective, MDA ensures a return on technology investments
and promises the extensibility to adapt and accommodate emerging technologies
into existing systems. As specifications evolve and tools mature, MDA will empower
practitioners with the ease of "plug-and-play" integration and much
technology support. As MDA detaches business application interfaces from technical
implementations, EAI practitioners will embrace its benefits while developing
service-oriented architectures for Web services. Above all, MDA establishes
a new era of software architecture with a huge promise to the EAI world today
and tomorrow.