Download - Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Transcript
Page 1: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Vincenzo Ferme, Cesare Pautasso | University of Lugano (USI)

Towards a Benchmark for BPMN Engines

Page 2: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

2

UniversityofStuttgart(IAAS)Germany

UniversityofLugano(USI)Switzerland

Prof. Cesare Pautasso

Vincenzo Ferme

Ana Ivanchikj

Marco Argenti

Gabriele Cerfoglio

Simone D’Avico

Abdil Cakal, Andreia Faria Carvalho

Nicolò Linder, Sonny Monti

Prof. Frank Leymann

Dr. Dieter H. Roller

Marigianna Skouradaki

Abdul Wahab

Nagarjuna Siddam

Tayyaba Azad

Balu Venu Thayil

Credits

Page 3: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

3

The Impact of TPC Benchmark on DBMS Performance

Source: http://www.tpc.org/tpcc/results/tpcc_results.asp

Page 4: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

4

What is a Workflow?

Register Reserv.

Send Doc.

Confirm Request

Page 5: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

4

What is a Workflow?

Register Reserv.

Send Doc.

Confirm Request

Bob

1

Page 6: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

4

What is a Workflow?

Register Reserv.

Send Doc.

Confirm Request

Bob

1

Reservation Service

2

Bob2

Page 7: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

4

What is a Workflow?

Register Reserv.

Send Doc.

Confirm Request

Bob

1

Reservation Service

2

Bob2

Alice

3

Page 8: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

4

What is a Workflow?

Register Reserv.

Send Doc.

Confirm Request

Bob

1

Reservation Service

2

Bob2

Alice

3

4

Confirmation Handler

Page 9: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Workflow Management System

4

What is a Workflow?

Register Reserv.

Send Doc.

Confirm Request

Bob

1

Reservation Service

2

Bob2

Alice

3

4

Confirmation Handler

Page 10: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Applications

What is a Workflow Management System (WfMS)?

5

WfMS Users

InstanceDatabase

Application Server

DBMS

Web Service

D

A

B

C

Page 11: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

6Application Server

Workflow Management System’s Main Components

WES

Job Executor

Core Engine

Application Server

Page 12: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

6Application Server

Workflow Management System’s Main Components

WES

Job Executor

Core Engine

Process Navigator

D

A

BC

Application Server

Page 13: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

6Application Server

Workflow Management System’s Main Components

WES

Job Executor

Core Engine

Process Navigator

D

A

BC

Task Dispatcher Users

Application

Application Server

Page 14: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

6Application Server

Workflow Management System’s Main Components

WES

Job Executor

Core Engine

Process Navigator

D

A

BC

Task Dispatcher Users

Application

Application Server

Event Handler

Service Invoker Web Service

Application

Page 15: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

6Application Server

Workflow Management System’s Main Components

WES

Job Executor

Core Engine

Process Navigator

D

A

BC

InstanceDatabase

DBMS

Persistent Manager

Transaction Manager

Task Dispatcher Users

Application

Application Server

Event Handler

Service Invoker Web Service

Application

Page 16: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

System’s Architecture• Distributed workflow support • Migrating workflow objects support • Transactional workflow support

Deployment Infrastructure• Standalone • Cluster deployment • Cloud deployment • Mobile deployment

Supported Languages• BPMN, BPEL, Petri-Nets, …

7

Functionality• Dynamic handling of Workflows • Integration capabilities

Workflow Management Systems’ Diversity

BPELEPC XPDL BPMN

1992 1998 2002 2004

PNML

2008

BPMN 2.0

2011

Page 17: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

System’s Architecture• Distributed workflow support • Migrating workflow objects support • Transactional workflow support

Deployment Infrastructure• Standalone • Cluster deployment • Cloud deployment • Mobile deployment

Supported Languages• BPMN, BPEL, Petri-Nets, …

8

Functionality• Dynamic handling of Workflows • Integration capabilities

Workflow Management Systems’ Diversity

BPELEPC XPDL BPMN

1992 1998 2002 2004

PNML

2008

BPMN 2.0

2011

Page 18: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

System’s Architecture• Distributed workflow support • Migrating workflow objects support • Transactional workflow support

Deployment Infrastructure• Standalone • Cluster deployment • Cloud deployment • Mobile deployment

Supported Languages• BPMN, BPEL, Petri-Nets, …

9

Workflow Management Systems’ Diversity

Functionality• Dynamic handling of Workflows • Integration capabilities

BPELEPC XPDL BPMN

1992 1998 2002 2004

PNML

2008

BPMN 2.0

2011

Page 19: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

System’s Architecture• Distributed workflow support • Migrating workflow objects support • Transactional workflow support

Deployment Infrastructure• Standalone • Cluster deployment • Cloud deployment • Mobile deployment

Supported Languages• BPMN, BPEL, Petri-Nets, …

10

Workflow Management Systems’ Diversity

Functionality• Dynamic handling of Workflows • Integration capabilities

BPELEPC XPDL BPMN

1992 1998 2002 2004

PNML

2008

BPMN 2.0

2011

Page 20: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

11

https://en.wikipedia.org/wiki/List_of_BPMN_2.0_engines

Jan 2011

BPMN 2.0

Jan 2014

BPMN 2.0.2ISO/IEC 19510

Aug 2009

BETABPMN 2.0

Year Number Sum2009 1 12010 5 62011 4 102012 1 112013 8 192014 2 212015 2 23

