2013-11-28 integrating the palladio-bench into the ... · integrating the palladio-bench into the...

27
Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert 1 , Alexandru Danciu 1 , Christian Vögele 1 , Daniel Tertilt 1 , Helmut Krcmar 2 2013-11-28 1. fortiss GmbH An-Institut Technische Universität München 2. Chair for Information Systems Technische Universität München

Upload: others

Post on 28-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Integrating the Palladio-Bench into the Software

Development Process of a SOA Project

Andreas Brunnert1, Alexandru Danciu1, Christian Vögele1,

Daniel Tertilt1, Helmut Krcmar2

2013-11-28

1. fortiss GmbH – An-Institut Technische Universität München

2. Chair for Information Systems – Technische Universität München

Page 2: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Agenda

• Introduction

• Project Context

• Palladio-Bench Use Cases and Enhancements

• Palladio-Bench Limitations

• Future Work

Karlsruhe, 2013-11-28 2

Page 3: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Agenda

• Introduction

• Project Context

• Palladio-Bench Use Cases and Enhancements

• Palladio-Bench Limitations

• Future Work

Karlsruhe, 2013-11-28 3

Page 4: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Introduction

Karlsruhe, 2013-11-28 4

• An-Institut Technische Universität München

(independent company - GmbH)

• Application-oriented research institute

• Industry collaboration to improve the

applicability of research results in practice

• Performance analysis and prediction

• Performance Management Work Tools (PMWT)

• Focus on complex enterprise applications

Page 5: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Agenda

• Introduction

• Project Context

• Palladio-Bench Use Cases and Enhancements

• Palladio-Bench Limitations

• Future Work

Karlsruhe, 2013-11-28 5

Page 6: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Processes

Activity 1

...

...

...

Activity n

Enterprise Applications

Project Context

Current IT Landscape

Karlsruhe, 2013-11-28 6

System 1 System … System N

Page 7: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Service Providers

Processes

Project Context

Target IT Landscape

Karlsruhe, 2013-11-28 7

Integrated UI

System … System N System 1

Enterprise Service Bus (ESB)

WS-Facade WS-Facade WS-Facade

Activity 1 ... ... ... Activity

n

Page 8: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Oracle WebLogic

Application Server

Oracle Application Development Framework (ADF)

Project Context

Technology

Karlsruhe, 2013-11-28 8

Oracle Service Bus (OSB)

System N System 1

WS-Facade WS-Facade

System …

WS-Facade

Activity 1 ... ... ... Activity

n

Page 9: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Project Context

Software Development Process (for ADF web applications)

Karlsruhe, 2013-11-28 9

Software Development Process

Requirements

Analysis Design Implementation Testing

ARIS - EPC UML Activity

Diagrams Java Code

Page 10: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Project Context

Performance Management Process

Karlsruhe, 2013-11-28 10

Performance Management Process

Software Development Process

Performance Prediction

Requirements

Analysis Design Implementation Testing Production

Performance Analysis

Performance

Monitoring

ARIS - EPC UML Activity

Diagrams Java Code

Page 11: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Project Context

Performance Management Tool Chain

Karlsruhe, 2013-11-28 11

• Response time prediction and analysis for web page transitions

• Call frequency prediction and analysis for web service operations

• Service-level agreement (SLA) calculation for web service operations

• Workload selection for load tests

• Lead time prediction for business processes

Performance Analysis Performance Prediction

Performance Monitoring Service Consumers Service Providers

Performance

Database

Measure

Model

Simulate

Software Performance Curves

UML to PCM Transformation

PCM Simulation Results

Page 12: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Agenda

• Introduction

• Project Context

• Palladio-Bench Use Cases and Enhancements

• Palladio-Bench Limitations

• Future Work

Karlsruhe, 2013-11-28 12

Page 13: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Palladio-Bench Use Cases and Enhancements

Why Palladio?

Karlsruhe, 2013-11-28 13

• PCM models are easily comprehensible by technical staff in an organisaton,

thanks to …

– … the UML alignment and

– … different views on a system

• PCM models store performance related information that often will not be

documented otherwise

• SimuCom / EventSim (we need > 10´000 users) work reliable once the

model has been established

• Evaluating design alternatives

Page 14: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Palladio-Bench Use Cases and Enhancements

Generating Performance Models

14

• Repository, usage and system models are generated based on UML-based

business processes models

• Resource environment and allocation models are generated based on static

information

Karlsruhe, 2013-11-28

Page 15: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Palladio-Bench Use Cases and Enhancements

Generating Performance Models

Karlsruhe, 2013-11-28 15

Page 16: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Palladio-Bench Use Cases and Enhancements

Representing External Systems

16

• External web services are modeled as black box components

– Response times of external systems are integrated as performance curves

– Response times are specified as functions

