an architectural overview of mda® - uzh · 2011-08-23 · ©sap ag and david s frankel 2005, mda /...

111
An Architectural Overview of MDA® David S. Frankel Lead Standards Architect – Model Driven Systems SAP Labs Portions adapted from the books Model Driven Architecture: Applying MDA to Enterprise Computing The MDA Journal: Model Driven Architecture Straight from the Masters David S. Frankel

Upload: others

Post on 14-Mar-2020

3 views

Category:

Documents


0 download

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

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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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.