Grand Total 23

Num

ber o

f BPM

N 2

.0 W

fMSs

0

5

10

15

20

25

Year of the First Version Supporting BPMN 2.0 2009 2010 2011 2012 2013 2014 2015

�1

BPMN 2.0: A Widely Adopted Standard (?)

Page 21: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

12

BPMN 2.0

Page 22: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

12

B

A

Control Flow

BPMN 2.0

Page 23: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

12

Data Flow

A BC

B

A

Control Flow

BPMN 2.0

Page 24: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

12

Data Flow

A BC

B

A

Control Flow

Events

BPMN 2.0

Page 25: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

12

Data Flow

A BC

B

A

Control Flow

Events Activities Task Types Execution Behaviour

A B

C D

E F

G

H

I

BPMN 2.0

Page 26: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

13

Design and implement the first benchmark to assess and compare the performance of WfMSs that are compliant with Business Process Model and Notation 2.0 standard.

BenchFlow Projectthe goal

http://benchflow.inf.usi.ch

Page 27: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

14

end-users, vendors, developersWhy do we Need a Benchmark?

Page 28: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

14

end-users, vendors, developersWhy do we Need a Benchmark?

1. How to choose the best WfMS in accordance with the company’s technical requirements?

2. How to choose the best WfMS in accordance with the company’s business process models (workflows)? B

CD

Page 29: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

14

end-users, vendors, developersWhy do we Need a Benchmark?

1. How to choose the best WfMS in accordance with the company’s technical requirements?

2. How to choose the best WfMS in accordance with the company’s business process models (workflows)? B

CD

4. How to identify WfMS’s bottlenecks?

3. How to evaluate performance improvements during WfMS’s development?

Page 30: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

15

Workload Mix

Load FunctionsTest Data

Workload Model

WfMSConfigurations

Test Types

Workload Metrics KPIs

Derive

Performance Data

Benchmark Elements for BenchFlow

Page 31: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

16

Test Types Load Test, Stress Test

Benchmark Element Limitations

State of the Art Limitations (BPEL WfMS)

[SEKE ’14]Röck et al.

Page 32: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

16

Test Types Load Test, Stress TestW

orkl

oad

Mod

el

Workload Mix

Load Functions

Test Data

Unclear Definition

Simplistic

Not Realistic

Benchmark Element Limitations

State of the Art Limitations (BPEL WfMS)

[SEKE ’14]Röck et al.

Page 33: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

16

Test Types Load Test, Stress TestW

orkl

oad

Mod

el

Workload Mix

Load Functions

Test Data

Unclear Definition

Simplistic

Not Realistic

Syst

ems

Number of WfMS

WfMS Configurations

2–5

Not Extensive

Benchmark Element Limitations

State of the Art Limitations (BPEL WfMS)

[SEKE ’14]Röck et al.

Page 34: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

16

Test Types Load Test, Stress TestW

orkl

oad

Mod

el

Workload Mix

Load Functions

Test Data

Unclear Definition

Simplistic

Not Realistic

Syst

ems

Number of WfMS

WfMS Configurations

2–5

Not Extensive

Ana

lyse

s

Metrics

KPIs

Too General

Too General

Benchmark Element Limitations

State of the Art Limitations (BPEL WfMS)

[SEKE ’14]Röck et al.

Page 35: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

• Relevant

• Representative

• Portable

• Scalable

• Simple

Benchmarking Requirements

• Repeatable

• Vendor-neutral

• Accessible

• Efficient

• Affordable

• K. Huppler, The art of building a good benchmark, 2009 • J. Gray, The Benchmark Handbook for Database and Transaction Systems, 1993 • S. E. Sim, S. Easterbrook et al., Using benchmarking to advance research: A

challenge to software engineering, 2003

References:

Page 36: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

18

Main Challenges in Benchmarking BPMN 2.0 WfMSs

Page 37: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

18

Main Challenges in Benchmarking BPMN 2.0 WfMSs

WORKLOAD MODEL

Page 38: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

18

Main Challenges in Benchmarking BPMN 2.0 WfMSs

Workload Mix

20%

80%C

A

B

D

WORKLOAD MODEL

Page 39: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

18

Main Challenges in Benchmarking BPMN 2.0 WfMSs

Workload Mix

20%

80%C

A

B

D

WORKLOAD MODEL

Test Data

40%

60%

CA

B

U S

Page 40: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

18

Main Challenges in Benchmarking BPMN 2.0 WfMSs

Load FunctionsWorkload Mix

20%

80%C

A

B

D

WORKLOAD MODEL

Test Data

40%

60%

CA

B

U S

Page 41: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

18

Main Challenges in Benchmarking BPMN 2.0 WfMSs

Load FunctionsWorkload Mix

20%

80%C

A

B

D

BENCHMARK EXECUTION

WORKLOAD MODEL

Test Data

40%

60%

CA

B

U S

Page 42: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

18

Main Challenges in Benchmarking BPMN 2.0 WfMSs

Load FunctionsWorkload Mix

20%

80%C

A

B

D

WfMS-specific APIs and BPMN 2.0 Customisations

xW

fMS ↔

Use

rs

Clie

nt →

WfM

S

WfM

S ↔

Web

Ser

vice

s

App

licat

ion ↔

WfM

S

BENCHMARK EXECUTION

WORKLOAD MODEL

Test Data

40%

60%

CA

B

U S

