Making the Case:
OMG's Model Driven Architecture
By Jon Siegel
October 15, 2002 —
(Page 5 of 6)
Building MDA Models.
MDA models must be extremely detailed: The application will be generated from it, and will include only functionality represented explicitly-in the MDA, the business designers and architects play a crucial role.
PIMs are designed in one of a number of OMG-standardized UML profiles-that is, subsets of UML tailored to specific environments. For example, OMG has defined a profile for Enterprise Distributed Object Computing (EDOC), especially good at modeling collaborations of all types (think of a sales transaction as a collaboration, and then generalize), and a profile for EAI, specialized for applications based on asynchronous communication. Additional profiles are used to define PSMs.
An MDA application is not constrained to make all of its remote (and even internal) invocations using the middleware of its PSM-the code generation process is flexible, and the code database of an MDA tool includes invocation formats for every supported middleware platform.
Taking advantage of this, developers will pull models of existing applications and services from libraries into the project's environment as they construct new PIMs, and set up cross-platform invocations by simply drawing the connections in their new model. It's likely that some of these existing applications will not be on the same platform as the new PSM. Taking its cue from the actual middleware platform of these existing applications, MDA tools will generate cross-platform invocations where needed.
Integrating Older Applications.
Any legacy application based on a UML model and a supported middleware platform can be included in a company's circle of MDA interoperability by simply importing its model into MDA tools as PIMs for new applications are built. Lack of a model is not a barrier; tools on the market today reverse-engineer UML models from code, and some even work from executables. Alternatively, stand-alone legacy applications can be wrapped with a layer of code that exposes key functionality to the network on a suitable middleware, and the model for this functionality and its interfaces stored in a library for use by MDA developers.