3 April SOA: Services Oriented Architecture MDA: Model Driven Architecture
SOA Is it just good architecture? Potential value Weaker designers Consistency across organizations Client-oriented
Relationship Between Model and Code
What is MDA? Modelling languages as declarative programming languages Higher level of abstraction Separation of design from implementation
OMG Model Oriented Architecture Technologies Platforms Services Domains
Program generation from models MDA is the latest Earlier CASE-tools in 1980’s object-oriented IDEs in 1990’s UML tools …
New orientation for OMG activities – New step beyond the Object Management Architecture (OMA) Models are centric! – Target middleware is not important! Focus on Platform Independent Models (PIM) – Without middleware details Abstract Platform Specific Models (PSM) – Including all middleware details Define PIM to PSM transformations Preserving PIM when new middleware appears! Model Driven Architecture
Building an MDA Application Start with a Platform- Independent Model (PIM) representing business functionality and behavior, undistorted by technology details. Platform- Independent Model A Detailed Model, stating Pre- and Post- Conditions in Object Constraint Language, and Semantics in an action language
Generating Platform-Specific Model Platform- Independent Model Map a PIM to Specific Middleware Technologies via OMG Standard Mappings MDA tool applies a standard mapping to generate Platform- Specific Model (PSM) from the PIM. Code is partially automatic, partially hand-written. CORBA Model
Mapping to Multiple Deployment Technologies Platform- Independent Model CORBA Model MDA tool applies an standard mapping to generate Platform- Specific Model (PSM) from the PIM. Code is partially automatic, partially hand-written. Java/EJB Model XML/SOAP Model Other Model Map a PIM to Many Middleware Technologies via OMG Standard Mappings
Generating Implementations Platform- Independent Model CORBA Model MDA Tool generates all or most of the implementation code for deployment technology selected by the developer. Java/EJB Model CORBA XML/SOAP Model Java/EJB XML/SOAP Other Other Model Map PSM to application interfaces, code, GUI descriptors, SQL queries, etc.