sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology...
Transcript of sPAC (Web Services Performance Analysis C enter ... · business and technology goals Web Technology...
sPAC (Web Services Performance Analysis Center): Performance analysis and estimation
tool of web services
Kangsun LeeAssociate Professor
Dept. of Computer EngineeringMyongji University, Korea
BPM Conference, Sept. 7, 2005, Nancy, France
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
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
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)
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
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
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
sPAC: Web Services Performance Analysis Center
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
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
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
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
sPAC Demonstration
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
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
16
MyTravelPlanner:Test-based analysis
Response time for individual web services (10 – 50 simultaneous user requests)
FlightBookingweb service
17
MyTravelPlanner:Test-based Analysis
DRT results for individual web services
FlightBookingweb service
Service Time(79%)
Messaging Time(20%)
Network Time(1%)
18
MyTravelPlanner:Simulation-based Analysis
Tests vs.Simulations
Simulation-based TRT Estimation
19
MyTravelPlanner:Simulation-based Analysis
Response time for individual web services from simulation-based analysis
FlightBooking
Creditcard-Validation
Bottleneck
120
20
MyTravelPlanner:Performance Summary Report
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