Page 43: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

18

Main Challenges in Benchmarking BPMN 2.0 WfMSs

Load FunctionsWorkload Mix

20%

80%C

A

B

D

WfMS-specific APIs and BPMN 2.0 Customisations

xW

fMS ↔

Use

rs

Clie

nt →

WfM

S

WfM

S ↔

Web

Ser

vice

s

App

licat

ion ↔

WfM

S

BENCHMARK EXECUTION

WORKLOAD MODEL

Test Data

40%

60%

CA

B

U S

Asynchronous Execution of Workflows

WfMS

?

start

Page 44: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

18

Main Challenges in Benchmarking BPMN 2.0 WfMSs

Load FunctionsWorkload Mix

20%

80%C

A

B

D

WfMS-specific APIs and BPMN 2.0 Customisations

xW

fMS ↔

Use

rs

Clie

nt →

WfM

S

WfM

S ↔

Web

Ser

vice

s

App

licat

ion ↔

WfM

S

BENCHMARK EXECUTION

WORKLOAD MODEL

ANALYSES

Test Data

40%

60%

CA

B

U S

Asynchronous Execution of Workflows

WfMS

?

start

Page 45: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

18

Main Challenges in Benchmarking BPMN 2.0 WfMSs

Performance Metrics and KPIs

Load FunctionsWorkload Mix

20%

80%C

A

B

D

WfMS-specific APIs and BPMN 2.0 Customisations

xW

fMS ↔

Use

rs

Clie

nt →

WfM

S

WfM

S ↔

Web

Ser

vice

s

App

licat

ion ↔

WfM

S

BENCHMARK EXECUTION

WORKLOAD MODEL

ANALYSES

Test Data

40%

60%

CA

B

U S

Asynchronous Execution of Workflows

WfMS

?

start

Page 46: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

19

Define the Workload Mixbased on real-world BPMN 2.0 process models

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Page 47: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

19

Define the Workload Mixbased on real-world BPMN 2.0 process models

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Obtain Real-World BPMN 2.0 Process ModelsMAIN CHALLENGE:

Page 48: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

19

Define the Workload Mixbased on real-world BPMN 2.0 process models

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Obtain Real-World BPMN 2.0 Process ModelsMAIN CHALLENGE:

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

B

A

C

Page 49: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

> 100 METRICS:Size, Structure, External Interaction, Data Handling, Complexity

20

Define the Workload Mixcharacterise real-world BPMN 2.0 process models collections

http://benchflow.inf.usi.ch/bpmeter

BPMeter:Web Service and application for static analysis of BPMN 2.0 collections

Page 50: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

21

NUMBER OF WfMSs SUPPORTING THE FEATURE

NU

MB

ER O

F R

EAL-

WO

RLD

MO

DEL

S U

SIN

G T

HE

FEA

TU

RE

MOCK DATA

Define the Workload Mixheterogeneous usage and support of BPMN 2.0

Page 51: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

21

NUMBER OF WfMSs SUPPORTING THE FEATURE

NU

MB

ER O

F R

EAL-

WO

RLD

MO

DEL

S U

SIN

G T

HE

FEA

TU

RE

0

200

4

F400

5

600

2

700

8

800

12

950

10

MOCK DATA

Define the Workload Mixheterogeneous usage and support of BPMN 2.0

Page 52: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

22

Different Types of Benchmarks

BPMN 2.0 SUPPORTED ELEMENTS

BPM

N 2

.0 A

PPLI

CA

TIO

N D

OM

AIN

CUSTOMCORE ADVANCED FULL

core, advanced, full, custom

Page 53: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

22

Different Types of Benchmarks

BPMN 2.0 SUPPORTED ELEMENTS

BPM

N 2

.0 A

PPLI

CA

TIO

N D

OM

AIN

CUSTOMCORE ADVANCED FULL

core, advanced, full, custom

YO

UR

C

OM

PAN

Y

Page 54: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

22

Different Types of Benchmarks

BPMN 2.0 SUPPORTED ELEMENTS

BPM

N 2

.0 A

PPLI

CA

TIO

N D

OM

AIN

CUSTOMCORE ADVANCED FULL

core, advanced, full, custom

YO

UR

C

OM

PAN

YD

OM

AIN

SP

ECIF

IC

Page 55: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

22

Different Types of Benchmarks

BPMN 2.0 SUPPORTED ELEMENTS

BPM

N 2

.0 A

PPLI

CA

TIO

N D

OM

AIN

CUSTOMCORE ADVANCED FULL

core, advanced, full, custom

YO

UR

C

OM

PAN

YD

OM

AIN

SP

ECIF

ICG

ENER

AL

Page 56: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

23

Workload Mix Characterisation Overview

Models Collection

Characterisation

Characterisation Criteria

Benchmark Workflows

Characterise

Selection Criteria

Page 57: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

23

Workload Mix Characterisation Overview

Reoccurring Structures

A

H

Models Collection

Characterisation

Characterisation Criteria

Benchmark Workflows

Characterise

Selection Criteria

Page 58: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

23

Workload Mix Characterisation Overview

Clusters of ModelsReoccurring Structures

A

H

Models Collection

Characterisation

Characterisation Criteria

Benchmark Workflows

Characterise

Selection Criteria

Page 59: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

24

A

B

CD

H

F

EG

REAL-WORLD PROCESSES

Define the Workload Mixdiscover reoccurring structural patterns

Page 60: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

