Transcript Platform
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
…
Model Driven
Architecture
• 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!
Building an MDA Application
PlatformIndependent
Model
A Detailed Model,
stating Pre- and PostConditions in Object
Constraint Language,
and Semantics in
an action language
Start with a PlatformIndependent Model
(PIM) representing
business functionality
and behavior,
undistorted by
technology details.
Generating Platform-Specific
Model
PlatformIndependent
Model
CORBA
Model
Map a PIM to Specific
Middleware
Technologies via OMG
Standard Mappings
MDA tool applies a
standard mapping to
generate PlatformSpecific Model (PSM)
from the PIM. Code is
partially automatic,
partially hand-written.
Mapping to Multiple
Deployment Technologies
PlatformIndependent
Model
CORBA
Model
Java/EJB
Model
Map a PIM to Many
Middleware
Technologies via OMG
Standard Mappings
XML/SOAP
Model
Other
Model
MDA tool applies
an standard
mapping to
generate PlatformSpecific Model
(PSM) from the PIM.
Code is partially
automatic, partially
hand-written.
Generating Implementations
Map PSM to application
interfaces, code, GUI
descriptors, SQL
queries, etc.
PlatformIndependent
Model
CORBA
Model
CORBA
Java/EJB
Model
XML/SOAP
Java/EJB
XML/SOAP
Model
Other
Model
Other
MDA Tool generates all
or most of the
implementation code
for deployment
technology selected
by the developer.