Introduction to
Model Driven Architecture
‘‘‘‘
Andrew Watson
VP & Technical Director, OMG
A Introduction
2
25-Aug-2004
Generic MDA (11)
ms
Majo cus
SR
Accounting
Payables/ Receivables
MDCopyright ©2004, Object Management Group. All Rights reserved.
Integrating business syste
r problem for business & OMG’s main fo
hipping/ eceiving Inventory
Engineering
Manufacturing
Sales
A Introduction
3
25-Aug-2004
Generic MDA (11)
•
Too - A s by 1990s
• Too - 70 OBOL, 45% C++,
20 l of 260%
• Too - U s 98, PalmOS ...
• Ever- E time than the last
MDCopyright ©2004, Object Management Group. All Rights reserved.
Roots of the problem
many computerspprox 1 CPU/business in 1960s, hundred
many programming languages% of IT shops use Java, 70% VB, 45% C% Powerbuilder, 10% Delphi ... for a tota
many operating systemsnix, MVS, MacOS, Windows XP, Window
-increasing technology churnach technology remains in vogue for less
A Introduction
4
25-Aug-2004
Generic MDA (11)
re
•
Midd enterprise -- C PIs- C rability- D n Language (IDL)
to are systems- Im languages & OSs- C
MDCopyright ©2004, Object Management Group. All Rights reserved.
Integration via Middlewa
leware approach to integration within thereate a small, common, standard set of Areate standard wire protocols for interopeefine language-neutral Interface Definitio define interfaces between different softwplement APIs, protocols & IDL for many
reates widely-deployed integration layer
A Introduction
5
25-Aug-2004
Generic MDA (11)
RBA
•
Midd perating systems- C
C- Li
O- Tr- P
traba
- Wen
MDCopyright ©2004, Object Management Group. All Rights reserved.
Middleware example: CO
leware to integrate across languages & oOBOL, Smalltalk, Ada, Java, ++, Lisp, Python, Perl ...nux, Windows 3.1, Windows XP, S/390, SunOS, HP/UX ...ansactions & security servicesart of every JDK - Java security, nsactions, interoperability all sed on CORBAidely implemented within the terprise
A Introduction
6
25-Aug-2004
Generic MDA (11)
•
One g open integ- C d specifications- U tions
• An in r members- Im G member
• Inter- V
• Deci
MDCopyright ©2004, Object Management Group. All Rights reserved.
Introducing OMG
of the most successful forums for creatinration standards in the computer industryORBA integration platform & many relateML design notation and related specifica
dustrial consortium with vendor and useplementation must be available from OM
faces freely available to allisit http://www.omg.org
sions taken by members
A Introduction
7
25-Aug-2004
Generic MDA (11)
p2AB3COMABBAdaptivAgilentAlcatelAonixAT&TBAE SBBC RBEA SBoeingBorland
e
iaTechct Tech.naleon
wellE
SAS InstituteSiemensSonySunSybaseT-NovaTelefonicaThalesToshibaUBSUnion SwitchUnisysW3C
MDCopyright ©2004, Object Management Group. All Rights reserved.
Worldwide Membershi
e
ystems&Dystems
Bristol-Myers CACBOECiscoCodagenCompuwareCredit SuisseDeere & Co.DHLDMSODoCoMoDSTCEDS
EurocontrolFujitsuGCHQHPHitachiIBMInt’active ObjIONALockheedLucentMotorolaNASANEC
NATONISTNokiaOraclPfizerPromPrismProjeRatioRaythRockSABRSAP
A Introduction
8
25-Aug-2004
Generic MDA (11)
OM Language
•
The tions of early 90s
• Resu leted in 1997
• Over esearch, Aug. 04)- 80- D- O- Tr- U
• UML
MDCopyright ©2004, Object Management Group. All Rights reserved.
G at work: Unified Modelling
successor to multiplicity of OO A&D nota
lt of OMG process begun in 1994, comp
2/3 of organisations now use UML (BZ r% plan to use UML in future
ozens of toolsver 100 UML-related booksaining widely availableML certification
2.0 now published
A Introduction
9
25-Aug-2004
Generic MDA (11)
Ent ere next?
•
“Mid years ago- A when one big
m
• Toda en enterprises- M my computer?- C uterised, public
ne DI in the 80s)
• ebXM other Web Serv rise middleware- B ow?
MDCopyright ©2004, Object Management Group. All Rights reserved.
erprise System Integration: wh
dleware” entered the IT lexicon about tenddresses integration within the enterpriseachine replaced by several smaller ones
y we aim for similar integration betweust I type your computer-printed bill into onditions are right: most businesses comptworks cheap and ubiquitous (compare E
L, WSDL/UDDI/SOAP, RosettaNet andices initiatives aim to be only inter-enterput some users must cope with them all - h
A Introduction
10
25-Aug-2004
Generic MDA (11)
s
“Eve gone before and
start s of 'build and scrap l to 7 per cent of busin t $2,000bn, or 47 per c but we have run out o tory as we know it.”
Pa gy executive for
Ge f Defense. http://ww
MDCopyright ©2004, Object Management Group. All Rights reserved.
Other enterprise issue
ry seven years, we have torn up what hased again … There have been eight cycle' since 1946. The first cost $100m, equaess investment at the time. The last cosent. The next would have cost $5,000bnf money: we have come to the end of his
ul A. Strassmann, former Chief Information Technoloneral Foods, Kraft, Xerox and the US Department ow.strassmann.com/
A Introduction
11
25-Aug-2004
Generic MDA (11)
urn
•
New ears- O
• But c- Tw /I in production- G OL still in use
• We c ’s delivery platfo- W capital in code- Th en it’s time to
ch
MDCopyright ©2004, Object Management Group. All Rights reserved.
The cost of technology ch
delivery technologies arrive every 5-10 yften an improvement (e.g. Java vs. C++)
ritical IT systems live 25+ yearso Zurich banks with 6 million lines of PL
artner estimates 180 billion lines of COB
an no longer afford to pretend that todayrm is the last one there’ll ever bee must stop investing all our intellectual at investment too difficult to withdraw whange platforms
A Introduction
12
25-Aug-2004
Generic MDA (11)
•
In 20 on time, within budg
• 15%
• Of th- 41- 41- 27
(S ion III, © 2003)
MDCopyright ©2004, Object Management Group. All Rights reserved.
Software quality
02 only 34% of US IT projects delivered et, and with all specified features
failed completely
e other, “challenged” 51%:% delivered less than 50% of spec% more than 50% over-time% more than 50% over-budget
ource: The Standish Group, CHAOS Chronicles Vers
A Introduction
13
25-Aug-2004
Generic MDA (11)
C with it?
MDCopyright ©2004, Object Management Group. All Rights reserved.
ould this have something to do
A Introduction
14
25-Aug-2004Generic MDA (11)
th
• Origi
• Base
• Over
• Pepp
“Tth
“Aso
MDCopyright ©2004, Object Management Group. All Rights reserved.
The Mythical Man Mon
nally written in 1975, still in print
d on Brooks’ OS/360 experience
250,000 copies sold
ered with pithy aphorisms, like:
he sooner you start, e longer it takes”
dding manpower to a late ftware project only makes it later”
A Introduction 1525-Aug-2004Generic MDA (11)
ith IT
• Com tary problems- B rk together- M ss between them- B nt technologies
• Each rs- C ist for decades- B cy technologies
• Too te & over-budget- IT eering discipline- B acture of software
MDCopyright ©2004, Object Management Group. All Rights reserved.
Recap: Business problems w
plimentary technologies solve complimenut little thought goes into making them woiddleware helps inside enterprises, but leusiness needs better integration of curre
technology stays in vogue for a few yearitical applications created with each persusiness needs better integration of lega
many IT projects fail completely, or run la more of a cottage industry than an enginusiness needs better design and manuf
A Introduction 1625-Aug-2004Generic MDA (11)
• How & use better tools- O- A- P wing a language”)- P schemas- M
• Ther- B end
• We n form APIs- “A
MDCopyright ©2004, Object Management Group. All Rights reserved.
How to cope?
we always do - raise level of abstraction ctal/Hex machine code to assemblerssemblers to High-Level Languagesrocedural to OO HLLs (see Steele’s “Grohysical to logical to “semantic” database anual to automatic storage allocation
e’s always a fierce rearguard actionut greater abstraction always wins in the
eed to raise abstraction level above platbstract and automate”
A Introduction 1725-Aug-2004Generic MDA (11)
re
• Rais loyment platform
• Main re-purposable mod- S- P yntax- D t platforms- G cripts,
de s etc.
• Inves assets, not code
MDCopyright ©2004, Object Management Group. All Rights reserved.
Model-Driven Architectu
ing the level of abstraction above the dep
tain common design base as re-usable, el (Platform-Independent Model)tored in standards-based repositoryresented in standard UML visual model serived Platform-Specific Models for targeenerated platform interfaces, code, test sployment descriptors, database schema
t in models as the long-lived intellectual
A Introduction 1825-Aug-2004Generic MDA (11)
n (1)Start with a Platform-independent model (PIM) representing business functionality and behaviour, undistorted by technology details
Platfo
MDCopyright ©2004, Object Management Group. All Rights reserved.
Building an MDA applicatio
rm-independent model A detailed model, including pre- and post-conditions specified in OCL and semantics in Action Language
A Introduction 1925-Aug-2004Generic MDA (11)
n (2)MDA tool helps apply a standard mapping to generate a Platform-Specific Model (PSM) from the PIM.
Platfo
C
Auto
Colour Door
Auto
Colour Door
CORmod
MDCopyright ©2004, Object Management Group. All Rights reserved.
Building an MDA applicatio
rm-independent model
Auto
olour Door
Map PIM to a specific middleware technology via OMG standard mapping
BAel
A Introduction 2025-Aug-2004Generic MDA (11)
n (3)MDA tool helps apply a standard mapping to generate a Platform-Specific Model (PSM) from the PIM.
Platfo
CORmod
C
Auto
Colour Door
Auto
Colour Door
MDCopyright ©2004, Object Management Group. All Rights reserved.
Building an MDA applicatio
rm-independent modelMap PIM to many middleware technologies via OMG standard mappings
BAel
XML/SOAPmodel
Othermodel
Auto
olour Door
Auto
Colour Door
Auto
Colour Door
Auto
Colour Door
Auto
Colour Door
Auto
Colour Door
Auto
Colour Door
Auto
Colour Door
Auto
Colour Door
Auto
Colour Door
EJB/Javamodel
A Introduction 2125-Aug-2004Generic MDA (11)
n (4)MDA tool generates all or most of the implementation code for deployment technologies.
Platfo
COR
C
Auto
Colour Door
Auto
Colour Door
MDCopyright ©2004, Object Management Group. All Rights reserved.
Building an MDA applicatio
rm-independent modelMap PSM to application interfaces, code, SQL queries, etc.
BA EJB/ XML/ OtherJava SOAP
Auto
olour Door
Auto
Colour Door
Auto
Colour Door
Auto
Colour Door
Auto
Colour Door
Auto
Colour Door
Auto
Colour Door
Auto
Colour Door
Auto
Colour Door
Auto
Colour Door
A Introduction 2225-Aug-2004Generic MDA (11)
n (5)MDA tools for reverse engineering automate discovery of models for re-integration on new platforms.
Platfo
LegaAp
MDCopyright ©2004, Object Management Group. All Rights reserved.
Building an MDA applicatio
rm-independent modelReverse engineer existing application into a model for integration
cy COTS
Other
p App
Auto
Colour Door
Auto
Colour Door
Auto
Colour Door
A Introduction 2325-Aug-2004Generic MDA (11)
Sim st Service
• Sma your home- B Warmer & Bast
• Cust ervice
• Thre d fulfilment- R- E- O b service
• Desi PSMs- O
MDCopyright ©2004, Object Management Group. All Rights reserved.
ple example: Rosa’s Breakfa
ll business system - delivers breakfast toorrowed from “MDA Explained” Kleppe,
omers order breakfast via Web or Web s
e-tier application keeps track of orders anelational back-end databaseJB-based middle tierperated via JSP-based front end -or- We
gned using MDA with single PIM, multiplene PSM for each platform used
A Introduction 2425-Aug-2004Generic MDA (11)
ustomertNumber : integers : Addressrder()
ardBreakfasttringalyle
Partquantity : integer
ible
MDCopyright ©2004, Object Management Group. All Rights reserved.
Rosa’s PIMBreakfastOrder
deliveryAddress : AddressdeliveryDate : DatedeliveryTime : Timediscount : realorderDate : DatecalculatePrice()
CaccounaddrescreateO
Breakfastnumber : integer
Standname : Sprice : restyle : St
Comestiblename : stringminimalQuantity : integerprice : realtransportForm : string
Changequantity : integer
order
breakfasts
1
1..*orders customer
standard
1
1
comestiblecomest
1..*
1..*
*
*
*
A Introduction 2525-Aug-2004Generic MDA (11)
ls
• Rela- R ers & customers
• Coar- A
• Java- U
• Web- A eb Services
• See mappings
MDCopyright ©2004, Object Management Group. All Rights reserved.
Platform Specific Mode
tional PSMelational database schema for storing ord
se-grained Enterprise Java Beans PSMpplication logic implemented as EJBs
Server Pages PSMser interface for the application
Services PSMccess the order service via one or more W
“MDA explained” for detailed PIM -> PSM
A Introduction 2625-Aug-2004Generic MDA (11)
Auto
Colour Door
Auto
Colour Door
Auto
Colour Door
EPlatform-sp
RelationalPlatform-specific model
SQL source code
MDCopyright ©2004, Object Management Group. All Rights reserved.
Automating bridges
Platform-independent model
Auto
Colour Door
Auto
Colour Door
Auto
Colour Door
JBecific model
EJB source code
Bridge movesdata between tiers
A Introduction 2725-Aug-2004Generic MDA (11)
study
• Two re sample app- S n patterns- Ty application
• Two s. OptimalJSe Cfinal.pdf
• MDA itional” in 508- 35 ol on the job- M % faster next time
• Leve s was higher for the t am
MDCopyright ©2004, Object Management Group. All Rights reserved.
Middleware Company MDA
parallel implementations of Sun’s Pet Stoun’s illustration of “Java Blueprints” desigpical 3-tier DB/Java/HTML e-commerce
3-person teams, “traditional” Java tools ve http://www.compuware.com/dl/MDAComparisonTM
team completed in 330 man-hours, “trad% effort saving, despite learning MDA to
DA team estimated they would be 10-20
l of bugs found during the testing procesraditional IDE team than the MDA-tool te
A Introduction 2825-Aug-2004Generic MDA (11)
• Anot ce applicationSe gility_model_arch.pdf
• Code imalJ J2EE- 14- 3,- 60 creating models)- D 0 lines generated
• 30 m lJ EJB 1.1 version- N aged persistence- W anually”
MDCopyright ©2004, Object Management Group. All Rights reserved.
EDS report
her study based on the Pet Store referene http://www.eds.com/thought/thought_leadership_a
d app using vanilla J2EE, .NET and Opt,000 hand-coded lines in J2EE
000 hand-coded lines in .NET/C#0 hand-coded lines in Java/OptimalJ (+
evelopers write only 1-4 lines for each 20
inutes to add EJB 2.0 features to Optimaew local interfaces, better container-manould have taken “several months to do m
A Introduction 2925-Aug-2004Generic MDA (11)
n code
tier Config
with OptimalJ
412 30 56
2566
MDCopyright ©2004, Object Management Group. All Rights reserved.
EDS study - lines of handwritte150001400013000120001100010000
900080007000600050004000300020001000
0Total lines
of codeUser
interfaceMiddle
tierData
J2EE.NETJ2EE
610
3484
14273
535
1881
5891
45863
5404
0684
A Introduction 3025-Aug-2004Generic MDA (11)
Mi ce report
• Pair ing Petstore apps- Tr- C- S- In ervice- In ack shipments
• Trad 7% less (165 hrs)Se da2.pdf
• MDA es (pet matu (shipping costs)
MDCopyright ©2004, Object Management Group. All Rights reserved.
ddleware Company maintenan
of 2-man teams add new features to existacking pet maturationalculating shipping costsoliciting supplier bids for new inventorytegrating with Amazon.com via its web stegrating with mainframe application to tr
itional team took 260 hours, MDA team 3e http://www.middleware-company.com/casestudym
advantage greatest for disruptive changration), break-even for smallest updates
A Introduction 3125-Aug-2004Generic MDA (11)
udy
• Deut- 40- P ying property- 30 Bank offices
• Obje rame system- C application- O- M
(1co
MDCopyright ©2004, Object Management Group. All Rights reserved.
Real-world MDA Case St
sche Bank Bauspar AG0 employees & 800,000 contracts
rovides savings & loans for customers bu,000 client machines at 1000 Deutsche
ctive: Provide web access to bank mainflassic large CICS / COBOL / DB2 legacyriginally purchased in1987igrated from IMS to DB2 993), Y2K/Euro nversion (1997-2001)
A Introduction 3225-Aug-2004Generic MDA (11)
• Cust- V
• Field- 30 ine- W rer to Opera- N diversity
• Back- 20- N via better
au plications
MDCopyright ©2004, Object Management Group. All Rights reserved.
Users of new system
omers - view contracts & check statusia the internet, any kind of browser
staff - make and support sales,000 workstations, sometimes used off-lindows to OS/2, Mozilla to Internet Exploeeded to reduce support cost of browser
office - finalises transactions0 Windows NT workstations
eeded to improve efficiency of back officetomation, better integration with sales ap
A Introduction 3325-Aug-2004Generic MDA (11)
(1)
Business Layer
Logical Layer
Physical Layer
DB2
yerP
erWFMS
Mainframe
XML/MQSeries
Online
Offline
Back O
MDCopyright ©2004, Object Management Group. All Rights reserved.
New application structure
Physical Layer
Logical Layer
Oracle
Front End LaServlets/JS
Business LayEJB
ServerXML/HTTPS
HTTPS
clients
clients
ffice
A Introduction 3425-Aug-2004Generic MDA (11)
(2)
• Core- Fu same- N nd common code
• New- D- W- M- O not ready for DB2- C r transactions
• ArcS f new system
MDCopyright ©2004, Object Management Group. All Rights reserved.
New application structure
functions remain on mainframendamental business model remains the
ew app for each type of user, share data a
integration tierual Sun Fire 280R serversebLogic EnterpriseQ Series queue managerracle 8.1.7 stores partially-complete dataustom workflow manager manages longe
tyler MDA tool used to build large parts o
A Introduction 3525-Aug-2004Generic MDA (11)
tool
Series
Struts Form ClassesStruts Action ClassesDialogue configuration
WFMS process definitions
COBOL modulesXML parser/builderRPC Server Stubs
EJBsDeploymdescriptRPC Cli
Standarmethods
Data ac
Genera
Value oSAX haJ-Unit te
MDCopyright ©2004, Object Management Group. All Rights reserved.
Artifacts generated by MDA
Business Layer
Logical Layer
Physical Layer
DB2
Physical Layer
Logical Layer
Oracle
Front End LayerServlets/JSP
Business LayerEJB WFMS
Server
Mainframe
XML/MQ
ent orsent stubs
d access
cess objects
l Server-side
bjectsndlerst classes
A Introduction 3625-Aug-2004Generic MDA (11)
tages
Series
40%6
70%
60%
90%
9
7
MDCopyright ©2004, Object Management Group. All Rights reserved.
Code generation percen
Business Layer
Logical Layer
Physical Layer
DB2
Physical Layer
Logical Layer
Oracle
Front End LayerServlets/JSP
Business LayerEJB WFMS
Server
Mainframe
XML/MQ
0%
0%
0%
A Introduction 3725-Aug-2004Generic MDA (11)
• Web ffice mainframe
• Larg m models- e. ated
• Codi consumed 5-10%
• Over t 40% compared to no- M to maintain &
de
MDCopyright ©2004, Object Management Group. All Rights reserved.
DB Bauspar results
access for “legacy” (i.e. working!) back-o
e parts of new applications generated frog. 100% of XML interfaces directly gener
ng and maintaining generation templates of overall project effort
all cost & time-scale savings estimated an-MDA approachodels a long-lived asset that can be usedvelop system in future
A Introduction 3825-Aug-2004Generic MDA (11)
MDA oblems
MDCopyright ©2004, Object Management Group. All Rights reserved.
Summary
addresses key software development pr
poor technology integration
difficult legacy integration
rapid technology churn
poor software quality
low productivity
A Introduction 3925-Aug-2004Generic MDA (11)
• Slide /ajw_generic
• MDA
• Fast .htm
• Ema
MDCopyright ©2004, Object Management Group. All Rights reserved.
For further Information
s: ftp://ftp.omg.org/pub/presentations
: http://www.omg.org/mda
Start: http://www.omg.org/faststart/index
Top Related