24

A

B

CD

H

F

EG

REAL-WORLD PROCESSES

[SOSE ’15]

a3

a2

a1

a6

a5

a4

Graph Matching

REOCCURRING STRUCTURES

Skouradaki et al.

Define the Workload Mixdiscover reoccurring structural patterns

Page 61: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

24

User Defined

Selection Criteria

A

B

CD

H

F

EG

REAL-WORLD PROCESSES

[SOSE ’15]

a3

a2

a1

a6

a5

a4

Graph Matching

REOCCURRING STRUCTURES

Skouradaki et al.

Define the Workload Mixdiscover reoccurring structural patterns

Page 62: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

24

User Defined

Selection Criteria

A

B

CD

H

F

EG

REAL-WORLD PROCESSES

WORKLOAD MIX

a1

a2

a1

a3 a550%

50%

Composition Criteria

[SOSE ’15]

a3

a2

a1

a6

a5

a4

Graph Matching

REOCCURRING STRUCTURES

Skouradaki et al.

Define the Workload Mixdiscover reoccurring structural patterns

Page 63: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

25

Define the Workload Mixdiscover clusters of models

A

B

CD

H

F

EG

REAL-WORLD PROCESSES

Page 64: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

25

Define the Workload Mixdiscover clusters of models

A

B

CD

H

F

EG

REAL-WORLD PROCESSES

> 100 METRICS: Size, Structure, External Interaction, Data Handling, Complexity

CLUSTERS OF MODELS

F

EG

B

CD

A

H

PCA +

Clustering

Page 65: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

25

Define the Workload Mixdiscover clusters of models

A

B

CD

H

F

EG

REAL-WORLD PROCESSES

> 100 METRICS: Size, Structure, External Interaction, Data Handling, Complexity

CLUSTERS OF MODELS

F

EG

B

CD

A

H

PCA +

Clustering

WORKLOAD MIX

50%

50%

Clustroid Models

B

CD

A

Page 66: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Define the Test Data

26

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

different types of test data

Page 67: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Define the Test Data

26

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Test Data:

different types of test data

Page 68: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Define the Test Data

26

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Test Data:Unsaved diagram

40%

60%Condition Data

different types of test data

Page 69: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Define the Test Data

26

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Test Data:Unsaved diagram

40%

60%Condition Data

different types of test data

Page 70: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Define the Test Data

26

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Test Data:Unsaved diagram

40%

60%Condition Data

different types of test data

Page 71: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Define the Test Data

26

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Test Data:…

Unsaved diagram

Unsaved diagram

Unsaved diagram

40%

60%Condition Data

different types of test data

Page 72: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

27

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Define the Load Functionsdifferent types of load functions

Page 73: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

27

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Define the Load Functions

P(branch)

different types of load functions

Page 74: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

27

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Define the Load Functions

P(branch)

different types of load functions

Page 75: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

27

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Define the Load Functions

P(branch)

different types of load functions

Page 76: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

27

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Define the Load Functions

P(branch)

Unsaved diagram

different types of load functions

Page 77: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

28

Define the Load Functions

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Unsaved diagram

Process Logs

process logs, experts’ opinion

Page 78: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

28

Define the Load Functions

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Unsaved diagram

Process Logs

process logs, experts’ opinion

Page 79: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

28

Define the Load Functions

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Unsaved diagram

Process Logs

process logs, experts’ opinion

Page 80: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

28

Define the Load Functions

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Unsaved diagram

Process Logs

40%

60%

P(branch)

process logs, experts’ opinion

Page 81: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

28

Define the Load Functions

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Unsaved diagram

Process Logs

Completion Time

Completion Time40%

60%

P(branch)

process logs, experts’ opinion

Page 82: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

28

Define the Load Functions

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Unsaved diagram

Process Logs

Response Time

Completion Time

Completion Time40%

60%

P(branch)

process logs, experts’ opinion

Page 83: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

28

Define the Load Functions

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Unsaved diagram

Process Logs

Response Time

Requests RateCompletion Time

Completion Time40%

60%

P(branch)

process logs, experts’ opinion

Page 84: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

28

Define the Load Functions

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Unsaved diagram

Process Logs

Response Time

Requests RateCompletion Time

Completion Time40%

60%

P(branch)

Experts

process logs, experts’ opinion

Page 85: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

29

Test Types and the Workload Model

Performance Test Types

• Load testing

• Stress testing

• Soak testing

• Spike testing

• Scalability testing

• Capacity testing

• Configuration testing

• Isolation testing

• …

Workload Model

Page 86: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

29

Test Types and the Workload Model

Performance Test Types

• Load testing

• Stress testing

• Soak testing

• Spike testing

• Scalability testing

• Capacity testing

• Configuration testing

• Isolation testing

• …

Workload Model

0

40

80

10 20 30 40 50

Load Function

0

200

400

10 20 30 40 50

Page 87: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

29

Test Types and the Workload Model

Performance Test Types

• Load testing

• Stress testing

• Soak testing

• Spike testing

• Scalability testing

• Capacity testing

• Configuration testing

• Isolation testing

• …

Workload Model

0

40

80

10 20 30 40 50

Load Function

0

200

400

10 20 30 40 50Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Workload M

ix

Page 88: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

29

Test Types and the Workload Model

Performance Test Types

• Load testing

• Stress testing

• Soak testing

• Spike testing

• Scalability testing

• Capacity testing

