The Promise of MDA

Throughout the history of the software industry, many new development tools and methodologies have emerged onto the IT landscape proclaiming to revolutionize software development. Sadly, many of these hoped-for revolutions in IT have failed to bring about improvements in the status quo, further supporting the argument of Frederick Brook that there is no silver bullet [Brooks, 1995].

MDA is the new kid on the block, and its advocates are not shy about proclaiming the virtues of the MDA paradigm. Only time will tell if MDA can succeed where so many other development approaches have failed.

The software engineering industry's thought leaders are divided on the likely future for MDA, with some quarters dismissing the paradigm as unworkable. Nevertheless, the reasons for adopting MDA are compelling, and those advocating the uptake of MDA are pointing to an ever-increasing number of success stories as proof the paradigm is effective.

MDA encourages a business-centric approach to development and uses modeling as a means of allowing the architect to focus on business-critical system functionality without the distraction of technical implementation constraints. From these early models, MDA-compliant tools generate executable code, thereby reducing dramatically the effort involved in producing a functioning system.

This use of models and code generation means some of the touted benefits of MDA will sound familiar from our discussions in previous chapters:

Reduced development timeframes.

The focus of MDA is on models, not code. Models are produced at the business level and translated into code using sophisticated code generation tools. This ability to jump from business model to implementation cuts out much of the coding effort and enables a running system to be available early in the project lifecycle.

Consistent quality of software.

MDA puts the automated process of transforming models into a working implementation under the control of the architect. The architect can produce best-practice transformation rules for converting models to code. This transformation process can then be applied to every applicable development project, resulting in software that is of a consistent quality and standard.

Platform portability.

The models that initiate the MDA process are platform-neutral. By using code generators tailored to a specific platform type, MDA promises platform independence that enables systems to target any technology or framework for which a suitable code generator exists.

These are some of the promises; but what exactly is MDA, and how does it differ from the traditional use of models within the software development process? Moreover, how can MDA help us write quality J2EE solutions in a reduced timeframe?

Models and the Unified Modeling Language are covered in Chapter 5.

To answer these questions, the next section walks through some of the main concepts underpinning MDA.

    Rapid J2EE Development. An Adaptive Foundation for Enterprise Applications
    Rapid J2EEв„ў Development: An Adaptive Foundation for Enterprise Applications
    ISBN: 0131472208
    EAN: 2147483647
    Year: 2005
    Pages: 159
    Authors: Alan Monnox © 2008-2017.
    If you may any questions please contact us: