• No results found

Business Process Transformation

N/A
N/A
Protected

Academic year: 2022

Share "Business Process Transformation"

Copied!
74
0
0

Loading.... (view fulltext now)

Full text

(1)

Building Information Society with Innovation

Business Process Transformation

Based on the presentation of András Pataricza,

Budapest University of Technology and Economics

@ IBM Academic Days 2006

(2)

Service Oriented Architecture

(3)

SOA reference architecture

D ev el op ment Serv ices

Business Innovation and Optimization Services

Interaction Services

Process Services

Information Services

Enterprise Service Bus

IT Serv ice Management

Partner Services

Business Application

Services

Applic

ations

Access Services

Infrastructure Services

(4)

SOA lifecycle

Requirement analysis

modeling & simulation

design

 design

 testing

Integration

human

process

information

Application and service monitoring

Identity management

Business indicators

Financial

Business/IT harmonization

Process control

(5)

Model-Driven Architecture for Classical Approaches

Model Xform.

Code Generation

Source code

Platform Independent

Model

Platform

Specific

Model

platform

description

(6)

Model-Driven Architecture for SOA

Model Xform.

Service mapping

+ deployment

Service invocation Business workflow

Configuration

Platform Independent

Model

Platform Specific Model Service Catalogue/

Standard

(eg. BPEL)

(7)

Building Information Society with Innovation

Componentization and requirements

A functionally correct system has to fulfill

additional non-functional requirements, as well

(8)

Requirement classes

(9)

SOA systems are vulnerable

D ev el op ment Serv ices

Business Innovation and Optimization Services

Interaction Services

Process Services

Information Services

Enterprise Service Bus

IT Serv ice Management

Partner Services

Business Application

Services

Applic

ations

Access Services

Infrastructure Services

Complexity Completeness

Consistency

Not owned Complexity?

Compliance to

standards

(10)

V&V problems in non-functional design

Proof of correctness

Performance prediction Qualitative dependability

assessment (fault impact

analysis)

Damage confinement

and recovery Error detection Performability control Availability …

prediction SLA

requirements specification

Quantitative dependability

assessment

(11)

Building Information Society with Innovation

Core: Mathematical Analysis

Huge complexity ->

Importance of mathematical analysis

integrated into the design workflow

(12)

Engineering model

Implementation Design

Mathematical model

Automated

model generation

Analysis tool Mathematical

analysis

Back- annotation

Code generation

Mechanized approach

(13)

Transformation development

Metamodels

Graph transformation rules

Transformation control structure

Transformation development &

testing

Source model Native transformation

plugin Target model

Transformation trace, debug information

P lu g in g e n e ra to r

Transformation design time

Transformation runtime

(14)

VIATRA 2 as Eclipse Generative Model Transformer

GMT is an independent part of the Eclipse Modeling Project

led by IBM and Borland

(15)

Building Information Society with Innovation

Design verification

Complex, critical business processes require a proof of correctness covering ALL the cases of operations

Proof of

correctness

(16)

Objectives

Service composition (e.g. BPEL)

Widespread tool support

Design errors in choreography Lack of formal verification

Objectives:

Formal proof of compliance to the requirements on workflow Derivation of mathematical analysis models by model

transformations

Formal analysis of workflows

Formal workflow semantics

Formal verification of properties E.g. variable access

Fault simulation: assessment of error propagation

(17)

A Workflow Example

Recording Establish type

Policy

Premium

Reject Basic activity

Beginning of parallel execution

End of parallel execution Control flow Pay

Selection

(18)

Verification of Workflows

Workflow (BPEL)

Formal model (dataflow

network)

Analysis model (Promela)

Model checker (SPIN )

Requirement (LTL

expression)

Positive result

Negative result +

counterexample

Simulation

(19)

Verification of Workflows

Workflow (BPEL)

Formal model (dataflow

network)

Analysis model (Promela)

SPIN modelchecker

Requirement (LTL expression)

Positive result

Negative result +

counterexample Simulation

IBM WebSphere

Integration Developer

(20)

Verification of Workflows

Dataflow Network (generated)

• Abstract data

• Hierarchic modeling

• Model refinement

Workflow (BPEL)

Formal model (dataflow

network)

Analysis model (Promela)

SPIN modelchecker

Requirement (LTL expression)

Positive result

Negative result +

counterexample Simulation

Representation in the VIATRA2 framework

• Dataflow Network generated from

parsed BPEL model

(21)

Verification of Workflows

Workflow (BPEL)

Formal model (dataflow

network)

