an architectural overview of mda® - uzh · 2011-08-23 · ©sap ag and david s frankel 2005, mda /...
TRANSCRIPT
![Page 1: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/1.jpg)
An Architectural Overview of MDA®
David S. FrankelLead Standards Architect – Model Driven SystemsSAP Labs
Portions adapted from the booksModel Driven Architecture: Applying MDA to Enterprise Computing
The MDA Journal: Model Driven Architecture Straight from the MastersDavid S. Frankel
![Page 2: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/2.jpg)
© SAP AG and David S Frankel 2005, MDA / 2
Agenda
Value Chain Driven Business
Industrializing Software
Model-Driven Enterprise Architecture
Informal vs. Formal Modeling
Business Process Management
Metadata Fragmentation
Metadata Integration via MOF
XMI and JMI
UML Profiling
PIMs and PSMs
Model Driven Data Transformations
The Future of MDA: Model-Driven Business Process Platforms
![Page 3: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/3.jpg)
© SAP AG and David S Frankel 2005, MDA / 3
Agenda
Value Chain Driven Business
Industrializing Software
Model-Driven Enterprise Architecture
Informal vs. Formal Modeling
Business Process Management
Metadata Fragmentation
Metadata Integration via MOF
XMI and JMI
UML Profiling
PIMs and PSMs
Model Driven Data Transformations
The Future of MDA: Model-Driven Business Process Platforms
![Page 4: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/4.jpg)
© SAP AG and David S Frankel 2005, MDA / 4
Value Chains Overview
Focus on core competenciesRely on other organizations to provide necessary products and services outside the core
Kinds of value chainsSupply Chains: Links a producer with suppliers.One-Stop Shopping Chains: Provides a customer with one address for the purchase of a set of related products and servicesSoftware Development Chains: Distributes software design, development, deployment, and management responsibilities among multiple organizations.
![Page 5: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/5.jpg)
© SAP AG and David S Frankel 2005, MDA / 5
One-Stop Shopping Chains
Building ContractorLegal Services
FinancingHome Supplies
Title ServicesArchitecture
![Page 6: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/6.jpg)
© SAP AG and David S Frankel 2005, MDA / 6
Increased Complexity Facing IT
Uniform User
Devices
Fat Clients
Web Clients
WirelessHandhelds
TelephoneKeypads
Support Business Functions
Within the Enterprise, C2B, and B2B
Support Business Functions
Within the Enterprise
Complexity
![Page 7: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/7.jpg)
© SAP AG and David S Frankel 2005, MDA / 7
Service-Oriented Architecture
Defining and managing links in value chains, and lower-granularity services
Building, updating, and integrating complex, distributed, secure service-oriented systems is difficult
Labor-intensiveEasy to use a good application server in an unscalable fashionScalability and security require consistent use of architecturalpatternsVariability in link technology is a security vulnerability
![Page 8: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/8.jpg)
© SAP AG and David S Frankel 2005, MDA / 8
Agenda
Value Chain Driven Business
Industrializing Software
Model-Driven Enterprise Architecture
Informal vs. Formal Modeling
Business Process Management
Metadata Fragmentation
Metadata Integration via MOF
XMI and JMI
UML Profiling
PIMs and PSMs
Model Driven Data Transformations
The Future of MDA: Model-Driven Business Process Platforms
![Page 9: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/9.jpg)
© SAP AG and David S Frankel 2005, MDA / 9
Applying Industrial Lessons Where Appropriate
Basic industrial principles to achieve efficiencies and automationFormal blueprints (models)ComponentsPatterns
Crawl, walk, run…a gradual change
Take advantage of things that are unique about softwareRapid prototyping capabilities
Build on what we already know about software development
![Page 10: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/10.jpg)
© SAP AG and David S Frankel 2005, MDA / 10
Bringing Model-Centrism to Intermediate Tiers, EAI and B2Bi
Part of general trend to raise the abstraction level
Models as development artifactsNot simply blueprints for humans
Already well-established for front and back endsWYSIWYG GUI modeling and data modelingHand coding no longer predominatesBut tuning allowed
SOA requires intermediate tiers
Wizards vs. models
![Page 11: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/11.jpg)
© SAP AG and David S Frankel 2005, MDA / 11
Component-Based Development
Interchangeable components and scientific management were the keys to the industrial revolution
More than objects: Independently deployable
Excellent source: Business Component Factory, by Peter Herzum and Oliver Sims
Crucial to Service Oriented Architecture
![Page 12: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/12.jpg)
© SAP AG and David S Frankel 2005, MDA / 12
Design Patterns
Patterns at the technical levelSuch as Java BlueprintsBest practices for implementing components or a set of interacting components
Some patterns make sense at the level of business semanticsSuch as the Observer pattern (Gamma et al)
![Page 13: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/13.jpg)
© SAP AG and David S Frankel 2005, MDA / 13
Automatic Pattern Replication
MDA generators encapsulate pattern knowledgeAnd apply patterns automaticallyTechnical patterns are the most amenableRepetitive hand-coding of each pattern instance is inefficientPatterns community is coming around to this view
e.g. John Crupi
Generators can enforce large scale patterns or architectural stylesRichard Hubert, Convergent Architecture
![Page 14: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/14.jpg)
© SAP AG and David S Frankel 2005, MDA / 14
Using Value Object Design Pattern to Set Attributes
Client
ValueObject
FaçadeObject
1. Multiple local invocations
2. One remote invocation
EJBComponent
3. Multiple local invocations
![Page 15: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/15.jpg)
© SAP AG and David S Frankel 2005, MDA / 15
A Generator Applying the Value Object Pattern
FaçadeRemoteInterface
ValueObjectClass
Generator
BeanInterrface
FaçadeClass
BeanClass
= completely generated
= partially generated
SavingsAccountinterestRate : Float
<<BusinessEntity>>CheckingAccount
minBalance : Float
<<BusinessEntity>>
Accountid : Stringbalance : Float
<<BusinessEntity>>
Customerid : StringlastName : StringfirstName : StringsocSec# : String
<<BusinessEntity>>
1..*
1
+account
1..*
+customer1
context PreferredChecking inv:
--Cannot go below the minBalance
balance >= minBalance
{disjoint }
Model of Customer Entity
![Page 16: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/16.jpg)
© SAP AG and David S Frankel 2005, MDA / 16
Other Advances Toward Efficiency
MiddlewareRaises the abstraction level of the platform
Declarative Specificatione.g. setting transaction properties in component descriptors
Enterprise ArchitectureSeparation of concerns
![Page 17: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/17.jpg)
© SAP AG and David S Frankel 2005, MDA / 17
Model Compilers and the Abstraction Level
Application Model CheckingAccountminBalance : Float
<<BusinessEntity>>
Accountid : Stringbalance : Float
<<BusinessEntity>>
Custom erid : String
<<BusinessEntity>>
1..*
1
+account
1..*
+custom er1
context PreferredChecking inv:
--Cannot go below the minBalance
balance >= minBalance
SavingsAccount<<Business Ent ity>>
Model Compilation Abstraction Gap
Level of Abstraction
Operating System / VM
DBMS Network Systems
TransactionSystems
Middleware
Machine
![Page 18: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/18.jpg)
© SAP AG and David S Frankel 2005, MDA / 18
Multi-Tiered Enterprise Architecture With EAI Adapters & Message Management
Means A accesses BA B
Mainframe DBs DBs on other servers Other Legacy
SystemsPackaged Applications
CLIENT TIERUser Presentation
ENTERPRISE TIEREncapsulated Business Logic
Servers
INTERACTION TIERUser Interaction Logic
Servers
INTEGRATION TIER
Application adapters, message routers, filters, & transformers
Resource adapters (e.g. object-relational mappings)
![Page 19: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/19.jpg)
© SAP AG and David S Frankel 2005, MDA / 19
“Below the Line”
Middleware Service APIs
Middleware Service APIs
3GL Languages•Editors•Debuggers•Programmatic and user interfaces to compilers
3GL Languages•Editors•Debuggers•Programmatic and user interfaces to compilers
ApplicationsApplications
“Above the Line”
Middleware Configuration Languages
e.g. EJB DeploymentDescriptor
Middleware Configuration Languages
e.g. EJB DeploymentDescriptor
Water Line1
Architectural SeparationApplication Viewpoint vs. Infrastructure
MiddlewareImplementations
MiddlewareImplementations
3GL LanguagesCompiler Implementations
3GL LanguagesCompiler Implementations
1The “above and below the line” concept was developed by Oliver Sims
![Page 20: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/20.jpg)
© SAP AG and David S Frankel 2005, MDA / 20
Agenda
Value Chain Driven Business
Industrializing Software
Model-Driven Enterprise Architecture
Informal vs. Formal Modeling
Business Process Management
Metadata Fragmentation
Metadata Integration via MOF
XMI and JMI
UML Profiling
PIMs and PSMs
Model Driven Data Transformations
The Future of MDA: Model-Driven Business Process Platforms
![Page 21: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/21.jpg)
© SAP AG and David S Frankel 2005, MDA / 21
Model-Driven Enterprise Architecture
UML® “out of the box” does not support modeling enterprise-centric computing
TiersMiddleware layersDistributed componentsSecurity
A model-driven enterprise architecture requires modeling languages to support it
Distinct but coordinatedFor different system aspects and levels of abstraction
Different cells in the Zachman gridDifferent RM-ODP viewpoints
Use UML profiles and MOF to define the languages
![Page 22: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/22.jpg)
© SAP AG and David S Frankel 2005, MDA / 22
One Modeling Language?
DATAWhat
(Things)
The ZachmanFramework
FUNCTIONHow
(Process)
NETWORKWhere
(Location)
PEOPLEWho
(People)
TIMEWhen(Time)
MOTIVATIONWhy
(Motivation)
DETAILEDREPRESENTATIONS
(Out-of-Context)Sub-Contractor
SYSTEM MODEL(Logical)Designer
TECHNOLOGYMODEL
(Physical)Builder
BUSINESS MODEL(Conceptual)
Owner
FUNCTIONINGENTERPRISE
List of thingsimportant to the
business
Entity = Class ofbusiness thing
List of processes thebusiness performs
Function = Class ofbusiness process
List of Locations inwhich the business
operates
Note = Major businesslocation
List of OrganizationsImportant to the
Business
People = Majororganizations
List of EventsSignificant to the
Business
Time = Major businessevent
List of BusinessGoals/Strategies
Ends/Means = Majorbus. goal/Criticalsuccess factor
Semantic Model
Ent = Business entityRein = Business
relationship
Work Flow Model
People = Organizationunit
Work = Work product
Master Schedule
Time = Businessevent
Cycle = Businesscycle
Business Plan
End = Businessobjective
Means = Businessstrategy
Human InterfaceArchitecture
People = RoleWork = Deliverable
Processing Structure
Time = System eventCycle = Processing
cycle
Business Rule Model
End = Structuralassertion
Means = Actionassertion
System Design
Proc = Computerfunction
I/O = Data elements/sets
PresentationArchitecture
People = UserWork = Screen format
Control Structure
Time = ExecuteCycle = Component
cycle
Rule Design
End = ConditionMeans = Action
Program
Proc = Languagestatement
I/O = Control block
Security Architecture
People = IdentityWork = Job
Timing Definition
Time = InterruptCycle = Machine cycle
Rule Specification
End = Sub-conditionMeans = Step
Actual ApplicationCode
Actual BusinessOrganization
Acutal BusinessSchedule
Actual BusinessStrategy
Business ProcessModel
Proc = Businessprocess
I/O = Businessresources
ApplicationArchitecture
Proc = Applicationfunction
I/O = User views
Logical Data Model
Ent = Data entityRein = Datarelationship
Physical Data Model
Ent = Segment/Table,etc.
Rein = Pointer/Key
Data Definition
Ent = FiledRein = Address
Actual Business Data Actual PhysicalNetworks
Network Architecture
Node = AddressesLink = Protocols
TechnologyArchitecture
Node = Hardware/System software
Link = Linespecifications
Distributed SystemArchitecture
Node = I/S function(Processor, Storage, etc.)
Link = Linecharacteristics
Business LogisticsSystem
Node = Businesslocation
Link = Businesslinkage
SCOPE(Contextual)
Planner
Abstractions (Columns)
Pers
pect
ives
(Row
s)
![Page 23: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/23.jpg)
© SAP AG and David S Frankel 2005, MDA / 23
MDA Architectural Resources Above and Below the Line
ApplicationsApplications
Modeling Languages•Editors (e.g. UML modeling tools)•Programmatic and user interfaces to generators
Modeling Languages•Editors (e.g. UML modeling tools)•Programmatic and user interfaces to generators
Water Line
Modeling LanguageDefinitions
(language creator’s Viewpoint)
Modeling LanguageDefinitions
(language creator’s Viewpoint)
Mappings of languagesto Technologies
(including application of patterns)
Mappings of languagesto Technologies
(including application of patterns)
GeneratorImplementations
(Generators conformto mappings)
GeneratorImplementations
(Generators conformto mappings)
![Page 24: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/24.jpg)
© SAP AG and David S Frankel 2005, MDA / 24
Pushing Pattern Knowledge Below the Line
“Below the Line”
“Above the Line”
Pre-MDA With MDA
Applications Applications Value Object
Pattern
Other Patterns ConsistentWith the Architectural Style
Generator Generator Value Object
Pattern
Other Patterns ConsistentWith the Architectural Style
![Page 25: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/25.jpg)
© SAP AG and David S Frankel 2005, MDA / 25
Model-Driven Development vs. Model Driven Architecture
MDA includes model-driven development
Also about model-driven deploymentCurrently deployment tools metadata is fragmented
Little standardization
Also about model-driven management (ops)Generating instrumentation from models of service-level agreements (SLAs)Java Management Specification (JSR-77) provides some standardization
![Page 26: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/26.jpg)
© SAP AG and David S Frankel 2005, MDA / 26
Agenda
Value Chain Driven Business
Industrializing Software
Model-Driven Enterprise Architecture
Informal vs. Formal Modeling
Business Process Management
Metadata Fragmentation
Metadata Integration via MOF
XMI and JMI
UML Profiling
PIMs and PSMs
Model Driven Data Transformations
The Future of MDA: Model-Driven Business Process Platforms
![Page 27: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/27.jpg)
© SAP AG and David S Frankel 2005, MDA / 27
Informal Models
Informal modeling
Used to sketch out basic concepts
Advantage over typical box and line diagrams because shapes and line types have specific meanings
Important, but can’t drive code generators and dynamic execution engines
Analogously, informal text can’t be compiled and executed like 3GL text
![Page 28: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/28.jpg)
© SAP AG and David S Frankel 2005, MDA / 28
Formal Models
PrecisePrecision and detail are not the same!
Computationally completeMissing properties and unresolved references not acceptable3GL analogy…
an incomplete expression such as “a +” does not compileAn undeclared identifier does not compile
![Page 29: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/29.jpg)
© SAP AG and David S Frankel 2005, MDA / 29
Business Information ModelImprecise and Incomplete
CheckingAccount<<BusinessEntity>>
minBalance : Money
Account<<BusinessEntity>>
id : Stringbalance : Money
Customer<<BusinessEntity>>
socialSecurityNum : Stringname : Stringaddress : String
1..n1..n
PreferredChecking<<BusinessEntity>>
SavingsAccount<<BusinessEntity>>
interestRate : Decimal
![Page 30: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/30.jpg)
© SAP AG and David S Frankel 2005, MDA / 30
Business Information ModelPrecise and Complete
= composition (a.k.a. strong aggregation)
Composition of Account by Customer formally captures an important business rule: An account cannot be transferred from one customer to another.
context PreferredChecking inv:
--Cannot go below the minBalance
balance >= minBalance
CheckingAccount<<BusinessEntity>>
minBalance : Money
Account<<BusinessEntity>>
id : Stringbalance : Money
Customer<<BusinessEntity>>
socialSecurityNum : Stringname : Stringaddress : String
1..n
1
+account1..n
+customer1
PreferredChecking<<BusinessEntity>>
{disjoint}
Invariant rule expressed in UML’s Object Constraint Language (OCL)
Multiplicity could be 1 or 0..1, must be specified
Disjoint means no instance can be an instance of both subclasses.
Money<<DataType>>
Money data type is defined
SavingsAccount<<BusinessEntity>>
interestRate : Decimal
Decimal<<DataType>>
Decimal data type is defined
![Page 31: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/31.jpg)
© SAP AG and David S Frankel 2005, MDA / 31
A Formal Model of an Abstract Business Service
FundsXFer<<BusinessService>>
XFerFromChecking(in fromAcct : CheckingAccount, in toAcct : SavingsAccount, in amount : Money)
context FundsXFer::XFerFromChecking (fromAcct : CheckingAccount, toAcct : SavingsAccount) : voidpre:
--There must be sufficient funds in the checking account to support the transferfromAcct.balance >= amount
pre:--The checking account and the savings account must belong to the same customerfromAccount.customer = toAccount.customer
post:--The balance of the checking account is reduced from its orginal amount by the amount of the transfer fromAcct.balance = fromAcct.balance@pre - amount
post:--The balance of the savings account is increased from its original amount by the amount of the transfertoAcct.balance = toAcct.balance@pre + amount
![Page 32: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/32.jpg)
© SAP AG and David S Frankel 2005, MDA / 32
Contracts, Reuse, and Interoperability
“Connecting the dots”Makes the specification more completeFlushes out design flaws
Interoperability among components is difficult when contract not well understood
Formal contract increases the degree of semantic interoperability
Regardless of whether code is generated from the contractSemantic interoperability required for B2Bi
Provides a “gold standard” for people who speak different human languages
![Page 33: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/33.jpg)
© SAP AG and David S Frankel 2005, MDA / 33
Value Chain ContractHow Clear?
?Intelligent Links in Value Chains
Formalized service level agreements (SLAs)
Tools use formal SLAs to generate instrumentation that monitors compliance
Or use SLAs dynamically for compliance monitoring
Bring intelligent links online more quickly and with more confidence
![Page 34: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/34.jpg)
© SAP AG and David S Frankel 2005, MDA / 34
Mapping the Business Information Model to XML
Platform-Independent
Model
Platform-Independent
Model
Class Model -XML Mapping Rules
XML DTD (or Schema)XML DTD (or Schema)Produce
SavingsAccountinterestRate : Float
<<BusinessEntity>>CheckingAccount
minBalance : Float
<<BusinessEntity>>
Accountid : Stringbalance : Float
<<BusinessEntity>>
Customerid : StringlastName : StringfirstName : StringsocSec# : String
<<BusinessEntity>>
1..*
1
+account
1..*
+customer1
context PreferredChecking inv:
--Cannot go below the minBalance
balance >= minBalance
{disjoint}
Customerid : StringlastName : StringfirstName : StringsocialSecurityNum : String
<<BusinessEntity>>…<!ELEMENT Bank.Customer.id (#PCDATA | XMI.reference)* ><!ELEMENT Bank.Customer.lastName (#PCDATA | XMI.reference)* ><!ELEMENT Bank.Customer.firstName (#PCDATA | XMI.reference)* ><!ELEMENT Bank.Customer.socialSecurityNum (#PCDATA | XMI.reference)*>…
![Page 35: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/35.jpg)
© SAP AG and David S Frankel 2005, MDA / 35
Mapping the Business Service Model to WSDL
FundsXFer
XFerFromChecking(in fromAcct : CheckingAccount, in toAcct : SavingsAccount, in amount : Money, out fromAcctBal : Money, out toAcctBal : Money)
<<BusinessService>>
PortTy pe Mess ageOperation
0..1
1
+input0..1
1
0..1
1
+output0..1
1
0..n
1 +operation
{ordered}
0..n
+portTy pe
1
![Page 36: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/36.jpg)
© SAP AG and David S Frankel 2005, MDA / 36
Parameterized Mappings
CheckingAccountminBalance : Money
<<BusinessEntity>>
Accountid : String
balance : Money
<<BusinessEntity>>
CustomersocialSecurityNum : Stringname : Stringaddress : String
<<BusinessEntity>>
1..n
1
+account1..n
{href = true}
+customer1{enforceMaximumMultiplicity = true}
PrefferedChecking<<BusinessEntity>>
context PreferredChecking inv:
--Cannot go below the minBalance
balance >= minBalance
{disjoint}
SavingsAccount<<BusinessEntity>>
interestRate : Decimal
![Page 37: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/37.jpg)
© SAP AG and David S Frankel 2005, MDA / 37
Agenda
Value Chain Driven Business
Industrializing Software
Model-Driven Enterprise Architecture
Informal vs. Formal Modeling
Business Process Management
Metadata Fragmentation
Metadata Integration via MOF
XMI and JMI
UML Profiling
PIMs and PSMs
Model Driven Data Transformations
The Future of MDA: Model-Driven Business Process Platforms
![Page 38: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/38.jpg)
© SAP AG and David S Frankel 2005, MDA / 38
Collaborative Business Processes
A link in a value chain may be more than just one service interface
Need to model protocols involving communication back and forth
Business process modelsSteps in business processes trigger or are triggered by invocations of services across links
![Page 39: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/39.jpg)
© SAP AG and David S Frankel 2005, MDA / 39
Choreography and Orchestration
OrchestrationShipper Choreographed
message
Buyer Seller
![Page 40: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/40.jpg)
© SAP AG and David S Frankel 2005, MDA / 40
Informal Business Process Model
Purchase Option
Obtain Option Price
Decline Payment Offer for Goods and Services
[ unacceptable currency exposure ]
Accept Payment Offer for Goods and Services
[ acceptable currency exposure ]
Obtain Payment from Buyer
Exercise Option
[ option in-the-money ]
Obtain Acceptable Payment Offer from Buyer for Providing Goods or Services
[ option out-of-the-money ]
[ option worth purchasing ] [ option too expens ive or unavailable ]
[ significant currency exposure ] [ insignificant currency exposure ]
![Page 41: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/41.jpg)
© SAP AG and David S Frankel 2005, MDA / 41
Formal Business Process Model1
START
Query Available Time Slots<<BusinessTransactionActivity>>
Request Time Slot Reservation<<BusinessTransactionActivity>>
END
Offer Available Time Slots<<BusinessTransactionActivity>>
NO TIME SLOTS
Notify of Failure<<NotificationActivity>>
>
FAILED
[ TimeSlotReservationConfirmation.acknowledgement = false ]
[ exception.type = #CONTROL ]
[ TimeSlotOfferResponse.timeslot- ->isEmpty ]
[ exception.type = #CONTROL ]
[ AvailableTimeSlotsResponse.timeSlots->isEmpty ]
[ exception.type = #CONTROL ]
1Diagram by Jim Clark, MicrosoftReused with his permission
![Page 42: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/42.jpg)
© SAP AG and David S Frankel 2005, MDA / 42
Interaction Model1
: CustomerService : CustomerAgent : FieldLaborSchedulerAgent : FieldLaborSchedulerService
1: callTnx()
2: return(doc : TimeSlotReservationRequestAction)
3: transfer(doc : TimeSlotReservationRequestAction)4: request(doc : TimeSlotReservationRequestAction)
5: signal( : ReceiptAcknowledgement)
6: response( : TimeSlotReservationConfirmationAction)
7: signal( : Recei ptAcknowl edgem ent )
8: queryTnx()
9: return(doc : TimeSlotReservationConfirmationAction)
1Diagram by Jim Clark, MicrosoftReused with his permission
![Page 43: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/43.jpg)
© SAP AG and David S Frankel 2005, MDA / 43
Business Process Modeling Notation (BPMN)
Example from “Introduction to BPMN” by Stephen White, IBMAvailable at www.bpmi.org
![Page 44: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/44.jpg)
© SAP AG and David S Frankel 2005, MDA / 44
The “M” in CA-BPM
Managing business processes is the motivation
Computer assistance is for this purpose
Not the same as describing some process flows to do EAIIncludes this but not motivated by it
Industrial precedentCAD models drive production machinery
![Page 45: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/45.jpg)
© SAP AG and David S Frankel 2005, MDA / 45
Agenda
Value Chain Driven Business
Industrializing Software
Model-Driven Enterprise Architecture
Informal vs. Formal Modeling
Business Process Management
Metadata Fragmentation
Metadata Integration via MOF
XMI and JMI
UML Profiling
PIMs and PSMs
Model Driven Data Transformations
The Future of MDA: Model-Driven Business Process Platforms
![Page 46: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/46.jpg)
© SAP AG and David S Frankel 2005, MDA / 46
What is Metadata?
Originally, metadata meant only “data about data”Database schema are distinct from the data itself
Metadata now includesUML modelsData transformation rulesAPIs expressed in IDL, MIDL, C#, Java, WSDL, etc.Business process and workflow modelsProduct configuration descriptors and tuning parametersInformation that drives deployment toolsInformation that drives runtime management (ops)
Including Service Level Agreements
![Page 47: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/47.jpg)
© SAP AG and David S Frankel 2005, MDA / 47
Metadata Fragmentation
Example: One enterprise component may have several disparate forms of metadata
Platform-independent UMLJava interfacesXML descriptorsCORBA® IDLObject-relational mapping
![Page 48: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/48.jpg)
© SAP AG and David S Frankel 2005, MDA / 48
Reflection and Metadata Fragmentation
Operation that client invokes Metadata that the operation returns
CORBA get_interface InterfaceDef
COM GetTypeInfo ITypeInfo
Java getDeclaredMethods Method
![Page 49: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/49.jpg)
© SAP AG and David S Frankel 2005, MDA / 49
Volume and Value
Volume is largeGlobal 1000 companies have tens of thousands of columns in theirdata modelsNew kinds of models coming on line
Value is increasingMetadata drives generators and dynamic execution engines
Has been true for some time (e.g. workflow, CORBA, COM) but MDA accelerates trend
Increasing amounts of increasingly valuable metadata
![Page 50: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/50.jpg)
© SAP AG and David S Frankel 2005, MDA / 50
Previous Metadata Integration Attempts
Late 1980s and early 1990s
Diagnosis correct: Metadata disparity
Prescription: Have one grand metamodelOne kind of model
Reason for failure: Different stakeholders have different viewpoints
And require different modeling constructs
![Page 51: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/51.jpg)
© SAP AG and David S Frankel 2005, MDA / 51
Agenda
Value Chain Driven Business
Industrializing Software
Model-Driven Enterprise Architecture
Informal vs. Formal Modeling
Business Process Management
Metadata Fragmentation
Metadata Integration via MOF
XMI and JMI
UML Profiling
PIMs and PSMs
Model Driven Data Transformations
The Future of MDA: Model-Driven Business Process Platforms
![Page 52: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/52.jpg)
© SAP AG and David S Frankel 2005, MDA / 52
MOF Overview
OMG standardSister to UML
The most fundamental MDA language definition mechanismEven UML is defined via MOFUML profiles are the other mechanism
Supports model-driven metadata management
![Page 53: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/53.jpg)
© SAP AG and David S Frankel 2005, MDA / 53
The Basic Premises
There will be more than one modeling languageFor different system aspects and levels of abstraction
Different languages have different modeling constructsFor relational data modeling: table, column, key, etc.For workflow modeling: activity, performer, split, join, etc.For OO class modeling: class, attribute, operation, association, etc.
A modest degree of commonality is achievable by using one language to define the different languages
For example, use same means to describe that…a table owns its columnsa class owns its attributes and operationsa state machine its transitions
![Page 54: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/54.jpg)
© SAP AG and David S Frankel 2005, MDA / 54
Metamodels
A metamodel defines a language
A MOF-compliant metamodel consists ofAbstract syntax
Expressed formally via MOF metamodeling constructs
SemanticsDefines the meaning of the abstract syntaxExpressed informally (today) via natural language (i.e. English)
![Page 55: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/55.jpg)
© SAP AG and David S Frankel 2005, MDA / 55
Platform Independence
MOF metamodels are platform independent, meaning independent of…Information formatting technologies such as XML DTD and XML Schema3GLs and 4GLs such as Java, C++, C#, and Visual BasicDistributed component middleware, such as J2EE, CORBA, and.NETMessaging middleware such as WebSphere MQ Integrator (MQSeries) and MSMQ
MOF technology mappingsXMI®: XML Metadata Interchange (MOF-XML mapping)JMI : Java Metadata Interface (MOF-Java mapping)CMI : CORBA Metadata Interface (MOF-CORBA mapping)
![Page 56: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/56.jpg)
© SAP AG and David S Frankel 2005, MDA / 56
Borrowing from UML
MOF uses UML class modeling constructsIncluding Object Constraint Language (OCL)
Uses these constructs as the common means for defining abstract syntax
![Page 57: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/57.jpg)
© SAP AG and David S Frankel 2005, MDA / 57
Fragment of UML Metamodel for Class Modeling
{ordered}
StructuralFeaturemultiplicity : Multiplicitychangeability : ChangeableKindtargetScope : ScopeKindordering : OrderingKind
AttributeinitialValue : Expression
ClassisActive : Boolean
FeatureownerScope : ScopeKindvisibility : VisibilityKind
Classifier
Operationconcurrency : CallConcurrencyKindisRoot : BooleanisLeaf : BooleanisAbstract : Booleanspecificat ion : String
BehavioralFeatureisQuery : Boolean
+feature
0...
+owner
0..1
0...
0..1
GeneralizableElementisRoot : BooleanisLeaf : BooleanisAbstract : Boolean
Namespace
ModelElementname : Name
Adapted, with permission, from OMG document formal/01-09-67
![Page 58: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/58.jpg)
© SAP AG and David S Frankel 2005, MDA / 58
Fragment of the CWM Relational Data Metamodel
ViewisReadOnly : BooleancheckOption : BooleanqueryExpression : QueryExpression
QueryColumnSetquery : QueryExpression
NamedColumnSet/ optionScopeColumn : Column/ type : SQLStructuredType/ usingTrigger : Trigger
SQLSimpleTypecha racterMaximumLength : In tegercha racterOctetLength : IntegernumericPrecision : IntegernumericPrecisionRadix : Integ ernumericScale : IntegerdateTimePrecision : Integer
SQLDistinctType
length : Integerprecision : Integerscale : Integer/ sqlSimpleType : SQLSimpleType
1
*
sqlSimpleType
1
sqlDistinctType *
{ordered}
{ordered}
{ordered}
TableisTe mporary : BooleantemporaryScope : String/ trigger : TriggerisSystem : Boolean
CheckConstraintdeferrabili ty : Deferrabil ityType
*
*
/constrainedElement
*
/constrant*
ColumnSet
SQLDataTypetypeNumber : Integer
Columnprecision : Integerscale : IntegerisNullable : NullableTypelength : IntegercollationName : StringcharacterSetName : String/ optionScopeColumnSet : NamedColumnSet/ referencedTableType : SQLStructuredType
**
/constrainedElement
*
/constraint
*
*
0..1 /feature
*/owner
0..11
*/type
1/structuralFeature*
Adapted, with permission, from OMG document ptc/01-09-04
![Page 59: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/59.jpg)
© SAP AG and David S Frankel 2005, MDA / 59
Fragment of the CORBA Component Metamodel
OperationDef(from BaseIDL)
ProvidesDef UsesDefmultiple : boolean
InterfaceDef(from BaseIDL)
1
0..*
+provides1
0..*
1 +uses1
EmitsDef PublishesDef ConsumesDef
FactoryDef FinderDef
ComponentDefisBasic : boolean
1
0..*
1
+facet 0..*
1
+receptacle
1
0..*
0..*
+supports
1
0..*
1
+emits 1
0..*
1
+publishes
1
0..*
1
+consumes
HomeDef
1
0..*
1
+factory
1
0..*
1
+finder
1
0..*
+manages 1
+home
PrimaryKeyDef
1
0..1
+home1
+key0..1
ValueDef(from BaseIDL)
1
0..*
+type
1
EventDef
1
0..*
+type1 Adapted, with permission, from OMG document orbos/99-07-02
![Page 60: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/60.jpg)
© SAP AG and David S Frankel 2005, MDA / 60
Fragment of the UML Metamodel for State Charts
StateMachine
CompositeStateisConcurrent : Boolean
StateVertex
+container
+subvertex0..*
0..1
0..*
0..1
State
0..1
1
0..1
+top
1
Event0..*
0..*
+deferrableEvent0..*
0..*Guard
expression : BooleanExpressionTransition
0..*
0..1
+internalTransition0..*
0..1
0..*
0..1
+transitions0..*
0..1
1
0..*
+source1
+outgoing0..*
1
0..*
+target1
+incoming0..*
0..1
0..*
+trigger0..1
0..*
1 0..11 0..1
+guard
Adapted, with permission, from OMG document formal/01-09-67
![Page 61: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/61.jpg)
© SAP AG and David S Frankel 2005, MDA / 61
MOF is Not Just for OO Languages
MOF uses object-oriented modeling to define modeling constructs
But the modeling constructs it defines need not be object-oriented
![Page 62: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/62.jpg)
© SAP AG and David S Frankel 2005, MDA / 62
Using MOF Subclassing to Define a Metamodel
ModelElementname : String
ColumnTable +table
1
+column
1..*1..*1
![Page 63: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/63.jpg)
© SAP AG and David S Frankel 2005, MDA / 63
Using MOF to Define Subclassing in a Metamodel
context Table inv:superclass.column->forAll
(superClassColumn | self.column->includes (superClassColumn) )
Table
ModelElementname : String
ColumnTable1..*1
+column
1..*
+table
1
0..*
0..*
+superClass
+subClass
![Page 64: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/64.jpg)
© SAP AG and David S Frankel 2005, MDA / 64
Applying the MOF-XML Technology Mapping to CWM
CWM MetamodelCWM Metamodel
Concrete XML-Based Syntax for CWM(XML DTD or
Schema)
Concrete XML-Based Syntax for CWM
(XML DTD or Schema)
Abstract Syntax
Mapping
![Page 65: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/65.jpg)
© SAP AG and David S Frankel 2005, MDA / 65
Applying the MOF-XML Technology Mapping to UML
UML MetamodelUML Metamodel
Concrete XML-Based Syntax for UML(XML DTD or
Schema)
Concrete XML-Based Syntax for UML(XML DTD or
Schema)
Abstract Syntax
Mapping
![Page 66: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/66.jpg)
© SAP AG and David S Frankel 2005, MDA / 66
Enforcing Semantics
Different metamodels defined using the same constructsSuch as composite aggregation, invariants, etc.
Model-driven metadata management tools understand these constructs’ semantics
And can enforce them
![Page 67: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/67.jpg)
© SAP AG and David S Frankel 2005, MDA / 67
Metadata Management Scenario1—Integrated MOF Repository
MOF Repository= MOF CORBA Interfaces
= MOF Java Interfaces (JMI)
= MOF XML (XMI) Documents
WorkflowModels
Data Models
UML Models
B2Bi Collaboration Descriptions
CCM CORBA Interfaces
= Import/Export
![Page 68: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/68.jpg)
© SAP AG and David S Frankel 2005, MDA / 68
Metadata Management Scenario 2—Federated MOF Repositories
MOF Repository
UML Models
B2Bi Collaboration Descriptions
…MOF Repository
UML Models
B2Bi Collaboration Descriptions
…
= MOF CORBA Interfaces
= MOF Java Interfaces (JMI)= MOF XML (XMI) Documents
= Import/Export
![Page 69: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/69.jpg)
© SAP AG and David S Frankel 2005, MDA / 69
Agenda
Value Chain Driven Business
Industrializing Software
Model-Driven Enterprise Architecture
Informal vs. Formal Modeling
Business Process Management
Metadata Fragmentation
Metadata Integration via MOF
XMI and JMI
UML Profiling
PIMs and PSMs
Model Driven Data Transformations
The Future of MDA: Model-Driven Business Process Platforms
![Page 70: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/70.jpg)
© SAP AG and David S Frankel 2005, MDA / 70
A Closer Look at XMI
Return on investmentMOF was invented before XML was popularPlatform-independence paid off
XML and XML SchemaXMI 2.0 maps MOF to XML schema
A common misconception about XMIA MOF-XML mapping, not a single DTD for UML models
XMI Complexity vs. UML complexityComplexity of UML XMI DTD is due to complexity of the UML metamodel
![Page 71: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/71.jpg)
© SAP AG and David S Frankel 2005, MDA / 71
Applying XMI’s MOF-XML Mapping Rules to the UML Metamodel
UML Metamodel
UML Metamodel XML DTDXML DTD
…<!ELEMENT UML:Classifier.feature (
UML:Feature| UML:StructuralFeature|UML:Attribute| UML:BehavioralFeature| UML:Operation| UML:Method| UML:Reception)*>
...<!ENTITY % UML:ClassifierFeatures
'%UML:GeneralizableElementFeatures; |UML:Namespace.ownedElement |UML:Classifier.feature |...'>
...<!ELEMENT UML:Classifier (%UML:ClassifierFeatures;)*>...
GeneralizableElementisRoot : BooleanisLeaf : BooleanisAbstract : Boolean
FeatureownerScope : ScopeKindvisibility : VisibilityKind
Classifier
0..*
0..1
+feature{ordered}
+owner0..1
Namespace
ModelElementname : Name
XMI’s MOF-XML Mapping Rules
Produce
![Page 72: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/72.jpg)
© SAP AG and David S Frankel 2005, MDA / 72
A Closer Look at JMI
For representing MOF metadata as Java objects
Specified via Sun JSR #40
Specifies syntax and semantics of generated interfaces
MOF-Compliant Metamodel
MOF-Compliant Metamodel
MOF-Compliant CORBA APIs
MOF-Compliant CORBA APIs
MOF-Compliant Java APIs
MOF-Compliant Java APIs
XMI DTD or Schema
XMI DTD or Schema
MOF-CORBAMapping
MOF-JavaMapping (JMI)
MOF-XMLMapping (XMI)
![Page 73: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/73.jpg)
© SAP AG and David S Frankel 2005, MDA / 73
MOF in the Computer Industry
Deeply wired into Eclipse
Other implementations: Sun, Adaptive, Metamatrix
New MOF-based initiativesBusiness Process Definition Metamodel (OMG)
BPMI.org involvedBusiness Rules Metamodel (OMG)
Key people from business rules community involvedOntology Definition Metamodel (OMG)
Key people from Semantic Web community involvedDistributed Management Task Force (DMTF)
Moving toward MOF-based metadataModel-Driven data transformations a huge opportunity (CWM)—a killer app for MDA
Microsoft committed to model-driven approachBut not to MOF
![Page 74: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/74.jpg)
© SAP AG and David S Frankel 2005, MDA / 74
The Eclipse Modeling Framework (EMF)
Heritage: Visual Age 3.0Model-Driven, XMI-based metadata managementInvisible to IDE user
Open sourced the mature engine as part of Eclipse
EMF penetration in IBM toolingWebSphere DB2 Information Integrator—formerly named DB2 Information IntegratorWebsphere Business Integration Modeler—formerly HolosophixRational Software Modeler—IBM’s new UML modeling tool Rational Application Developer for WebSphere Software—formerly named WebSphere Studio Application DeveloperRational Software Architect—An extension of the Rational Software Modeler that supports generating code to the WebSphere runtime
![Page 75: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/75.jpg)
© SAP AG and David S Frankel 2005, MDA / 75
Agenda
Value Chain Driven Business
Industrializing Software
Model-Driven Enterprise Architecture
Informal vs. Formal Modeling
Business Process Management
Metadata Fragmentation
Metadata Integration via MOF
XMI and JMI
UML Profiling
PIMs and PSMs
Model Driven Data Transformations
The Future of MDA: Model-Driven Business Process Platforms
![Page 76: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/76.jpg)
© SAP AG and David S Frankel 2005, MDA / 76
Extending UML via Profiles
UML extension mechanisms allow UML to be only a base language for many languages in the family
“A family of languages” (credit to Steve Cook of Microsoft)
To model a particular domain, e.g. business information, business services, business collaborations, real time systems, telecomm, etc.
To model at specific levels of abstractionPlatform-independentPlatform-specific
To parameterize mappings to specific technologies
![Page 77: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/77.jpg)
© SAP AG and David S Frankel 2005, MDA / 77
Stereotypes and Tagged Values
ARProcessor<<DCControllerContract>>
ProcessInvoices(arAccounts : ReceivablesAccount[1..*]) : voidEndOfMonthUpdate(arAccounts : ReceivablesAccount[1..*]) : void
Invoice<<DCEntityContract>>
<<UniqueId>> number : String {isUserAssigned = false}amount : Double
Customer<<DCEntityContract>>
<<UniqueId>> id : String {isUserAssigned = false}firstName : StringlastName : Stringaddress1 : Stringaddress2 : Stringcity : Stringstate : Stringzip : StringtelHome : StringtelWork : String
ReceivablesAccount<<DCEntityContract>>
<<UniqueId>> number : String {isUserAssigned = true}currentBalance : Double30DayBalance : Double60DayBalance : Double90DayBalance : Double120DayBalance : Doublecollections : Double
0..*
0..1
+unprocessedInvoices0..*
{ordered}
0..1
0..*
0..1
+processedInvoices0..*
{ordered}
0..1
1
0..1
+customer1
0..1
<<call>>
Sample profile developed in collaboration with Jack Greenfield, Oliver Sims, and Mike Rosen
![Page 78: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/78.jpg)
© SAP AG and David S Frankel 2005, MDA / 78
To Define a UML Profile…
Select a subset of UML
Use UML’s built in extension mechanisms to extend the subsetStereotypes, e.g. <<DCEntityContract>>Tagged Values, e.g. {isTx = true}
![Page 79: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/79.jpg)
© SAP AG and David S Frankel 2005, MDA / 79
Formal Class Model of the Sample Profile
Class(from UML 1.4)
<<metaclass>>
DCEntityContract<<stereotype>>
DCControllerContract<<stereotype>>
Attribute(from UML 1.4)
<<metaclass>>
<<stereotype>> <<stereotype>> <<stereotype>>
UniqueIdisUserAssigned : Boolean
<<stereotype>>
OperationTagsisTx : BooleanisIdempotent : Boolean
<<TaggedValues>>
Operation<<metaclass>>
(from UML 1.4)
context DCEntityContract inv:self.feature->exists (isStereotyped ('UniqueId'))
![Page 80: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/80.jpg)
© SAP AG and David S Frankel 2005, MDA / 80
Profiles vs. Heavyweight Extensions
ProfilesPro: Modelers can use a profile with generic UML tools
Sample models for this book that use profiles were created with genericCon: Extension capabilities limited
Heavyweight extensions (i.e. defined via MOF)Con: Modelers cannot use with generic UML toolsPro: Can use full power of object-oriented class modeling to define extensions
![Page 81: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/81.jpg)
© SAP AG and David S Frankel 2005, MDA / 81
Standardized MDA Modeling Languages
UML
MOF
SysML
UML Profile for EJB™
UML Profile for CORBA
UML Profile for EAI
UML Profile for EDOC
UML Profile for Schedulability and Time (Realtime)
UML Profile for Testing
UN/CEFACT Modeling Methodology (UMM)
Common Warehouse Metamodel (CWM™)
Model-Driven Enterprise Computing
![Page 82: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/82.jpg)
© SAP AG and David S Frankel 2005, MDA / 82
Agenda
Value Chain Driven Business
Industrializing Software
Model-Driven Enterprise Architecture
Informal vs. Formal Modeling
Business Process Management
Metadata Fragmentation
Metadata Integration via MOF
XMI and JMI
UML Profiling
PIMs and PSMs
Model Driven Data Transformations
The Future of MDA: Model-Driven Business Process Platforms
![Page 83: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/83.jpg)
© SAP AG and David S Frankel 2005, MDA / 83
PIMs and PSMs
PIM = Platform-Independent Model
PSM = Platform-Specific Model
Platform is a relative concept
Original conception of PSM: A model of the generated artifactsAt the same abstraction level as the code and other artifacts generated from the PIMAllows engineers to view the generated code via a semantically rich modelCan be a read-only artifact
![Page 84: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/84.jpg)
© SAP AG and David S Frankel 2005, MDA / 84
PIM for a Distributed Entity Component
CurrencyOptionDC<<EntityDC>>
focusCurrencyOption<<focus>>
number : StringputOrCall : OptionKindstrikePrice : DoubleexpirationDate : DatecurrentPrice : DoubleexerciseDate : Date [0..1]americanOrEuropean : ExerciseKind
auxPriceFetcher<<auxilliary>>
FetchOpt ionPrice()FetchCurrencyExchangeRate()
<<call>>
CurrencyOption<<DCEntityContract>>
<<UniqueId>> number : StringputOrCall : OptionKind {isChangeable = false}strikePrice : Double {isChangeable = false}expirat ionDate : Date {isChangeable = false}currentPrice : Double {isChangeable = false}exerciseDate : Date [0..1]americanOrEuropean : ExerciseKind {isChangeable = false}
<<RealizeDCContract>>
TradeCurrency<<ValueType>>
name : Stringcountry : StringcurrentExchangeRate : Double
1
1
1
+currency1
{isChangeable = false}
![Page 85: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/85.jpg)
© SAP AG and David S Frankel 2005, MDA / 85
EJB-Specific Component Model (PSM)
ejbCurrencyOptionDC<<EJBEntityBean>>
ejbCurrencyOptionPKnumber : String
ejbCurrencyOptionHome<<EJBEntityHomeInterface>>
<<EJBCreateMethod>> create() : ejbCurrencyOption<<EJBFinderMethod>> find(pk : ejbCurrencyOptionPK) : ejbCurrencyOption<<EJBFinderMethod>> query(expression : java.lang.String) : java.util.List
ejbCurrencyOption<<EJBRemoteInterface>>
<<EJBRemoteMethod>> getAll() : voCurrencyOption<<EJBRemoteMethod>> setAll(allData : voCurrencyOption) : void
auxEjbPriceFetcher<<auxil liary>>
FetchOptionPrice()FetchCurrencyExchangeRate()
voCurrencyOptiongetNumber() : java.lang.StringgetPutOrCall : OptionKind()getStrikePrice : double()getExpirationDate() : java.util.DategetCurrentPrice : double()getExerciseDate() : java.util.Date [0..1]setExerciseDate(java.util.Date) : voidgetAmericanOrEuropean() : ExerciseKindgetCurrencyName : java.lang.String()getCurrencyCountry : java.lang.String()getCurrrencyExchangeRate : double()
<<EJBPrimaryKey>>
<<instantiate>>
<<create>>
depTradeCurrencyname : java.lang.Stringcountry : java.lang.String
ejbCurrencyOptionBean<<EJBImplementation>>
number : java.lang.StringputOrCall : OptionKindstrikePrice : doubleexpirationDate : java.util.Date [0..1]currentPrice : doubleexerciseDate : java.util.DateamericanOrEuropean : ExerciseKind
create() : ejbCurrencyOptionfind(pk : ejbCurrencyOptionPK)getAll() : voCurrencyOptionsetAll(allData : voCurrencyOption)
<<EJBRealizeHome>>
<<EJBRealizeRemote>>
<<call>>
1
1
+currency1
1
<<create>>
![Page 86: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/86.jpg)
© SAP AG and David S Frankel 2005, MDA / 86
Formal Relationship Between Elements at Different Abstraction Levels
<<trace>> CurrencyOption<<DCEntityContract>>
<<UniqueId>> number : StringputOrCall : OptionKind {isChangeable = false}strikePrice : Double {isChangeable = false}expirationDate : Date {isChangeable = false}currentPrice : Double {isChangeable = false}exerciseDate : Date [0..1]americanOrEuropean : ExerciseKind {isChangeable = false}
ejbCurrencyOptionPKnumber : String
![Page 87: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/87.jpg)
© SAP AG and David S Frankel 2005, MDA / 87
Read-Only PSMs
When code generation proceeds directly from PIM
Helps humans visually grasp the platform-specific architecture
Helps during debugging, when debugging tools don’t know about the PIM abstractions
![Page 88: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/88.jpg)
© SAP AG and David S Frankel 2005, MDA / 88
No fixed notions of PSM, PIM, CIM…
MDA is machinery for authoring, transforming, and managing specifications
Formal Grounding
Formal grounding would improve our ability to verify consistency and correctness
MDAMachinery
e.g., Synsyta Suite
Com
ponen
tC
horeograph
y
UM
L
On
tologies
…
Code
Data
Models
Schemas
The machinery is neutral as to abstraction level, configurable for numerous and diverse uses
Adapted, with permission, from Erick Von Schweber ofSynsyta LLC
Specifications may take the form of:
Models
Data
Code
Schemas
![Page 89: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/89.jpg)
© SAP AG and David S Frankel 2005, MDA / 89
Architectural Patterns and Frameworks to Which MDA Can Be Applied
Application Development via RefinementArchitecture-Driven Modernization (ADM)Service-Oriented Architecture Multiparty CollaborationBusiness Process ManagementSoftware/Hardware CodesignOntology Modeling & AlignmentEmbedded & Real-Time SystemsModel Integrated ComputingSoftware FactoriesPlatform HierarchiesOrchestrationSystem of SystemsReflective Systems & MetaprogrammingAgent ArchitecturesMulti-Dimensional Separation of ConcernsRepresentation OptimizationPolicy & Business RulesFederal Enterprise Architecture (FEA)DoD Architecture Framework (DoDAF)The Open Group Architecture Framework (TOGAF)RM-ODP
Adapted, with permission, from Erick Von Schweber ofSynsyta LLC
![Page 90: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/90.jpg)
© SAP AG and David S Frankel 2005, MDA / 90
Agenda
Value Chain Driven Business
Industrializing Software
Model-Driven Enterprise Architecture
Informal vs. Formal Modeling
Business Process Management
Metadata Fragmentation
Metadata Integration via MOF
XMI and JMI
UML Profiling
PIMs and PSMs
Model Driven Data Transformations
The Future of MDA: Model-Driven Business Process Platforms
![Page 91: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/91.jpg)
© SAP AG and David S Frankel 2005, MDA / 91
Core of the CWM Transformation Metamodel
= CWM Common M2 Superclasses
= CWM Transformation Metamodel M2 Classes*
Feature
Classifier
Feature
Classifier
FeatureMapfunction : ProcedureExpressionfunctionDescription : String/ source : Feature/ target : Feature/ classifierMap : ClassifierMap
ClassifierFeatureMapfunction : ProcedureExpressionfunctionDescription : StringclassifierToFeature : Boolean/ classifier : Classifier/ feature : Feature/ classifierMap : ClassifierMap
ClassifierMapfunction : ProcedureExpressionfunctionDescription : String/ source : Classifier/ target : Classifier/ transformationMap : Namespace/ featureMap : FeatureMap/ cfMap : ClassifierFeatureMap
TransformationMap/ classifierMap : ModelElement
target1..*
source1..*
classifier1..*
feature1..*
source1..*
target1..*
featureMap* 1..**
featureMap*1..*
*
featureMap*
cfMap*1..*
*
cfMap
* 1..**
cfMap *
classifierMap*1..*
*
classifierMap* 1..**
classifierMap0..1
*
0..1classifierMap 0..1
*
0..1
/namespace0..1
*
0..1
![Page 92: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/92.jpg)
© SAP AG and David S Frankel 2005, MDA / 92
Managing CWM Transformation Rules as MOF Metadata
= MOF CORBA Interfaces
= MOF Java Interfaces (JMI)
= MOF XML (XMI) Documents
= Import/Export
Source & Target Data
Models
Transformation Rules
…
![Page 93: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/93.jpg)
© SAP AG and David S Frankel 2005, MDA / 93
Generating Transformation Code
MOF Repository
Source & Target Data
Models
Transformation Rules
= MOF CORBA Interfaces
= MOF Java Interfaces (JMI)
= MOF XML (XMI) Export
= Access
DataOut
DataIn
GeneratedTransformation
Code
TransformationCode
Generator
Produce
![Page 94: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/94.jpg)
© SAP AG and David S Frankel 2005, MDA / 94
Dynamic Transformation
Source & Target Data
Models
Transformation Rules
= MOF CORBA Interfaces
= MOF Java Interfaces (JMI)
= MOF XML (XMI) Export
DataOut
DataIn
GenericTransformation
Code
= Access
![Page 95: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/95.jpg)
© SAP AG and David S Frankel 2005, MDA / 95
Agenda
Value Chain Driven Business
Industrializing Software
Model-Driven Enterprise Architecture
Informal vs. Formal Modeling
Business Process Management
Metadata Fragmentation
Metadata Integration via MOF
XMI and JMI
UML Profiling
PIMs and PSMs
Model Driven Data Transformations
The Future of MDA: Model-Driven Business Process Platforms
![Page 96: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/96.jpg)
© SAP AG and David S Frankel 2005, MDA / 96
Raising the Abstraction Level of the Platform
Concurrent with MDA’s focus on raising the abstraction Level of development languages
Powerful transition…but gradualComplications to overcome
![Page 97: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/97.jpg)
© SAP AG and David S Frankel 2005, MDA / 97
Business Process Platform= Technical Platform + Application Platform
Operating System / VM
Machine
DBMS Network Systems
TransactionSystems
BusinessProcess Platform
Middleware
Reusable, Executable Enterprise Application Services
Composite ApplicationsCustom businessprocesses & analytics
Application Platform
Technical Platform
![Page 98: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/98.jpg)
© SAP AG and David S Frankel 2005, MDA / 98
Composite App: Procure-to-Pay, Order-to-Cash, Manufacture-to-Inventory
ProductDescriptions
Parts Inventory
= Invoke
Supply ChainPrice Look Up
Product-PriceOptimizer
ManufacturingPlanning & Production
Seller’s Auction
Composite
David Burdett, SAP Labs
![Page 99: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/99.jpg)
© SAP AG and David S Frankel 2005, MDA / 99
Model Compilers and the Abstraction Level
Application Model CheckingAccountminBalance : Float
<<BusinessEntity>>
Accountid : Stringbalance : Float
<<BusinessEntity>>
Custom erid : String
<<BusinessEntity>>
1..*
1
+account
1..*
+custom er1
context PreferredChecking inv:
--Cannot go below the minBalance
balance >= minBalance
SavingsAccount<<Business Ent ity>>
Model Compilation Abstraction Gap
Level of Abstraction
Operating System / VM
DBMS Network Systems
TransactionSystems
Middleware
Machine
![Page 100: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/100.jpg)
© SAP AG and David S Frankel 2005, MDA / 100
Business Process Platform
Operating System / VM
Machine
DBMS Network Systems
TransactionSystems
BusinessProcess Platform
Application Platform
Middleware
Reusable, Executable Enterprise Application Services
Abstraction Gap
Composite Application ModelsModel Compilation
Composite Applications
Business Process Models
Direct Model Execution
Technical Platform
![Page 101: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/101.jpg)
© SAP AG and David S Frankel 2005, MDA / 101
ConvergenceAt the Intersection of the Business and IT1
CA-BPMBringing computer
assistance to business process management
CA-BPMBringing computer
assistance to business process management
Business
IT
MDARaising the level of
abstraction for software development
MDARaising the level of
abstraction for software development
1Howard Smith and Peter Fingar coined this phrase
![Page 102: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/102.jpg)
© SAP AG and David S Frankel 2005, MDA / 102
This Will Not be an Easy Transition
This jump in the platform abstraction level is more difficult than the last jump (middleware)
Just as raising the abstraction level for development languages above 3GLs is more difficult than the last jump to 3GLs
Crawl, Walk, RunProvide business value at every step
![Page 103: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/103.jpg)
© SAP AG and David S Frankel 2005, MDA / 103
Some of the Complications
Configuration/version management problems do not go awayThey can even get worse
Semantically thin specifications won’t scale
Product line practices needed to scope compositions
Multiple Levels of Granularity and AbstractionMultiple architectural patterns and methodologiesFixed notions of PIM, PSM, etc. won’t scale
![Page 104: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/104.jpg)
© SAP AG and David S Frankel 2005, MDA / 104
The Limits of Semantically Thin Specifications
As service-oriented systems scale up…How do you build semantic interoperability on top of syntactic interoperability?
Do collaborating parties have a common understanding the contract of a service?You can’t rely on that conversation by the water cooler…The parties might have different human languages as native tongues
How do you find suitable services to compose? How do you find suitable implementations of suitable services?Same for reusable business processes
Inferences don’t have to be certain to be helpful
![Page 105: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/105.jpg)
© SAP AG and David S Frankel 2005, MDA / 105
Semantically Rich Specifications
Need a metadata-rich environment to assist humans using the business process platform
Design by Contract™Service message types specified as precisely as possible
InvariantsService operations functional contract specified as precisely as possible
Preconditions and postconditions (more numerous than invariants)Using machine-readable, declarative constraint languagesWe’ve know how to do this for decades Also improves qualityAlso need to learn to specify QoS requirements and capabilities as precisely as possible
Formal grounding of languagesInferences identify candidates or flag potential problem combinations
Let the human decide what to doRecord what the human decidesShow the next human what the others decidedLearn
![Page 106: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/106.jpg)
© SAP AG and David S Frankel 2005, MDA / 106
Bridging the Semantic Web and MDA Worlds
A B C Generic UML Modeling ToolGeneric UML Modeling Tool
MOF/XMI Based Tooling (e.g. Semantic Web Eclipse Plug-In)
MOF/XMI Based Tooling (e.g. Semantic Web Eclipse Plug-In)
OWL-XMI Bridge
OWL-XMI Bridge
Native Semantic WebOntology Development
Tool
Native Semantic WebOntology Development
Tool
XMI OWL Document
XMI OWL DocumentNative
OWL DocumentNative
OWL Document
UML ModelUsing UML Profile
UML ModelUsing UML Profile
UML-OWL Bridge
UML-OWL Bridge
GenericUML Model
GenericUML Model
Means tool A outputs B, and B serves as input to tool C.
ER ModelER Model
ER ToolER Tool
ER-OWL Bridge
ER-OWL Bridge
![Page 107: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/107.jpg)
© SAP AG and David S Frankel 2005, MDA / 107
Product Line Practices
IndividualProduct 1
IndividualProduct n
IndividualProduct 2 …
Individual systems produced via product development
ProductionPlanReusable assets for the product line
Created via core asset developmentThe Sims “Water Line”
Architecture Components Domain-SpecificLanguage(s)
Specialized Compiler(s)
![Page 108: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/108.jpg)
© SAP AG and David S Frankel 2005, MDA / 108
Applying Product Line Practices
Business Process Platform
Asset Bases for Product Lines
CompositeApplications
Asset Bases for Product Lines
CompositeApplications
Level of Abstraction
![Page 109: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/109.jpg)
© SAP AG and David S Frankel 2005, MDA / 109
Agenda Review
Value Chain Driven Business
Industrializing Software
Model-Driven Enterprise Architecture
Informal vs. Formal Modeling
Business Process Management
Metadata Fragmentation
Metadata Integration via MOF
XMI and JMI
MOF in the computer industry
UML Profiling
Model Driven Data Transformations
The Future of MDA: Model-Driven Business Process Platforms
![Page 110: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/110.jpg)
© SAP AG and David S Frankel 2005, MDA / 110
Copyright 2005 SAP AG and David S. Frankel. All Rights Reserved
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG or David S. Frankel. The information contained herein may be changed without prior notice.Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, and Informix are trademarks or registered trademarks of IBM Corporation in the United States and/or other countries.Oracle is a registered trademark of Oracle Corporation.UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc.HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc.JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. MaxDB is a trademark of MySQL AB, Sweden.SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.
The information in this document is proprietary to SAP. No part of this document may be reproduced, copied, or transmitted in any form or for any purpose without the express prior written permission of SAP AG.This document is a preliminary version and not subject to your license agreement or any other agreement with SAP. This document contains only intended strategies, developments, and functionalities of the SAP® product and is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development. Please note that this document is subject to change and may be changed by SAP at any time without notice.SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the accuracy or completeness of the information, text, graphics, links, or other items contained within this material. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement.SAP shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation shall not apply in cases of intent or gross negligence.The statutory liability for personal injury and defective products is not affected. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages.
![Page 111: An Architectural Overview of MDA® - UZH · 2011-08-23 · ©SAP AG and David S Frankel 2005, MDA / 4 Value Chains Overview Focus on core competencies Rely on other organizations](https://reader033.vdocuments.mx/reader033/viewer/2022042007/5e707b91d583ec723a1fc219/html5/thumbnails/111.jpg)
© SAP AG and David S Frankel 2005, MDA / 111
Copyright 2005 SAP AG und David S. Frankel. Alle Rechte vorbehalten
Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, ohne die ausdrückliche schriftliche Genehmigung durch SAP AG oder David S. Frankel nicht gestattet. In dieser Publikation enthaltene Informationen können ohne vorherige Ankündigung geändert werden.Die von SAP AG oder deren Vertriebsfirmen angebotenen Softwareprodukte können Softwarekomponenten auch anderer Softwarehersteller enthalten.Microsoft, Windows, Outlook, und PowerPoint sind eingetragene Marken der Microsoft Corporation. IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, und Informix sind Marken oder eingetragene Marken der IBM Corporation in den USA und/oder anderen Ländern.Oracle ist eine eingetragene Marke der Oracle Corporation.UNIX, X/Open, OSF/1, und Motif sind eingetragene Marken der Open Group.Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, und MultiWin sind Marken oder eingetragene Marken von Citrix Systems, Inc.HTML, XML, XHTML und W3C sind Marken oder eingetragene Marken des W3C®, World Wide Web Consortium, Massachusetts Institute of Technology. Java ist eine eingetragene Marke von Sun Microsystems, Inc.JavaScript ist eine eingetragene Marke der Sun Microsystems, Inc., verwendet unter der Lizenz der von Netscape entwickelten und implementierten Technologie. MaxDB ist eine Marke von MySQL AB, Schweden.SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver und weitere im Text erwähnte SAP-Produkte und -Dienstleistungen sowie die entsprechenden Logos sind Marken oder eingetragene Marken der SAP AG in Deutschland und anderen Ländern weltweit. Alle anderen Namen von Produkten und Dienstleistungen sind Marken der jeweiligen Firmen. Die Angaben im Text sind unverbindlich und dienen lediglich zu Informationszwecken. Produkte können länderspezifische Unterschiede aufweisen.
Die in dieser Publikation enthaltene Information ist Eigentum der SAP. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, nur mit ausdrücklicher schriftlicher Genehmigung durch SAP AG gestattet.Bei dieser Publikation handelt es sich um eine vorläufige Version, die nicht Ihrem gültigen Lizenzvertrag oder anderen Vereinbarungen mit SAP unterliegt. Diese Publikation enthält nur vorgesehene Strategien, Entwicklungen und Funktionen des SAP®-Produkts. SAP entsteht aus dieser Publikation keine Verpflichtung zu einer bestimmten Geschäfts- oder Produktstrategie und/oder bestimmten Entwicklungen. Diese Publikation kann von SAP jederzeit ohne vorherige Ankündigung geändert werden.SAP übernimmt keine Haftung für Fehler oder Auslassungen in dieser Publikation. Des Weiteren übernimmt SAP keine Garantie für die Exaktheit oder Vollständigkeit der Informationen, Texte, Grafiken, Links und sonstigen in dieser Publikation enthaltenen Elementen. Diese Publikation wird ohne jegliche Gewähr, weder ausdrücklich noch stillschweigend, bereitgestellt. Dies gilt u. a., aber nicht ausschließlich, hinsichtlich der Gewährleistung der Marktgängigkeit und der Eignung für einen bestimmten Zweck sowie für die Gewährleistung der Nichtverletzung geltenden Rechts.SAP haftet nicht für entstandene Schäden. Dies gilt u. a. und uneingeschränkt für konkrete, besondere und mittelbare Schäden oder Folgeschäden, die aus der Nutzung dieser Materialien entstehen können. Diese Einschränkung gilt nicht bei Vorsatz oder grober Fahrlässigkeit.Die gesetzliche Haftung bei Personenschäden oder Produkthaftung bleibt unberührt. Die Informationen, auf die Sie möglicherweise über die in diesem Material enthaltenen Hotlinks zugreifen, unterliegen nicht dem Einfluss von SAP, und SAP unterstützt nicht die Nutzung von Internetseiten Dritter durch Sie und gibt keinerlei Gewährleistungen oder Zusagen über Internetseiten Dritter ab.