• Configuration testing

• Isolation testing

• …

Workload Model

0

40

80

10 20 30 40 50

Load Function

0

200

400

10 20 30 40 50

Test Data

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Unsaved diagram

RegisterReserv.

SendDoc.

ConfirmRequest

Workload M

ix

Page 89: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

30

Main Challenges in Benchmarking BPMN 2.0 WfMSs

Performance Metrics and KPIs

WfMS-specific APIs and BPMN 2.0 Customisations

xW

fMS ↔

Use

rs

Clie

nt →

WfM

S

WfM

S ↔

Web

Ser

vice

s

App

licat

ion ↔

WfM

S

BENCHMARK EXECUTION ANALYSES

Load FunctionsWorkload Mix

20%

80%C

A

B

D

WORKLOAD MODEL

Test Data

40%

60%

CA

B

U S

Asynchronous Execution of Workflows

WfMS

?

start

Page 90: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

30

Main Challenges in Benchmarking BPMN 2.0 WfMSs

Performance Metrics and KPIs

WfMS-specific APIs and BPMN 2.0 Customisations

xW

fMS ↔

Use

rs

Clie

nt →

WfM

S

WfM

S ↔

Web

Ser

vice

s

App

licat

ion ↔

WfM

S

BENCHMARK EXECUTION ANALYSES

Load FunctionsWorkload Mix

20%

80%C

A

B

D

WORKLOAD MODEL

Test Data

40%

60%

CA

B

U S

Asynchronous Execution of Workflows

WfMS

?

start

Page 91: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

31

InstanceDatabase

DBMSFaban Drivers

ContainersServers

DATA TRANSFORMERS

ANALYSERS

Performance Metrics

Performance KPIs

harnessWfMS

Test

Exe

cuti

onA

naly

ses

Faban+

Web Service

Enabling the Benchmark Execution and AnalysesBenchFlow framework

Minio

Page 92: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Performance Benchmark

BenchFlow Framework

32

System Under Test (SUT)

core requirements & functionalities

Page 93: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Performance Benchmark

BenchFlow Framework

32

• Automate the SUT deployment

• Simplify the SUT’s deployment configuration

System Under Test (SUT)

core requirements & functionalities

Page 94: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

• Manage the benchmark lifecycle

• Simulate the entities interacting with the WfMS

• Accommodate and automate different kinds of performance tests

• Ensure reliable execution

• Ensure repeatability

Performance Benchmark

BenchFlow Framework

32

• Automate the SUT deployment

• Simplify the SUT’s deployment configuration

System Under Test (SUT)

core requirements & functionalities

Page 95: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

33

BenchFlow Frameworksystem under test

Docker Engine

Page 96: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

33

BenchFlow Frameworksystem under test

Docker EngineContainers

Page 97: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

33

BenchFlow Frameworksystem under test

Docker Engine

Docker Machine

prov

ides

Containers

Page 98: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

33

BenchFlow Frameworksystem under test

Docker Swarm

Docker Engine

Docker Machine

prov

ides

Containers

Page 99: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

33

BenchFlow Frameworksystem under test

Docker Swarm

Docker Engine

Docker Machine

prov

ides

manages

Containers

Servers

Page 100: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

33

BenchFlow Frameworksystem under test

Docker Swarm

Docker Engine

Docker Compose

Docker Machine

prov

ides

manages

Containers

Servers

Page 101: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

33

BenchFlow Frameworksystem under test

Docker Swarm

Docker Engine

Docker Compose

Docker Machine

prov

ides

manages

Containers

Servers

SUT’s Deployment Conf.

deploys

Page 102: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Manages the Benchmark Lifecycle

BenchFlow Frameworkperformance benchmark

34

Faban

Page 103: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Manages the Benchmark Lifecycle

BenchFlow Frameworkperformance benchmark

34

Faban

Unsaved diagram

Simulates interacting entities

Page 104: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Manages the Benchmark Lifecycle

BenchFlow Frameworkperformance benchmark

34

Faban

Unsaved diagram

Simulates interacting entities

Ensures repeatability• the behaviour of a load driver

is described using code• load drivers can be released

Page 105: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Manages the Benchmark Lifecycle

BenchFlow Frameworkperformance benchmark

34

Faban

Unsaved diagram

Simulates interacting entities

Ensures repeatability• the behaviour of a load driver

is described using code• load drivers can be released

paired with Docker:SUT’s initial state is frozen in the container

Page 106: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Manages the Benchmark Lifecycle

BenchFlow Frameworkperformance benchmark

34

Faban

Unsaved diagram

Simulates interacting entities

Ensures reliable execution• checks the environment condition• validates the benchmark execution• ensures as few interferences as

possible on the SUT during measurements

Ensures repeatability• the behaviour of a load driver

is described using code• load drivers can be released

paired with Docker:SUT’s initial state is frozen in the container

Page 107: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Manages the Benchmark Lifecycle

BenchFlow Frameworkperformance benchmark

34

Faban

Unsaved diagram

Simulates interacting entities

Ensures reliable execution• checks the environment condition• validates the benchmark execution• ensures as few interferences as

possible on the SUT during measurements

Ensures repeatability• the behaviour of a load driver

is described using code• load drivers can be released

paired with Docker:SUT’s initial state is frozen in the container

Automates performance tests

Page 108: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

35

software adaptersWfMS-specific APIs

DBMSFaban Drivers

ContainersServers