Analysis model (Promela)

SPIN modelchecker

Requirement (LTL

expression)

Positive result

Negative result +

counterexample Simulation

Requirements

• LTL: linear temporal logical expression

Target requirement

•Business level:

„no unauthorized business transaction”

•Implementation level:

„each variable should be initialized prior to a

read access”

(22)

Workflow (BPEL)

Formal model (dataflow

network)

Analysis model (Promela)

SPIN

modelchecker

Requirement (LTL expression)

Positive result

Negative result +

counterexample Simulation

Verification of Workflows

Model checker

• Evaluation of LTL expressions

• Exhaustive state space traversal

(23)

Workflow (BPEL)

Formal model (dataflow

network)

Analysis model (Promela)

SPIN modelchecker

Requirement (LTL expression)

Positive result

Negative result +

counterexample Simulation

Verification of Workflows

Modelltranszformáció Model transformation

VIATRA2 framework

(24)

Abstraction: qualitative modeling

 Formal methods have strict complexity limitations

– Efficient, but still faithful abstractions are needed

 Qualitative abstraction:

– A few of qualitative values out of an enumerated data type set – No detailed data representation

– Drastic state space (analysis complexity) reduction

 Systematic methodology: predicate abstraction

(25)

Example

Full model:

IF credit_requested < 2.000.000 THEN approval(director) ELSE approval(board)

Deterministic abstraction:

IF minor_credit_requested THEN approval(director) ELSE approval(board)

No representation is needed for value of credit_requested, Only a single binary value ( minor_credit_requested ) representing

the mode of operation

Invariant wrt. the limit of 2.000.000 changes

Nondeterministic abstraction:

CHOOSE (approval(director), approval(board))

No representation is needed for value of credit_requested,

No representation of the logic of selecting the mode of operation

Details -> random behavior

(26)

Estimation of the effects of a fault in a business workflow

A resource/operation is good / faulty / missing (FAULT)

→ System behavior ?

Analysis principle:

Assign faults to resources / operations Trace the flow of errors (ERROR)

Check: is a service to the user affected (FAILURE) ?

Modeling and analysis:

Data items colored as good / faulty / suspicious

A component connected to another one in a potentially erroneous state is suspicious

Static worst case approximation:

Damage Confinement Region

(27)

Dataflow Networks

 G(Variable.state!=Fault_written)

Variable

Uninitialized Written

Read

Written and read Fault written

Fault written and read

Activity

Control Data

D_F_Control

Node

State

Port

Channel

Token

(28)

Mapping a Workflow to Dataflow Networks

Recording Establish type

Policy

Premium

Recording Establish type

Beginning of parallel execution

End of parallel Execution Policy

Premium

(29)

Formal Verification of Cooperating BPEL 2.0 Processes

Tibor Bende, Ábel Hegedüs, Máté Kovács

SENSORIA Workshop Munich, February 9-11

(30)

BPEL Processes

 The application of workflows

◦ As Web services

◦ Business-to-Business

◦ Inter-enterprise application integration (EAI)

Reception of service request Modification of data

Is the request accepted?

Invocation of educational and administrative processes

Transmitting the response

(31)

Potential Faults in BPEL Workflows

 Missing data (Reading uninited variables)

 Deadlock due to loss of data

 Corruption of the control flow due to

faulty data

(32)

Cooperating Business Processes

Processing an application to participate in a course on a different university

Request

Response

 The message does not arrive

 The effect of the fault on the control flow

Main WF

Local Admin

Local Edu

Remote Edu

Remote Admin

1. Invocation of local modules 2. Local decision 3. Invocation of

remote modules 4. Transmitting

response

(33)

Execution Engine Modell- checker

Analysis of Workflows

Graphical editing

Process description

Runtime results

Generating Installaiton

Execution Corrections

Modelling

Verification

(34)

Summary of the Contribution

 The application of design time verification

– There are various approaches

 Formal Verification of BPEL 1.1 processes

 Formal Verification of BPEL 2.0 processes

– New control flow structures – Event and fault handling

– Algorithm for dead path elimination

The analysis of the cooperation of such processes

(35)

Modelling a Stand Alone Workflow

 Semantics BPEL 2.0

 Variables:

non-interpreted modelling

 Behaviour: transitions

(36)

Modelling the Cooperation of Workflows Abstraction

Based on communicating activities

Smaller statespace

Overestimation of the

behaviour

(37)

Steps of Model Refinement

1. Abstract model 2. Verification of the

requirement 3. Refinement 4. Refined model

