sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology...

22
sPAC (Web Services Performance Analysis C enter): Performance analysis and estimation tool of web services Kangsun Lee Associate Professor Dept. of Computer Engineering Myongji University, Korea [email protected] BPM Conference, Sept. 7, 2005, Nancy, France

Transcript of sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology...

Page 1: sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology Needs • Platform independent • Reusable • Distributed computing • Standard

sPAC (Web Services Performance Analysis Center): Performance analysis and estimation

tool of web services

Kangsun LeeAssociate Professor

Dept. of Computer EngineeringMyongji University, Korea

[email protected]

BPM Conference, Sept. 7, 2005, Nancy, France

Page 2: sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology Needs • Platform independent • Reusable • Distributed computing • Standard

2

Contents

Background Web services and their composition

Motivation Performance-aware web services composition

Web Process Performance Analysis on sPAC Methodology and Measurements Architecture

Travel Planner Example on sPAC Summaries & Future works

Page 3: sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology Needs • Platform independent • Reusable • Distributed computing • Standard

3

Background – Trend

As web grows rapidly, web services become a promising technology to meet new

business and technology goals

Web

Technology Needs• Platform independent• Reusable• Distributed computing• Standard

Business Needs• On-demand• Outsource flexibility• Highly transformative

WebServices

Page 4: sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology Needs • Platform independent • Reusable • Distributed computing • Standard

4

Background – Web services

Definition(W3C) A software application identified by a URI, whose interfaces and binding

are capable of being defined, described and discovered by XML artifacts and supports direct interactions with other software applications usingXML based messages via Internet-based protocol

Platform and Language independency for B2B and EAI integration

Three standards for Web services WSDL(Web Service Defin

ition Language) SOAP(Simple Object Acc

ess Protocol) UDDI(Universal Directory,

Description and Interface)

Page 5: sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology Needs • Platform independent • Reusable • Distributed computing • Standard

5

Background –Business Process

Composite Web services organized for SOA based software system

Travel Planner

Flight booking

Accommodationbooking

Itineraryplanning

Travel insurance

Car rental

--eFlowWSFLBPEL4WS

eWorkFlowDAML-SSWORDXL

WSFLXLANGBPEL4WS

SystemsLanguagesSystemsLanguages

Semantic CompositionKeyword based Composition

Composition Languages

DynamicComposition

StaticComposition

Page 6: sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology Needs • Platform independent • Reusable • Distributed computing • Standard

6

Motivation

QoS (Quality of Service) problems can arise after a Web process is commercialized.

Sometimes they are not available Wrong answers and exceptions can come out Unexpected delay could be experienced as the number of simultaneous users increases

Performance requirements are frequent but difficult to guarantee Nondeterministic networks, abrupt changes on workload and usage patterns

Availability

Reliability

Performance

Research Goal : Propose an accurate and cost-effective performance

analysis methodology for web services

Page 7: sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology Needs • Platform independent • Reusable • Distributed computing • Standard

7

Related Works

Test-based Performance Analysis Actually executes web services for performance analysis Accurate but expensive in time and resources Only available at run time

Analytic Performance Analysis Represents web services as mathematical formulas Fast but inaccurate for sudden changes on workload patterns

Simulation-based Performance Analysis Represents web services as discrete-event simulation models and simul

ates their execution on various conditions Fairly accurate and fast Model validity and Parameter validity are important

Page 8: sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology Needs • Platform independent • Reusable • Distributed computing • Standard

sPAC: Web Services Performance Analysis Center

Page 9: sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology Needs • Platform independent • Reusable • Distributed computing • Standard

9

What is sPAC?

sPAC is a Web service Performance Analysis Center sPAC is a tool to analyze and estimate the performance of web servi