harnessWfMS

Test

Exe

cuti

on Web Service

Adapters

Page 109: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

WfMS-specific APIs

36

WfMS Users

D

A

BC

InstanceDatabase

Application Server

DBMS

Web Service

Load Driver

custom APIs

• Load Driver APIs

• Web Service APIs

• User APIs

• Event APIs

APIs:

Page 110: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

37

WfMS-specific APIs requirements from the WfMS

ADVANCED FULLCORE

Page 111: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

37

WfMS-specific APIs requirements from the WfMS

ADVANCED FULLCORE

WfMS

Load Driver APIs

Deploy Workflow

Start Workflow

Page 112: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

37

WfMS-specific APIs requirements from the WfMS

ADVANCED FULLCORE

WfMS

Load Driver APIs

Deploy Workflow

Start Workflow

WfMS

Claim Task Complete Task

User and Web Service APIs

+

Create User Create Group

Pending User Tasks

Invoke WS

Page 113: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

37

WfMS-specific APIs requirements from the WfMS

ADVANCED FULLCORE

WfMS

Load Driver APIs

Deploy Workflow

Start Workflow

+

Event APIs

Issue Event

WfMS

Pending Event Tasks

WfMS

Claim Task Complete Task

User and Web Service APIs

+

Create User Create Group

Pending User Tasks

Invoke WS

Page 114: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

38

BPMN 2.0 Customisationsmodels deployment version

WfMS

Deploy Workflow

Page 115: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

38

BPMN 2.0 Customisationsmodels deployment version

WfMS

Deploy Workflow

BPMN 2.0 Standard XML Serialisation

WfMS A BPMN 2.0

Serialisation

WfMS B BPMN 2.0

Serialisation

Page 116: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

38

BPMN 2.0 Customisationsmodels deployment version

WfMS

Deploy Workflow

BPMN 2.0 Standard XML Serialisation

WfMS A BPMN 2.0

Serialisation

WfMS B BPMN 2.0

Serialisation

XML Processor

Page 117: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

38

BPMN 2.0 Customisationsmodels deployment version

WfMS

Deploy Workflow

BPMN 2.0 Standard XML Serialisation

WfMS A BPMN 2.0

Serialisation

WfMS B BPMN 2.0

Serialisation

XML Processor

WfMS A WfMS B

|| ||

Page 118: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

38

BPMN 2.0 Customisationsmodels deployment version

WfMS

Deploy Workflow

BPMN 2.0 Standard XML Serialisation

WfMS A BPMN 2.0

Serialisation

WfMS B BPMN 2.0

Serialisation

XML Processor

WfMS A WfMS B

|| ||

Page 119: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

38

BPMN 2.0 Customisationsmodels deployment version

WfMS

Deploy Workflow

BPMN 2.0 Standard XML Serialisation

WfMS A BPMN 2.0

Serialisation

WfMS B BPMN 2.0

Serialisation

XML Processor

Customised Test Data

Formatting

+WfMS A WfMS B

|| ||

Page 120: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

39

Asynchronous Execution of Workflows

WfMS

Start Workflow

overview

Page 121: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Users

D

A

BC

Start

Application Server

Web Service

Load Driver

DBMS

WfMS

InstanceDatabase

39

Asynchronous Execution of Workflows

WfMS

Start Workflow

overview

Page 122: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Users

D

A

BC

Start

Application Server

Web Service

Load Driver

DBMS

WfMS

InstanceDatabase

39

Asynchronous Execution of Workflows

WfMS

Start Workflow

End

overview

Page 123: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

40

DBMSFaban Drivers

ContainersServers

harnessWfMS

Test

Exe

cuti

on Web Service

Asynchronous Execution of Workflowsmonitors

Page 124: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

40

DBMSFaban Drivers

ContainersServers

harnessWfMS

Test

Exe

cuti

on Web Service

MONITOR

Asynchronous Execution of Workflowsmonitors

Page 125: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

41

Asynchronous Execution of Workflows

DBMSFaban Drivers

ContainersServers

harnessWfMS

Test

Exe

cuti

on Web Service

• CPU usage• Database state

Examples of Monitors:Monitors’ Characteristics:• Microservices• Lightweight (written in Go)• As less invasive on the SUT as possible• Expose REST APIs towards the Drivers

monitors

Page 126: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

41

Asynchronous Execution of Workflows

DBMSFaban Drivers

ContainersServers

harnessWfMS

Test

Exe

cuti

on Web Service

CPU Monitor

DB Monitor

• CPU usage• Database state

Examples of Monitors:Monitors’ Characteristics:• Microservices• Lightweight (written in Go)• As less invasive on the SUT as possible• Expose REST APIs towards the Drivers

monitors

Page 127: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

42

Main Challenges in Benchmarking BPMN 2.0 WfMSs

Performance Metrics and KPIs

Load FunctionsWorkload Mix

20%

80%C

A

B

D

WfMS-specific APIs and BPMN 2.0 Customisations

xW

fMS ↔

Use

rs

Clie

nt →

WfM

S

WfM

S ↔

Web

Ser

vice

s

App

licat

ion ↔

WfM

S

BENCHMARK EXECUTION

WORKLOAD MODEL

ANALYSES

Test Data

40%

60%

CA

B

U S

Asynchronous Execution of Workflows

WfMS

?

start

Page 128: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

42

Main Challenges in Benchmarking BPMN 2.0 WfMSs