A

C

? B

X

?

?

(38)

Roles

(39)

Steps of the Verification Process

BPEL editor

BPEL code

BPEL Importer

(Java)

Model- transformation

(VIATRA2)

Code generation (VIATRA2)

Model- checking

(SAL) SAL

code

BPEL modell (VIATRA2) SAL modell

(VIATRA2)

Result

(40)

Case Study

(41)

Requirement # of states Verification time [s] Execution time [s] Result

Not reading uninitialized variable? 532336 0,5 4,6 True

A variable is not needed? 98784 0,3 5,8 False

No deadlock? 1054480 1,2 6,0 True

Does falut propagate to the response? 284592 0,6 6,2 False

Do we send faulty data? 159936 0,4 5,8 False

Is there unhandled exception? 316736 0,8 5,4 True

Does A -> B exist? 26400 0,1 2,0 True

Does A -> C exist? 68000 0,05 2,0 False

Does trans. spoil data? 68000 0,12 2,2 True

Requirement

# of states Verification time [s] Execution time [s] Result

Not reading uninitialized variable?

532336 0,5 4,6 True

A variable is not needed?

98784 0,3 5,8 False

Analysis of the Case Study

43/17

(42)

Conclusion

• Verification of business processes and their cooperation in design time

 Advantages:

– Finding usual practical mistakes and unhandled exceptions – Compatible with SOA

– Further research directions

– Graphical requirement specification – Domain specific fault model

– Automatic model refinement

(43)

Building Information Society with Innovation

Early dependability assessment

Objective: identification of the critical processes

and their dependence on services and resources

Reinforcement of the workflow (ABFT)

(44)

Systematic analysis techniques (overview)

1. Fault tree analysis 2. Event tree analysis

3. Cause-consequence analysis

4. Failure mode and effects analysis (FMEA)

→ Risk matrix with acceptable hazards

(45)

Fault tree analysis

Service unavailable

Failure of servers

Primary server failure Network

switch failure

Secondary server

Failover unsuccessful

HA middleware

Server software

design failure

SPOF

Possible SPOF (not analyzed) System level

effect

Basic events

Service unavailable

Service unavailable

Failure of servers

Primary server failure Primary

server failure Network

switch failure Network

switch failure

Secondary server

Failover unsuccessful

Failover unsuccessful

HA middleware

Server software

design failure

SPOF

Possible SPOF (not analyzed) System level

effect

Basic

events

(46)

Quantitative analysis

 Probabilities assigned to basic events

Component data book, estimation, measurements

Probability of system level failure is computed

AND gate: product of probabilities OR gate: sum of probabilities

Independent basic events are assumed here.

Problems:

Correlated basic events

Handling the scenario of basic events

(fault tree is a static snapshot)

(47)

Failure mode and effects analysis

 Failures and system level effects are listed

 Advantages:

– Systematic analysis of component failures – Efficiency of redundancy can be estimated

Component Failure mode Probability Effect Network

switch

- garbage out

- broken link

35%

65%

- access denied - service

timeout

... ... ... ...

(48)

Risk matrix and acceptable hazards

Hazard effect Catastrophic Critical Marginal Negligible Frequent

Probable Network switch failure

Primary server failure

Occasional Server

sw.

failure

Secondary server failure

Remote HA middle- ware failure

Improbable Impossible

Protection

level

(49)

Dynamics: Qualitative Data Fault Simulation / Model Checking

Variable 1

Uninitialized Written

Read

Written and read Fault written

Fault written and read

Activity A Read Control Data

D_F_Control

Variable 2

Uninitialized Written

Read

Written and read Fault written

Fault written and read

Activity A Write Control Data

D_F_Control

(50)

Simulation of the Error Propagation Dynamics

Variable

Uninitialized Written

Read

Written and read Fault written

Fault written and read

If

Control Data

D_F_Control

Otherwise

Control Activity

Control Data

D_F_Control Activity

Control Data

D_F_Control

(51)

Dependable design patterns

 Critical elements of the model can be replaced

 N-Version programming

– Here: N-Version Invocation – Simultaneous invocation of

multiple service

implementations (variants)

 Recovery Block

– Here: Sequential invocation of variants

– Until the result is acceptable

– Adjudicator?

Version 1

Version N

Version 2 VOTER

Version N

Version 2

Fails

Fails

(52)

© 2006 IBM Corporation

Building Information Society with Innovation

Quantitative Dependability Analysis

Prediction of quantitative service/business level characteristics

Performability control

Availability … prediction SLA

