Model-Driven Business Process Platforms

basesprocketΔιαχείριση Δεδομένων

31 Οκτ 2013 (πριν από 3 χρόνια και 7 μήνες)

63 εμφανίσεις

Model
-
Driven Business Process Platforms


David S. Frankel

Lead Standards Architect


Model Driven Systems

SAP Labs


SAP AG

and Dav id S Frankel 2005, MDA /
‹#›

Economic Driver: The Innovation Economy

Last
-
generation value proposition


Applications embody well
-
validated, accepted business
processes

Next
-
generation business reality


Innovative business model and associated processes define an
enterprise’s competitive advantage


Not enough to have a great product


Must also have a great business model


Not attractive to simply follow a business process defined
elsewhere


Outsourcing all but core business processes


Need flexibility in designing and executing innovative business
processes


Core business processes


Value Chains / Value Networks for accessing mission
-
critical, non
-
core processes


SAP AG

and Dav id S Frankel 2005, MDA /
‹#›

Business Process Platform

Raising the Abstraction Level of the Software Platform

Operating System / VM

Machine







DBMS


Network
Systems

Transaction
Systems

Business

Process
Platform

Custom business

processes & analytics

Application

Platform

Technical

Platform

Middleware

Reusable, Executable

Enterprise Application Services

Composite Applications


SAP AG

and Dav id S Frankel 2005, MDA /
‹#›

Composite App:
Procure
-
to
-
Pay, Order
-
to
-
Cash, Manufacture
-
to
-
Inventory

= Invoke

Supply Chain

Price Look Up

Parts

Inventory

Product

Descriptions

Product
-
Price

Optimizer

Manufacturing

Planning & Production

David Burdett, SAP Labs

Seller’s Auction

Composite


SAP AG

and Dav id S Frankel 2005, MDA /
‹#›

Model Compilers and the Abstraction Level

Application Model

Model Compilation

Abstraction Gap

Level of
Abstraction

Operating System / VM

Machine







DBMS


Network
Systems

Transaction
Systems

Middleware


SAP AG

and Dav id S Frankel 2005, MDA /
‹#›

Model
-
Driven Tools

Empowering the Business Process Expert (BPX)

Operating System / VM

Machine

DBMS


Network
Systems

Transaction
Systems

Business

Process
Platform

Technical

Software

Platform

Composite
Applications

Abstraction Gap

Composite Application Models

Model Compilation

Business Process Models

Direct Model Execution







Middleware

Application

Platform

Reusable, Executable

Enterprise Application Services


SAP AG

and Dav id S Frankel 2005, MDA /
‹#›

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, Run


Provide business value at every step


SAP AG

and Dav id S Frankel 2005, MDA /
‹#›

As Service
-
Oriented BPPs Scale Up…

Semantically thin specifications reach their limits


How do you achieve semantic interoperability on top of syntactic
interoperability?


Do collaborating parties have a common understanding the contract of a
service?


You can’t rely on informal conversations among people


The parties might have different human languages as native tongues


How do you find suitable services to compose?


Suitable functional behavior


Suitable quality of service?


Same for reusable business processes

Configuration/version/dependency management problems do not go
away


They can even get worse


SAP AG

and Dav id S Frankel 2005, MDA /
‹#›

A Metadata
-
Rich Environment

Need a metadata
-
rich environment to
assist

humans using the
business process platform


Specifying Constraints


Service message/data types specified as precisely as possible


Invariants


Service operations functional contract specified as precisely as possible


Preconditions and postconditions (more numerous than invariants)


Using machine
-
readable, declarative constraint languages


We’ve know how to do this for decades


Also improves quality


Also need to learn to specify QoS requirements and capabilities as precisely
as possible


Inferences identify candidates or flag potential problem combinations


Let the human decide what to do


Record what the human decides


Show the next human what the others decided


Learn


SAP AG

and Dav id S Frankel 2005, MDA /
‹#›

context PreferredChecking inv:

--
Cannot go below the minBalance

balance >= minBalance

CheckingAccount

<<BusinessEntity>>

minBalance : Money

Account

<<BusinessEntity>>

id : String

balance : Money

Customer

<<BusinessEntity>>

socialSecurityNum : String

name : String

address : String

1..n

1

+account

1..n

+customer

1

PreferredChecking

<<BusinessEntity>>

{disjoint}

Money

<<DataType>>

SavingsAccount

<<BusinessEntity>>

interestRate : Decimal