Performance Metrics and KPIs

Load FunctionsWorkload Mix

20%

80%C

A

B

D

WfMS-specific APIs and BPMN 2.0 Customisations

xW

fMS ↔

Use

rs

Clie

nt →

WfM

S

WfM

S ↔

Web

Ser

vice

s

App

licat

ion ↔

WfM

S

BENCHMARK EXECUTION

WORKLOAD MODEL

ANALYSES

Test Data

40%

60%

CA

B

U S

Asynchronous Execution of Workflows

WfMS

?

start

Page 129: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Performance Metrics and KPIs

43

WfMS UsersLoad Driver

InstanceDatabase

Application Server

DBMS

Web Service

D

A

BC

levels

Page 130: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Performance Metrics and KPIs

43

WfMS UsersLoad Driver

InstanceDatabase

Application Server

DBMS

Web Service

D

A

BC

Metrics and KPIs• Engine Level

levels

Page 131: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Performance Metrics and KPIs

43

WfMS UsersLoad Driver

InstanceDatabase

Application Server

DBMS

Web Service

D

A

BC

Metrics and KPIs• Engine Level• Process Level

levels

Page 132: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Performance Metrics and KPIs

43

WfMS UsersLoad Driver

InstanceDatabase

Application Server

DBMS

Web Service

D

A

BC

Metrics and KPIs• Engine Level• Process Level• Feature Level

levels

Page 133: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Performance Metrics and KPIs

43

WfMS UsersLoad Driver

InstanceDatabase

Application Server

DBMS

Web Service

D

A

BC

Metrics and KPIs• Engine Level• Process Level• Feature Level

• Interactions

levels

Page 134: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

44

Performance Metrics and KPIsexamples and relevant users

Page 135: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

44

ENGINE LEVEL

PROCESS LEVEL

FEATURE LEVEL

Performance Metrics and KPIsexamples and relevant users

Page 136: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

44

Throughput

Response Time

Capacity

Latency

Flexibility to Spike

ENGINE LEVEL

PROCESS LEVEL

FEATURE LEVEL

Performance Metrics and KPIsexamples and relevant users

Page 137: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

44

Throughput

Response Time

Capacity

Latency

Flexibility to Spike

CPU Usage RAM Usage

Duration of Process

ENGINE LEVEL

PROCESS LEVEL

FEATURE LEVEL

Performance Metrics and KPIsexamples and relevant users

Page 138: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

44

Delay of Timer Event

Space Used by a Data Input

Duration of Message Event

Throughput

Response Time

Capacity

Latency

Flexibility to Spike

CPU Usage RAM Usage

Duration of Process

ENGINE LEVEL

PROCESS LEVEL

FEATURE LEVEL

Performance Metrics and KPIsexamples and relevant users

Page 139: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

44

Delay of Timer Event

Space Used by a Data Input

Duration of Message Event

Throughput

Response Time

Capacity

Latency

Flexibility to Spike

CPU Usage RAM Usage

Duration of Process

ENGINE LEVEL

PROCESS LEVEL

FEATURE LEVEL

END-USERS

VENDORS

DEVELOPERS

Performance Metrics and KPIsexamples and relevant users

Page 140: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

45

Performance Metrics and KPIsminimal data requirements

Accessibility of the Data

DBMS

WfMS

Page 141: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

45

Performance Metrics and KPIsminimal data requirements

• Workflow & Construct:

• Start Time

• End Time

• [Duration]

Availability of Timing DataAccessibility of the Data

DBMS

WfMS

Page 142: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

45

Performance Metrics and KPIsminimal data requirements

• Workflow & Construct:

• Start Time

• End Time

• [Duration]

Availability of Timing DataAccessibility of the Data

DBMS

WfMS

Availability of Execution StateState of the workflow execution. E.g., running, completed, error

Page 143: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Performance Metrics and KPIs

46

collect data

DBMSFaban Drivers

ContainersServers

harnessWfMS

Test

Exe

cuti

on Web Service

Page 144: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Performance Metrics and KPIs

46

collect data

DBMSFaban Drivers

ContainersServers

harnessWfMS

Test

Exe

cuti

on Web Service

MinioInstanceDatabase

Ana

lyse

s

CO

LLECT

OR

S

Page 145: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

47

DBMSFaban Drivers

ContainersServers

harnessWfMS

Test

Exe

cuti

on Web Service

• Container’s Stats (e.g., CPU usage)• Database dump• Applications Logs

Examples of Collectors:Collectors’ Characteristics:• Microservices• Lightweight (written in Go)• Two types: online and offline• Buffer data locally• Expose REST APIs towards Drivers

Performance Metrics and KPIscollect data

Page 146: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

47

DBMSFaban Drivers

ContainersServers

harnessWfMS

Test

Exe

cuti

on Web Service

Stats Collector

DB Collector

• Container’s Stats (e.g., CPU usage)• Database dump• Applications Logs

Examples of Collectors:Collectors’ Characteristics:• Microservices• Lightweight (written in Go)• Two types: online and offline• Buffer data locally• Expose REST APIs towards Drivers

Performance Metrics and KPIscollect data

Page 147: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

48

Performance Metrics and KPIsamount of data

REALISTIC

DATA

Number of

Repetitions

1

1053

Page 148: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

48

Performance Metrics and KPIsamount of data

REALISTIC

DATA

Number of

Repetitions

1

1053

Number of WfMSs

1