requirements specification

Quantitative dependability

assessment

(53)

Objectives

Composite services

 Composed of basic service components

 Only partial control over the different services Analysis of composite services

 According to SLA parameters of services

(e.g. throughput, reliability, availability)

 User perceived service:

potentially different service levels for different users

 Required parameters for the invoked services

 Guaranteed parameters for the main service Non-functional analysis

 PREDICTION of

– Dependability metrics for the services – Business impacts

 WHAT-IF analysis

(54)

Phased Mission Systems

(55)

Phased Mission Systems Upper layer: phases

•Operational life

•Tree or cyclic Petri Net

•One active phase („performing action X”)

•Routing may depend on resource states

DEEM tool

•Dependability Evaluation of Multiple-phased Systems

•Representation: Deterministic and Stochastic Petri Nets

•Evaluation: Markov Regenerative Processes

•Developed in Pisa/Florence

Multiple Phased Systems

•Systems which lifecycle consists of different phases

•Phases have different resource characteristics

•Expected response time

•Failure rate, etc.

Lower layer: resources

•Representing the state of the system

(56)

Example: Phased Mission Systems

Stochastic modeling

Phased operational life

System changes during the phases

E.g. resource states

System characteristics depend on the actual phase

E.g. phase-dependent failure rates

Mission goal depends on system state

Degradation

Dependability modeling and analysis

Described as GSPN

Originally for mission-critical systems

(57)

SOA service flows as PMS

SOA service flow as PMS

The operational life is built of distinct steps

Web service invocations are the phases

The dependability requirements of the phases are different Based on Service Level Agreements

The execution of the phases depends on the result of previous steps

Restricted operation if a service invocations fails

Dependability of the main service

Bottleneck analysis

Sensitivity analysis

Component’s failure rate  System dependability

(58)

Modeling vs monitoring based SOA lifecycle

Process modeling and analysis RT data acquisition and monitoring

Enterprise Service Bus

Service (J2EE)

Service (Web) Service

(e-mail) IMS

transaction

Service (human)

Hitelkérelem létrehozása

Előzetesen jóváhagyva?

(üzleti szabály) START

IGEN

Hitelképesség-ellenőrzés

NEM

Fedezet foglalása

Hitelbírálati jóváhagyás

Hitelkockázat értékelése Jóváhagyva?

Elutasító email küldése IGEN

NEM

Kockázatos?

(Üzleti szabály)

IGEN

NEM Elfogadás email küldése

VÉGE

Service (human) Service

(Web)

(59)

Building Information Society with Innovation

Model-based optimization of

Service Deployment

Availability aware deployment of services:

integrated deployment design and optimization under cost and performance constraints

Performability control

Availability

prediction

SLA requirements specification

Quantitative dependability

assessment

(60)

Objective

 Enterprise Information Systems

– Towards Service Oriented Architecture

 System development

– Model-Driven Architecture

 Quality aspects of services

– Growing importance

 Simultaneous assurance of

– Required availability level – Performance

– Cost minimization

(61)

Model-Driven Architecture + QoS analysis

Model Xform.

Code Generation

Source code

Platform Independent

Model

Platform Specific Model

QoS model &

properties

platform description

QoS analysis

Analysis results

(62)

Model-Driven Architecture + QoS-based synthesis

Model Xform.

Code Generation

Source code

Platform Independent

Model

Platform Specific Model

QoS model &

properties

platform description

QoS synthesis

Synthesis results

(63)

Architecture Synthesis – Design space

Total Cost of Ownership (TCO)

Availability Capacity

(64)

J2EE Architecture

J2EE Server

CORBA Server RDBMS

Message Queue JMS

EJB Container RMI

Client

EJB Container IIOP

Client

JSP Servlet Servlet Container HTTP

Client Other

Resource

HTTP Engine

• Entity beans

• Persistence management

• Backend services

• messaging

• authentication

• databases

•Session beans

•Business logic

•Service access points

• Servlets and Java Server Pages

• Web-based user interface

(65)

QoS model for services

 Stand-alone components

– QoS attributes

– Capacity requirement (throughput) – Availability requirement

 Links

– Represents single usage relationship – Directed

– QoS attributes are propagated

ServiceA

A = 99.99%, C=100/min

ServiceB A = 99.99%

«StatelessSessionBean»

Serv iceA

+ operation() : void

tags

QOS_Availability: 99.99%

QOS_Capacity: 100

«StatelessSessionBean»

Serv iceB

+ op() : void

tags

QOS_Availability: 99.99%