– Response time functions (curves) are derived from measurements using regression

• Service-level agreements for response times are used if no measurements are available

• Representation of performance curves using the performance curve integration

(PCI) plugin

– PCI plugin for version 3.2 is adapted to version 3.4.1

– Major change: aligned code with abstractsimengine (previously:

umontreal.iro.lecuyer.simevents)

Karlsruhe, 2013-11-28

Page 17: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Palladio-Bench Use Cases and Enhancements

Performance Prediction and Performance Analysis

Karlsruhe, 2013-11-28 17

Service # Calls Frequency

S1 23 5 %

… … … %

SN 42 8.7 % Usage Model

System components and

web services

S1 SN …

Input:

Number of Users

Output:

Service call frequency

Page 18: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Palladio-Bench Use Cases and Enhancements

Performance Prediction and Performance Analysis

Karlsruhe, 2013-11-28 18

Output:

View transition times

View

Transition

Called

Services

Response

Time

P1->P2 S1, S5 2s

… … … s

Px -> Py S23, S42 4 s

Usage Model

System components and

web services

S1 SN …

Input:

Number of Users

Page 19: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Palladio-Bench Use Cases and Enhancements

Performance Prediction and Performance Analysis

Karlsruhe, 2013-11-28 19

• Selection of test cases

• Simulation of process lead times

Output:

Process lead times

Subprocess Lead Time

P1 42 s

… …

PN 23 s

Usage Model

System components and

web services

S1 SN …

Input:

Number of Users

Page 20: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Palladio-Bench Use Cases and Enhancements

Performance Prediction and Performance Analysis

Karlsruhe, 2013-11-28 20

Input to negotiate service-level agreements with service providers

Process lead times

Service call frequencies

View transition

times

Page 21: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Agenda

• Introduction

• Project Context

• Palladio-Bench Use Cases and Enhancements

• Palladio-Bench Limitations

• Future Work

Karlsruhe, 2013-11-28 21

Page 22: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Palladio-Bench Limitations

I/II

• Usage model reuse

– Usage behaviors are reused in practice across multiple models

– Missing possibility to reference usage models from usage models

• Visual representation of nested branches

– Very complex for large business processes

• Representation of memory

– Heap size is an important factor for capacity estimations

– JSF application pose a high demand for heap memory Garbage collection

overhead

Karlsruhe, 2013-11-28 22

Page 23: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Palladio-Bench Limitations

II/II

• Better support for migrating models between Palladio-Bench versions ->

PLEASE include diagrams ;-)

• Visualization of simulation results

Karlsruhe, 2013-11-28 23

Page 24: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Agenda

• Introduction

• Project Context

• Palladio-Bench Use Cases and Enhancements

• Palladio-Bench Limitations

• Future Work

Karlsruhe, 2013-11-28 24

Page 25: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Future Work

• Applying Kieker?

• Further development and integration of tools

– Data exchange between PCM and the performance database

– Associating versions of specific web service response time measurements with

their PCM representation (i.e. response time differences)

• Simplify the usage of the performance modeling and simulation capabilities

– Allow non-performance modeling experts to use the performance management

tool chain (PCM simulations might be transparent in the background)

• Include resource demands into the performance management process

– Similar to approaches of Brosig et al. 2011, Brunnert et al. 2013

Karlsruhe, 2013-11-28 25

Page 26: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Thank you for your attention!

Questions?

Karlsruhe, 2013-11-28 26

Page 27: 2013-11-28 Integrating the Palladio-Bench into the ... · Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert1, Alexandru Danciu

Contact

Karlsruhe, 2013-11-28 27

Dipl.-Inf. Daniel Tertilt

fortiss GmbH

– An-Institut Technische Universität München

Guerickestr. 25 | 80805 München

Tel. +49 89 360 35 22 - 18

[email protected] | www.fortiss.org

Christian Vögele, M.Sc.

fortiss GmbH

– An-Institut Technische Universität München

Guerickestr. 25 | 80805 München

Tel. +49 89 360 35 22 - 18

[email protected] | www.fortiss.org

Prof. Dr. Helmut Krcmar

Technische Universität München –

Lehrstuhl für Wirtschaftsinformatik

Boltzmannstraße 3 | 85748 Garching b. München

Tel. +49 89 289 – 195 32

[email protected] | www.winfobase.de

Andreas Brunnert, M.Sc.

fortiss GmbH

– An-Institut Technische Universität München

Guerickestr. 25 | 80805 München

Tel. +49 89 360 35 22 - 44

[email protected] | www.fortiss.org

Alexandru Danciu, M.Sc.

fortiss GmbH

– An-Institut Technische Universität München

Guerickestr. 25 | 80805 München

Tel. +49 89 360 35 22 - 18

[email protected] | www.fortiss.org