Today’s brutal environment for prioritizing IT investments in large enterprises is causing many decision cycles to be either significantly extended, or canceled. The immediate consequence, for IT groups, is an increased pressure to deliver what operations and marketing groups are demanding. Managers and IT project leaders are anxious to change, since they want to avoid cost overruns and the difficulties they have encountered on past projects (Sewall). This paper evaluates the direct effects of using Model-driven architecture (MDA) to address the current ineffective OPQ's e-commerce system.

OPQ's project objectives are extremely ambitious with a high demand to create an e-commerce system that is: completely Browser-based and OS-independent, high performance, user-friendly, superior quality, and with high security standards. Since OPQ's system has a non-scalable database and lacks open interfaces, adding new functionality to a technology that might soon be outdated is not economically unwise. Therefore, MDA provides the means to develop a complete standard for the creation of implementation-independent models that may be mapped to any platform, present or future. The decision for a fully MDA-compliant system is reversibility i.e. all UML/XML components would still be available in a non-proprietary format following such a step Sendall and Kozaczynski 2003).

Since MDA supports reversible transformation, it allows the developers to re-use components. Therefore the cost of the software development and the complexity decreases. This is very beneficial to OPQ as it could allocate its budget to other things for its project. Portability in MDA is mostly achieved by utilizing UML to create the PIM (Mehta).

By using MDA approach, describing and documenting the business domain dimension of the system in a platform-independent model will be simplified since it captures the functionality and behavior of the technology requirements. However, this model can be much more than a definition of application structure in terms of classes, associations, and interfaces. For example, the Unified Modeling Language (UML) can make the behavior of a software system explicit.

The UML provides a set of diagram types for this purpose: sequence diagrams, state charts, activity diagrams, and collaboration diagrams. This model is therefore a precise, isomorphic UML representation of the business logic that is easy to understand. Thus, making the business-critical knowledge transparent and available without coupling it to any specific implementation technology. If MDA has already embarked in the design phase, model-based tools can inspect these diagrams to get information about the business logic (OMG 2003).

Model-driven approach makes it possible to add powerful SOAP/XML interface features to enhance OPQ's Web Services. From the perspective of Web services, MDA involves using UML to specify services precisely and in a technology-independent manner. MDA promotes Web services that are based on traceable business requirements. It also sets the stage for automatic generation of at least part of the XML and code, such as Java code, that implements the services. Finally, it makes it easier to re-target the services to use different Web services implementation technologies when required.

MDA supports cross-platform interoperability (e.g. Java 2 Platform, Enterprise Edition (J2EE)) that allows the software modeled to be developed on different platforms without loosing the functionality of the software. This makes the architecture flexible if the infrastructure is changed. The flexibility is achieved in MDA by the platform independent model created in UML and this is why UML is a major technology in Model Driven Architecture. However, for developers to adopt such an approach it is vital for the overall process to be agile and to not introduce unnecessary transitions and barriers such as irreversible code-generation and debugging problems (Frankel 2002, 2004).

On the other hand, extending MDA into other areas can be difficult if the independent platform is not clearly defined. In fact, there are very few standardized mappings between platform-independent and platform specific models; the only ones that exist target the Java platform, although there are non-standard commercial implementations that claim to be MDA compliant and target other platforms (Frankel 2002).

Like any other development tool, MDA is sometimes over-hyped. Although there are already some useful tools based on MDA, its full power is yet to be realized. Using UML profiles or MOF, modeling constructs appropriate to a specific domain can be defined. Then generators can be created to transform the system specification written using those constructs into a partial or full implementation of the system.

References:
Frankel, David S. “Domain-Specific Modeling and Model Driven Architecture”. January
2004
 http://www.davidfrankelconsulting.com/MDAJournal.htm

Frankel, David S. "Model-Driven Architecture" Using Model-Driven Architecture to
Develop Web Services. April 2002

Mehta, Anish. Model Driven Architecture
http://www.enterprise-architecture.info/Images/MDA/MDA%20Development.pdf

OMG. Model Driven Architecture. URL
http://www.omg.org/mda. 2003

S. Sendall and W. Kozaczynski; “Model Transformation – the Heart and Soul of Model-Driven Software Development”. October 2003.

Siegel, Jon Ph.D., "Developing in OMG's Model Driven Architecture (MDA)" and the
OMG Staff Strategy Group
 ftp://ftp.omg.org/pub/docs/omg/01-12-01.pdf

Sewall, S. J. Executive Justification for Adopting Model Driven Architecture (MDA)
http://www.omg.org/mda/mda_files/11-03_Sewall_MDA_paper.pdf


Varhol, P. "Java and the Model Driven Architecture." June 10, 2003
 (Compuware Corporation). In JavaPro Magazine Volume 7, Number 6 (June 04, 2003), pages 40-41.