«uses»

(66)

General Resource Model

Application component

<<Client>>

Server computer

<<Resource>>

Deploys to

QoSValue RequiredQoS

OfferedQoS

(67)

Mapping components to the QoS Model

 Fault model

– Hardware components – Independent faults – Operating system

– Application server software – The application components are

treated fault-free

– Majority of the code

– automatically generated – Formally verified

 QoS Service Component

– EJB Module

– atomic deployment unit

 Component availability

– Max(required availability for the services) <

minimal availability of the runtime platform running the beans in the module

 Capacity requirements

– Sum of capacity reqs. of the contained

beans

(68)

Architecture Optimization – Objective Function

 

HW m

System TCO m number used m

TCO ( ) _ ( )

System

Node1 Node2 Node3 Node4 Node5

Total Cost of Ownership of the system

Total Cost of Ownership of

the specific node type Actual number of nodes

from the specified type

(69)

Architecture Optimization – Component Workload Balance

) (

) ( )

( _ )

(

i depends j

j Workload i

need Capacity i

Workload

 

) (

) ( )

( _

) (

i depends j

j Workload i

need Capacity

i Workload

Service1 W = 100

Service3 C = 150

Actual workload of the specified component

Defined direct load of the component

Indirect workload from

depending services

(70)

Architecture Optimization – Component Throughput Limits

) (

) ( )

( _ )

(

i depends j

j Workload i

need Capacity i

Workload

 

) (

) ( )

( :

m deployed s

s Workload SF

m Capacity HW

m

Service1 W = 100

Service2 W = 50

Service3 W = 150

Node1 C = 200

Node2 C= 200

A specific hardware node of the system

Capacity of node m (from benchmark)

Saturation factor

The maximum load (0..1) on the machine

Aggregate workload of all

components running on the

node.

(71)

Architecture Optimization – Availability Effect of Interactions

) (

) ( )

( _ )

(

i depends j

j Workload i

need Capacity i

Workload

 

service needed

running )

j ( HW , j

) j ( HW )

i ( HW

srvc . req

running HW all act

A A

) avail HW

( P )

available HW

( P

) available services

needed All

available HW

( P )

i ( A

Service1 Service2 Service3

A = ?

Actual availability of the component

Availability of the deployment target HW Availability of the deployment target HW of

invoked services

(72)

Architecture Optimization – Availability Requirements

 Constraints cont’d

) (

) ( )

( _ )

(

i depends j

j Workload i

need Capacity i

Workload

) i ( A

) i ( A

: services

i  actrequired

Actual availability of the component

Required availability of

the component

(73)

Building Information Society with Innovation

Dependability consolidation

Numerous applications implemented with no dependability

considerations, but delivering business critical services ?

(74)

IT Service Management Processes are Interdependent

Service Level Management Framework

Service Catalogue

Service Level Agreements

Evaluate and Report Service Level Achievements

Assess Service Level

Results

Formulate Service Level Improvement

Plan

Evaluate Service Level

Management Performance

Determine Availability Requirements

Formulate Availability Criteria

Define Availability

Targets

Establish Measures and Reporting

Monitor, Analyze, and

Report

Investigate Unavailability

Produce Availability

Plan Availability Management

Service Level Management

Detect and Record Incident

Classification and Initial

Support

Investigate and Diagnose

Resolution and Recovery

Own, Monitor, Track, and Communicate

Close Incidents

Incident Reports Incident Management

IT Financial Management

Framework

Plan and Control IT Budgets

Perform IT Financial Accounting

Administer IT Charging

Evaluate Management Performance IT Financial Management

References

Related documents

Mackey brings the center a laparoscopic approach to liver and pancreas surgery not available at most area hospitals.. JOSHUA FORMAN, MD

For example, Yawei Wang, the fund manager of ChinaAMC Large Cap Select Fund, reduced the proportion of its stock investment to lower the risk under the negative influences of

The other products only detected a subset of the previously identified samples, which indicates they are detecting artifacts from the original executable that remained in the

Similarly, the study also revealed that while shareholders’ fund (i.e. equity shareholders) has a significant positive impact on the performance of firms; on the

In the first one, existence is proved under an assumption imposing upper and lower uniform (over agents and consumption) bounds on marginal rates of substitution. In the second

Various domestic economic factors including money supply, industrial activities, inflation, Islamic interbank rate and international issues (e.g., real effective exchange rate

Contracting Officer, the Contractor shall furnish to the Contracting Officer a cost proposal in advance of performance of any work for which a price adjustment