Page 149: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

49

Performance Metrics and KPIstransform data

DBMSFaban Drivers

ContainersServers

harnessWfMS

Web Service

Test

Exe

cuti

on

InstanceDatabase

DATA TRANSFORMERS

Ana

lyse

s

Data Mappers

Page 150: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

49

Performance Metrics and KPIstransform data

DBMSFaban Drivers

ContainersServers

harnessWfMS

Web Service

Test

Exe

cuti

on

InstanceDatabase

DATA TRANSFORMERS

Ana

lyse

s • custom DB format• unstructured logs• …

Data Mappers

Page 151: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

49

Performance Metrics and KPIstransform data

DBMSFaban Drivers

ContainersServers

harnessWfMS

Web Service

Test

Exe

cuti

on

InstanceDatabase

DATA TRANSFORMERS

Ana

lyse

s • custom DB format• unstructured logs• …

ETL Process

Data Mappers

Page 152: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

50

Performance Metrics and KPIstransform data

DBMSFaban Drivers

ContainersServers

harnessWfMS

Web Service

Test

Exe

cuti

on

DATA TRANSFORMERS

Ana

lyse

s

fast and general engine for large-scale data processing

Data Mappers

InstanceDatabase

Page 153: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

DBMSFaban Drivers

ContainersServers

harnessWfMS

Web Service

Test

Exe

cuti

on

51

Ana

lyse

s

DATA TRANSFORMERS

ANALYSERS

Performance Metrics

Performance KPIsA

naly

ses

Performance Metrics and KPIsanalyse data

Data Mappers

InstanceDatabase

Page 154: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

52

Highlights

Page 155: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

52

Highlights

Why a Benchmark for WfMSs

Page 156: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

52

Highlights

Why a Benchmark for WfMSs Benchmark’s Main Challenges

Page 157: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

52

Highlights

Why a Benchmark for WfMSs Benchmark’s Main Challenges

BenchFlow Framework

Page 158: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

53

Future WorkBenchFlow framework

1. Finalise the release of the BenchFlow framework as an open-source project on GitHub and DockerHub;

benchflowhttps://github.com/benchflow

Page 159: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

53

Future WorkBenchFlow framework

1. Finalise the release of the BenchFlow framework as an open-source project on GitHub and DockerHub;

benchflowhttps://github.com/benchflow

2. Simplify and automate the execution of common performance tests: load test, spike test, scalability test, …

Page 160: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

54

Future Workexperiments

1. Perform the first real-world experiments

Page 161: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

54

Future Workexperiments

1. Perform the first real-world experiments

Execute Different Test Types

• Stress testing

• Spike testing

• Scalability testing

• Configuration testing

Page 162: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

54

Future Workexperiments

1. Perform the first real-world experiments

Execute Different Test Types

• Stress testing

• Spike testing

• Scalability testing

• Configuration testing

Use Real-World Workflows

Page 163: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

54

Future Workexperiments

1. Perform the first real-world experiments

Execute Different Test Types

• Stress testing

• Spike testing

• Scalability testing

• Configuration testing

Production-like Configurations

Use Real-World Workflows

Page 164: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

54

Future Workexperiments

1. Perform the first real-world experiments

Execute Different Test Types

• Stress testing

• Spike testing

• Scalability testing

• Configuration testing

Realistic: • Load Functions • Test Data

Production-like Configurations

Use Real-World Workflows

Page 165: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

55

Future Workexperiments

2. Increase the number of supported WfMSs

APIs: CORE: Load Driver APIs

+ ADVANCED: User and Web Service APIs

+ FULL: Event APIs

Page 166: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

55

Future Workexperiments

2. Increase the number of supported WfMSs

APIs: CORE: Load Driver APIs

+ ADVANCED: User and Web Service APIs

+ FULL: Event APIs

WfMS N BPMN 2.0

Serialisation

customised test data formatting+

WfMS N

||

Deployable BPMN 2.0 Models:

Page 167: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

55

Future Workexperiments

2. Increase the number of supported WfMSs

APIs: CORE: Load Driver APIs

+ ADVANCED: User and Web Service APIs

+ FULL: Event APIs

WfMS N BPMN 2.0

Serialisation

customised test data formatting+

WfMS N

||

Deployable BPMN 2.0 Models:

Data: • Accessibility of the data • Availability of timing data • Availability of execution

state

Page 168: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

56

•We want to characterise the Workload Mix using Real-World process models

• Share your executable BPMN 2.0 process models, even anonymised

Process Models

• We want to characterise the Load Functions using Real-World behaviours

• Share your execution logs, even anonymised

Execution Logs

Call for CollaborationWfMSs, process models, process logs

•We want to add more and more WfMSs to the benchmark

• Contact us for collaboration, and BenchFlow framework support

WfMSs

Page 169: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN Engines

Join Us @ ICWE 2016 in Lugano!

http://icwe2016.inf.usi.ch

Page 170: Towards a Benchmark for BPMN Engines-Vincenzo Ferme,Cesare …design.inf.usi.ch/.../wjax2015-Towards_a_Benchmark_for_BPMN_Eng… · Towards a Benchmark for BPMN Engines System’s

Towards a Benchmark for BPMN EnginesVincenzo Ferme, Cesare Pautasso | University of Lugano (USI)

[email protected]@VincenzoFerme

http://benchflow.inf.usi.ch

[email protected]@pautasso

benchflowbenchflow