Title: Model Driven Architecture
1Model Driven Architecture
NEO IASA 2009-Nov-03
2Agenda
- What can we learn from the car industry
- Car Manufacturing Before Automation
- Car Manufacturing After Automation
- Software Development
- IT challenges
- Benefits of automation
- Challenges to automation
- MDA overview
- What is MDA?
- Who is behind MDA?
- MDA Models
- MDA Development Lifecycle
- MDA Models example
- How does MDA achieve automation?
3What can we learn from old industries?
4Car Manufacturing Before Automation
5Car Manufacturing After Automation
6Software Development Still labor intensive
7IT Challenges
- Application development is expensive
- 44 of software projects run over budget (versus
cost effective) - Application development is complex and risky
- 30 of software projects are canceled (versus
repeatable) - Application development seldom delivers
according to expectations - 60 of software projects are not considered a
success by the - business (versus predictable)
- Application development is always late
- 90 of software projects are delivered late
(versus on time)
8Benefits of Automation
- Reduce development costs
- Reduce development time for new applications
- Improve application quality
- Increase return on technology investments
- Rapid inclusion of emerging technologies into
existing systems
9Challenges to Automation
- Hetereogenity of programming languages, operating
systems and middleware technologies hinders the
development of enterprise distributed systems - IT technology is in constant change and nobody
knows what will be the next best thing. Companies
are struggling to preserve their software
investment as the infrastructure landscape and
the tools change around it -
- The number of domain aspects to be automated is
growing - Separating business concerns from technology
concerns - Translate business requirements into automated
solutions - Each solution is unique or so we think?
10What is the MDA?
- MDA is an architectural approach to software
development that focuses effort on the
development of models rather than detailed,
platform-specific code. Code can be generated
(with automated assistance) - MDA separates business logic from underlying
platform technology - Design once, build it on any platform
11OMGs Milestones
OMG is founded
CORBA 2.0
CORBA 1.0, IDL
MDA
UML, MOF, XMI, CWM
12Who is behind MDA?
- MDD is an initiative of the Object Management
Group (OMG). - OMG is an international, not-for-profit
industrial consortium which creates - and maintains software interoperability
specifications. Leading IT vendors and - fortune 500 companies are members of the OMG
group. To list few - IBM
- Sun
- Oracle
- Oasis
- SAP
- Microsoft
- John Deere
- Boeing, Citigroup, Ford
- Others
- OMG is the group that created UML and CORBA
standards
13MDA Models
14MDA Development Lifecycle (Cont)
MDD
MDA
15MDA Models (Cont)
Business Model
Domain Patterns
Functional Patterns
Transformation Patterns
Platform Independent Model (PIM)
Application model (dbms, ejb, web)
Application Patterns
Platform Specific Model (PSM)
Code Model
Code Patterns
16MDA Models Example
Business Model ACORD
Domain Patterns ACORD Model
Functional Patterns
Transformation Patterns
Platform Independent Model (PIM)
Application model Portal model, Web Services
Model, Hibernate model, Message Driven Beans
Model
Application Patterns J2EE, Portal
Platform Specific Model (PSM)
Code Model Portlets, Web Service code,
Hibernate code, MDB code
Code Patterns Java
17How does MDA achieve automation?
From a presentation on Model Driven Architecture
(MDA) by Jon Kern
18Appendix
19PIM Example
20PSM Example
21Meta Object Facility (MOF)
- MOF provides the standard modeling and
interchange constructs -
- that are used in MDA. These constructs are a
subset of the UML -
- modeling constructs.. MOF also defines
programmatic interfaces -
- for manipulating models and their instances
spanning the -
- application lifecycle.These are defined in IDL
and are being -
- extended to Java.
22MDA Summary Key takeaway
- MDA is a work in progress the very definition
of MDA is evolving. - MDA is another small step on the long road to
turning the craft of building software into an
engineering discipline. - MDA represents an evolutionary step forward
from previous development - approaches.
- MDA helps organizations achieve agile and
adaptable IT so they can overcome - various business challenges.
- The model driven approach maximizes ROI
- Accelerate the adoption of new technologies
23References
- MDA Explained The Model Driven Architecture
Practice and Promise , by Anneke Kleppe Jos
Warmer Wim Bast - Model-Driven Architecture TM, David S.Frankel,
http//www.omg.org/MDD/MDD_files/DFrankel_MDD_v01-
00_PDF.pdf - Compuware, Compuware OptimalJ How model-driven
development enhances productivity,
http//www.compuware.com/dl/Model_Driven_41.pdf - MDD Information Page, http//www.omg.org/MDD/
- Model Driven Architecture An introduction,
Richard Mark Soley, Ph.d. - Making the case OMGs Model Driven
Architecture, Jon Siegel, http//www.sdtimes.com/a
rticle/special-20021015-01.html - OMGs Model Driven Architecture, David Buscaldi,
D.I.S.I
24Questions
25Thank You!