Decimal

<<DataType>>

Abstract Business Information Model: IT Viewpoint

With an Invariant Rule

Invariant rule expressed in UML’s
Object Constraint Language (OCL).

This invariant is independent of
implementation technology


SAP AG

and Dav id S Frankel 2005, MDA /
‹#›

Formal Abstract Model of a Business Service

With Pre
-
conditions and Post
-
Conditions


FundsXFer

<<BusinessService>>

XFerFromChecking(in fromAcct : CheckingAccount, in toAcct : SavingsAccount, in amount : Money)

context FundsXFer::XFerFromChecking (fromAcct : CheckingAccount, toAcct : SavingsAccount amount : Money) : void

pre:


--
There must be sufficient funds in the checking account to support the transfer


fromAcct.balance >= amount

pre:


--
The checking account and the savings account must belong to the same customer


fromAccount.customer = toAcct.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 transfer


toAcct.balance = toAcct.balance@pre + amount

Signature

Pre/post conditions

Independent of implementation technology


SAP AG

and Dav id S Frankel 2005, MDA /
‹#›

Constraint Languages for the Business Process Expert (BPX)

Operative business rule


If the
drop
-
off location

of
a
rental

is
not the
EU
-
Rent site

of
the
return
branch

of
the
rental

then it is obligatory that the
rental

incurs
a
location
penalty charge
.

Supporting fact types


rental

has
drop
-
off location



rental

has
return branch



branch

is located at
EU
-
Rent site



rental

incurs
location penalty charge



Adapted from Semantics of Business Vocabulary and Business Rules, OMG
document dtc/06
-
03
-
02



SAP AG

and Dav id S Frankel 2005, MDA /
‹#›

Configuration Invariants

Constraints having to do with a component’s design
-
time or deployment
-
time configuration parameters


The value of one configuration parameter may constrain the values of others


Tools can enforce these kinds of constraints, with some limitations


Tools can also detect collisions among configuration constraints that would
result from specific combinations of components


Sometimes detection is certain and sometimes only suspected

Categories of tool support
1


Constraint checking: Checking whether a particular configuration satisfies the
constraints


Constraint propagation: Inferring the values of undecided configuration settings
from the values of decided settings


Constraint satisfiability: Checking whether a set of constraints has at least one
solution


1
Krzysztof Czarnecki and Chang Hwan Peter Kim, “Cardinality
-
Based Feature Modeling and
Constraints: A Progress Report,” Proceedings of the First International Conference on Software
Factories, OOPSLA 2005.


SAP AG

and Dav id S Frankel 2005, MDA /
‹#›

Seeking Formal Grounding for MDA

To Improve Automated Assistance

MOF/XMI Based
Tooling (e.g. Semantic
Web Eclipse Plug
-
In)

OWL
-
XMI

Bridge

Native Semantic Web

Ontology Development

Tool

Generic UML

Modeling Tool

XMI

OWL Document

Native

OWL Document

UML Model

Using UML Profile

UML
-
OWL

Bridge

Generic

UML Model

A

B

C

Means tool A outputs
B, and B serves as
input to tool C.

ER Model

ER Tool

ER
-
OWL

Bridge

Ontology Definition Metamodel (ODM)


SAP AG

and Dav id S Frankel 2005, MDA /
‹#›

Another Scaling Up Challenge

How do you build reusable components?


Component
-
based development has proven hard in practice


How do you anticipate requirements of composite applications?



SAP AG

and Dav id S Frankel 2005, MDA /
‹#›

Product Line Practices

Reusable assets for the product line

Created via
core asset development

Individual systems produced via
product development

Individual

Product 1

Individual

Product n

Individual

Product 2



Production

Plan

The Sims “Water Line”

Architecture

Components

Domain
-
Specific

Language(s)

Specialized

Compiler(s)


SAP AG

and Dav id S Frankel 2005, MDA /
‹#›

Applying Product Line Practices

Business Process Platform

Asset Bases for Product Lines

Level of
Abstraction

Composite

Applications

Asset Bases for

Product Lines

Composite

Applications


SAP AG

and Dav id S Frankel 2005, MDA /
‹#›

Summary

Business process platforms are coming


Transition will be gradual, but powerful


Model
-
driven tools are important for making the platforms usable

Configuration management has to be faced square
-
on

Metadata
-
rich environments, formal grounding, and product line
practices needed to manage the complexity

Vigorous competition for a growing pie

if we do this right