ces Microsoft .NET framework (C#) with powerful GUI Dual-model performance analysis for accuracy and effectiveness

Test-based mode for low load intensity(< 50 simultaneous requests) and simulation-based model (> 50 simultaneous requests) for heavy load intensity

WEB

PRO

CESS

CO

MPO

SER

TEST ENGINE

SIMULATIONENGINE

TestCodes

SimulationModel

TestResults

SimulationResults

Test Results

User

PERFO

RM

AN

CE

AN

ALYZER

Page 10: sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology Needs • Platform independent • Reusable • Distributed computing • Standard

10

Architecture of sPAC

Composer

Test Engine

SimulationEngine

ResultsAnalyzer

SimjavaLibrary

DynamicallyGeneratedSimulation

Code J2SECompiler

InternetSOAP/HTTP

Web services

User

User - satisfied

ProxyGenerator

GeneratedProxy (DLL)

Bou

ndar

y of

sPA

C

WSDL

SOAPSOAP

Protected by Firewall

BPEL4WS

Page 11: sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology Needs • Platform independent • Reusable • Distributed computing • Standard

11

Generated Simulation Code from sPAC // Modeling WS1

class WS1 extends Sim_entity {

// private variables

:

public WS1(String name, int index, int state) {

super(name);

this.index = index;

this.state = state;

out = new Sim_port("out");

add_port(out);

}

public void body() {

Sim_event ev = new Sim_event();

int i;

for (i=0; i< simulation_time; i++) {

sim_schedule(out,normal(2.0,0,05),0);s

sim_wait(ev);

sim_hold(normal(10.0, 0,03));

}

}

// Modeling WS2

class WS2 extends Sim_entity {

//Similar to WS1

:

}

class Example1 {

public static void main(String args[]) {

Sim_system.initialise();

Sim_system.add(new WS1("Sender", 1, WS1.SRC_OK));

Sim_system.add(new WS2("Receiver", 2, WS2.WS2_OK));

Sim_system.link_ports("Sender", "out", "Receiver", "in");

Sim_system.run();

}

}

WS1:Sender

WS2:Receiver

TestResults

start

end

Page 12: sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology Needs • Platform independent • Reusable • Distributed computing • Standard

12

Performance Metrics on sPAC

DRT(Dissected Response Time) Analyzes response time of a single web service Dissects response time into Network Time + Message Time + Service T

ime Considers network delay between a web service provider and clients, d

elay time to form and process SOAP message, and delay time to perform a task

TRT(Traced Response Time) Analyzes response time of the entire web process Produces virtual user loads and records response time trajectory Test-based analysis under low user intensity, and Simulation-based ana

lysis under heavy user intensity

Page 13: sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology Needs • Platform independent • Reusable • Distributed computing • Standard

sPAC Demonstration

Page 14: sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology Needs • Platform independent • Reusable • Distributed computing • Standard

14

Example : MyTravelPlanner

Composed by web services of Money exchange, Flight Booking, HotelReservation, Car Rental, and Payment by Credit Card

Represented by Activity Diagram of UML

UDDI Search

Available web services

Page 15: sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology Needs • Platform independent • Reusable • Distributed computing • Standard

15

MyTravelPlanner: Candidate 1

Log in

Currency Converter

FlightBooking

Money Exchange

HotelBooking

Car Rental

Credit Card Validation

Credit Card Process

http://202.30.101.197/loginservice/loginservice.asmx

http://www.webservicex.net/CurrencyConvertor.asmx

http://www.gama-system.com/webservices/exchangerates.asmx

http://webservices.flytecomm.com/FlightsWebServices/FlightInfoService.asmx

http://ws.bln.net/services/ht.asmx

http://teachatechie.com/GJTTWebServices/ZipCode.asmx

http://csproject.m6.net/WebService/Validation.asmx

http://www.paymentprocessor.net/XMLInterface/default.asmx

Page 16: sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology Needs • Platform independent • Reusable • Distributed computing • Standard

16

MyTravelPlanner:Test-based analysis

Response time for individual web services (10 – 50 simultaneous user requests)

FlightBookingweb service

Page 17: sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology Needs • Platform independent • Reusable • Distributed computing • Standard

17

MyTravelPlanner:Test-based Analysis

DRT results for individual web services

FlightBookingweb service

Service Time(79%)

Messaging Time(20%)

Network Time(1%)

Page 18: sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology Needs • Platform independent • Reusable • Distributed computing • Standard

18

MyTravelPlanner:Simulation-based Analysis

Tests vs.Simulations

Simulation-based TRT Estimation

Page 19: sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology Needs • Platform independent • Reusable • Distributed computing • Standard

19

MyTravelPlanner:Simulation-based Analysis

Response time for individual web services from simulation-based analysis

FlightBooking

Creditcard-Validation

Bottleneck

120

Page 20: sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology Needs • Platform independent • Reusable • Distributed computing • Standard

20

MyTravelPlanner:Performance Summary Report

Page 21: sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology Needs • Platform independent • Reusable • Distributed computing • Standard

21

Conclusions & Future Works

Proposed a new performance analysis and estimation methodology Performance has been analyzed cost and time effectively by mixing test

s and simulations Estimation accuracy can be increased by feeding test results into the si

mulation engine

Developed sPAC to support the proposed methodology semi-automatically

Other QoS metrics are to be considered in sPAC Reliability, Availability

Page 22: sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology Needs • Platform independent • Reusable • Distributed computing • Standard

22

Q & A

For further comments and questions:[email protected]