Composition, Performance Analysis and Simulation of Web Services

duckexcellentInternet και Εφαρμογές Web

5 Φεβ 2013 (πριν από 4 χρόνια και 8 μήνες)

100 εμφανίσεις

1

Composition, Performance
Analysis and Simulation of
Web Services

Senthilanand Chandrasekaran

Advisor: Dr. John A. Miller

Computer Science Department

The University of Georgia


2

Topical Outline




Introduction


Web Services and Web Services Composition


Web Services Enabling Technologies


Issues in Composition of Web Services



Web Service Composition


SCET System Architecture


Composition Representation


Discovery of Services


Process Specification


Process Execution


Performance Analysis


Simulation



Conclusions and Future Work

3

Introduction


Definition of Web Service



A Web service is 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 using
XML based
messages

via
Internet
-
based protocols
. (
W3C definition
)



Service Oriented Architecture (SOA)








Service

Provider

Service

Requestor

Service

Registry

Find

Bind

Publish


**
-

An association between an Interface, a concrete protocol and a data format


4


Web Services Allow


to
reuse software components

using a Service Oriented
Architecture (SOA)


to
integrate distributed applications


to
create loosely
-
coupled applications

(as Web services are
based on message passing paradigm)



Restriction



Individual services offer only limited capabilities



Full Potential of SOA


We need to compose existing services to create new functionality
processes



Introduction (contd.)

5


Is the task of combining and linking existing


Web services to create new Web processes



It adds value to the collection of services, by
orchestrating them according to the requirement of
the problem



Types of Composition


Static Composition

-

services to be composed are
decided at design time


Dynamic Composition

-

services to be composed are
decided at run
-
time

Web Service Composition

6

Web Services Usage Scenarios

Remote

Web Service

Repository

Remote

Web service

Remote

Web service

Remote

Web service

Service Requestor

Individual Service

Invocation

Composite Service

Execution

Publish

Web

Services

Web Service

Lookup

Invoke WS

Compose

Abstract Process

Web Service

Lookup

Execute

(WSDL)

(UDDI)

WSFL

Service Providers

Service Broker

Compose

Concrete Process

7


XML Messaging



Simple Object Access Protocol (SOAP)

-

i
s an XML Messaging
Protocol that allows software running on disparate operating
systems and different environments to make
Remote Procedure
Calls (RPC)



Web Services Description


Web Service Description Language (WSDL)



is a

language that
defines the interface of a Web service, required for interaction between
a requester and a service provider



Web Services Registry


Universal Description, Discovery and Integration (UDDI)

serves
as a
“business and service” registry

essential for the widespread
use of Web services



Web Service Composition


WSFL, XLANG, BPEL4WS, DAML
-
S

are some of the
XML
languages that have been proposed for specifying a Web service
composition







Web Services Enabling Technologies

8

Issues in Web Service Composition


Representation of a Abstract Web Process


Representing/specifying the abstract process in a proper form



Discovery and Interoperability of Services


Need to manually or automatically search for appropriate services


The discovered services should interoperate



Process Execution


Adopting a suitable technique for executing the composed concrete
process




Process Monitoring


Using a monitoring technique for run time analysis of the Web process
execution



Efficiency of a Composed Web Process


Need to compose processes which are efficient in terms of performance

9

“BarnesBookPurchase” Process
Scenario

ISBN, Email Id., ID

isbn

price

price, id

10

SCET (Service Composition and

Execution Tool)



SCET Allows



to compose services statically by modeling the
process as a
digraph
in a

graphical designer


stores the process description as
WSFL
based
specification


allows
execution of the composed process
using Perl


supports a simple
execution monitoring
feature


supports performance estimation using

JSIM
simulation


11

System Architecture

12

Composition Representation


Similar to Workflow representations, a Web Process in SCET


is represented as a
digraph

consisting of



Activities


Represent tasks involved in the process


Each activity stores information about the Web service
implementing the task (WSDL File Location, Operation, Input
Message, Output Message etc.,)



Control Links


Specify the control flow (sequencing conditions) within the
process


Currently, SCET supports XOR splits** in the process
specification


**
An XOR split represents a point in the process, where based on the control flow, one of the
several outgoing branches is chosen




13


Data Links


Specify the flow of information between activities





Data Routing (SCET)


Routes the output data of a Web service to the input of another
Web service without modifying the data



Data Mapping (Future Work)


Maps the output of the first Web service to a subsequent Web
service by applying a transformation function (
e.g.

indexing in
an array, extracting a particular field, etc.)




Composition Representation (contd.)

WS1

WS2

Data

14


The Web service which is to implement an activity needs to


be discovered



Static Discovery of Web Services (SCET)


Composer manually discovers the services from service repositories


(
e.g.
, UDDI registry, ebXML registry, Web sites )



Interoperability between services


Data Routing


The user specifies which Web service’s output needs to be routed to


which Web service’s input (as done in SCET using data links)



Data Mapping


The user can provide adapters which transforms the output


of a Web service into a form that can be consumed by the


input of another Web service


SCET can be enhanced to provide this adapter feature for


performing data mapping



Discovery of Services

15


Dynamic Discovery of Web Services (Future Work)



Automated service discovery from Web service registries



Registries need to provide semantic information about services



Support for dynamic negotiation of costs, service level agreements and
contracts etc.,



Interoperability between services



Data Routing & Data Mapping


Requires understanding the semantics of the service’s inputs and
outputs in order to automate the interoperability of discovered
services





Discovery of Services

16

Service Composition Designer

17

Web Service Flow Language (WSFL)


SCET uses WSFL for specifying processes


WSFL is IBM’s XML language for describing Web Services
Composition


We have extended WSFL to include QoS specification such as
time, cost and reliability


Constructs


Activity Elements








Message Elements





QoS specification

(time,cost,reliability)

18

WSFL (contd.)


Service Provider Elements






Control Link Elements






Data Link Elements

Web service information

Data Routing

Conditional Branching

19

Process Execution



Centralized approach (SCET)


The services involved in the process are


coordinated by a centralized scheduler



Advantage


Suitable where coordination between


Web services is difficult to be achieved


Easy to implement



Disadvantage


Creates bottle neck at the coordinator as


all messages need to propagate back


and forth between the controller and


other services



Distributed approach


The entities participating in a composite


service execution coordinate among themselves

C

WS1

WS2

WS3

C

WS1

WS2

WS3

20

Process Execution (contd.)


Languages for Execution


Perl (SOAP::Lite), Python, Ruby, Java, C#





In SCET,
Perl Execution Code Generator

converts the WSFL based
specification to Perl Execution Code



Traverses the WSFL process specification (JDOM XML parsing) and
converts


each
activity element

to a Perl Web service invocation block


each
control link

element

to an ‘if’ control statement in Perl


each
data link

element

to an ‘assignment’ statement (Data Routing)



Perl Web Service Invocation

Block

21

Performance Analysis


Performance evaluation of Web services can help
implementers understand the behavior of the
activities in a composed process



Web services performance evaluation techniques


Time Analysis


Load Analysis


Process Execution Monitoring



22

Performance Analysis (contd.)


Time Analysis


Time taken by a Web service


invocation has three


components:



Message Delay Time

(
M
)



Waiting Time
(
W
)


Service Time

(
S
)



T(
σ
) = M(
σ
) + W(
σ
) + S(
σ
),
where
σ

is a Web service



Performing tests to measure the above components for each
service involved in a process will indicate a measure of their
efficiency



Time Analysis
0
0.5
1
1.5
2
2.5
3
3.5
BarnesGetPrice
SendLowCreditInfo
CheckCredit
Services
Time (seconds)
Queue Time
Message Delay
Time
Service Time
23

Performance Analysis (contd.)



Load Analysis



Performed by gradually loading


each Web service involved in the


process, and then measuring


their invocation times



After a certain load point, the


performance of the Web service will start degrading.



This point is the load range to which the Web service is able to
perform effectively

Performance
0
2
4
6
8
10
0
10
15
20
25
30
35
No. of simultaneous
load requests
Time (seconds)
BarnesGet
Price
CheckCre
dit
SendLow
CreditInfo
24


Process Execution Monitoring


Monitoring the total number of Web service invocations present at a
host will help in analyzing the process



SCET is capable of visually displaying the expected number of Web
service invocations present in Web service
σ
’s
host


(represented by
L
n
(
σ
)

)



L
n
(
σ
)

= W(
σ
n
) + S(
σ
n
)



S
n
(
σ
) = ∑ (T(
σ
i
)


M(
σ
i
))








S
n
(
σ
)

n

i=1

n

Performance Analysis (contd.)

¯

¯

Java RMI

Server

Java SCET Designer

Perl Execution

Controller

Java RMI

Client

Communication between Perl Code and Java Designer

25

Performance Analysis (contd.)


Difficulties in Conducting Performance Analysis


Tests



For conducting performance analysis tests, we require the Web
services to be managed by the composer



If the services involved are real world services (
e.g
., Flight
Booking Service), then performance analysis by conducting real
tests is not feasible



To overcome these problems, Simulation could be used as an
alternative technique to do performance estimation

26

Simulation


Simulation helps in determining how composed Web services


will perform under various hypothetical conditions



Simulation can provide feedback on the process that was composed
allowing the composer to modify his process design by



Replacing services which do not satisfy the expected simulation service
time means, with better Web services


Modifying the process structure (control flow) based on the simulation
runs




SCET Process

Composition

Execution

Feedback from
Simulation


JSIM Simulation


Simulation Model

Generator

WSFL

JSIM


Model

27

Simulation (contd.)


The JSIM simulation model takes as input the
service time
distribution
and the
mean service time

for each activity involved in
the process



The Simulation Model Generator of SCET converts the WSFL based
specification into JSIM Model



As both WSFL process and JSIM Model are represented as digraph
the mapping is done as follows

WSFL process

JSIM Model

Activity


Facility

Control Links

Transports

Execution

Simulation Entity

28

Simulation (contd.)

JSIM

Simulation

Statistical

Simulation

Results

29

Conclusion


Issues and
Problems


Static composition



Users need to discover services manually analyzing the Web service
descriptions provided by the service provider



Dynamic composition


Dynamic discovery requires Web service Descriptions and Web
service registries need to provide more semantic description



Control Flow and
Data Flow

Among Services


Need to support control flow constructs such as XOR splits, XOR joins,
AND splits, AND joins, and WHILE loops in the process composition



In static compositions the composer manually specifies the Data
Routing/Mapping between services, while in dynamic compositions the
machine has to automate this task


30



Process Execution and Performance Estimation


Processes need to be executed and their performance needs to be
estimated



Results from Test bed Studies


Development of the
SCET prototype
,
which is

used to represent
and specify service composition in WSFL


Enhanced WSFL to include
QoS attributes
, for the activities in the
process


Implemented the
centralized process execution

model using
Perl
,
providing simple process execution monitoring feature


Time Analysis

approaches for estimating the efficiency of the
process have been explored


Simulation has been used as an alternative technique to analyze a
process under various conditions

Conclusion (contd.)

31

Future Work


SCET needs to be enhanced to support
dynamic composition




BPEL4WS

is a newly proposed composition standard for Web
services. SCET needs to be enhanced to support BPEL4WS



SCET currently supports only XOR Splits. It needs to be improved
to support
AND Splits
and

AND Joins



Data links in the process currently provide only Data Routing
functionality.
Data Mapping

feature has to be included with Data
links



Need to improve the Perl execution code generator, which is
currently capable of handling only services which return primitive
data types

32

References


A. Ankolekar, M. Burstein, J. Hobbs, O. Lassila, D. Martin, S. McIlraith, S. Narayanan, M. Paolucci, T. Payne, K.
Sycara, and H. Zeng, “DAML
-
S: Semantic Markup for Web Services”, in
Proceedings of the International Semantic
Web Working Symposium
, Stanford, CA, 2001.


D. Austin, A. Barbin, C. Ferris, and S. Garg. Web Services Architecture


Requirements.
http://www.w3c.org/TR/wsa
-
reqs
, 2002.


B. Benatallah, M. Dumas, M
-
C. Fauvet, and F. Rabhi, “Towards Patterns of Web Services Composition”. in S.
Gorlatch and F. Rabhi (Eds): "
Patterns and Skeletons for Parallel and Distributed Computing
". Springer Verlag
(UK), 2002.


B. Benatallah, M. Dumas, Q. Sheng, and A. Ngu, “Declarative Composition and Peer
-
to
-
Peer Provisioning of
Dynamic Web Services”, in
Proceedings of the International IEEE Conference on Data Engineering
, San Jose,
CA. (in press), 2002.


T. Berners
-
Lee, J. Handler, and O. Lassila, “The Semantic Web”, Scientific American.
http://www.sciam.com/article.cfm?articleID=00048144
-
10D2
-
1C70
-
84A9809EC588EF21
, May 2001.


J. Cardoso, J. Miller, A. Sheth, and J. Arnold, “Modeling Quality of Service for Workflows and Web Service
Processes”, in
The VLDB Journal

(submitted), 2002.


J. Cardoso, and A. Sheth, “Semantic e
-
Workflow Composition”, in
Journal of Intelligent Information Systems

(submitted), 2002.


J. Cardoso, A. Sheth, and J. Miller, “Workflow Quality of Service”, in
International Conference on Enterprise
Integration and Modeling Technology and International Enterprise Modeling Conference
, Valencia, Spain, Kluwer
Publishers (to appear), 2002.




F. Casati, S. Ilnicki, L. Jin, V. Krishnamoorthy, and M. Shan, “Adaptive and Dynamic Service Composition in
eFlow”, in
Proceedings of the International Conference on Advanced Information Systems Engineering,
Stockholm, Sweden, June 2000.


S. Chandrasekaran, G. Silver, J. Miller, J. Cardoso, and A. Sheth, “Web Service Technologies and their Synergy
with Simulation” in
Proceedings of the 2002 Winter Simulation Conference, San

Diego, CA. (to appear), December
2002.

33

References


E. Christensen, F. Curbera, G. Meredith, and S. Weerawarana, “Web Services Description Language (WSDL)
1.1.”,
http://www.w3.org/TR/wsdl
, 2001.


M. Colan,


“An Overview of Web Services”,
http://www
-
106.ibm.com/developerworks/webservices
, 2001.


F. Curbera, Y. Goland, J. Klein, F. Leymann, D. Roller, S. Thatte, and S. Weerawarana, “Business


Process Execution Language for Web Services”,
http://msdn.microsoft.com/webservices/default.asp?pull=/library/en
-
us/dnbiz2k2/html/bpel1
-
0.asp
, 2002.


A. Daniel, and A. Virgilio, “Capacity Planning for Web Services: metrics, models, and methods”, Prentice Hall,
Englewood Cliffs, NJ, 2001.


M. Evans, N. Hastings, and J. Peacock, “
Statistical Distributions”
, 3rd. Ed., John Wiley and Sons, Hoboken, NJ,
2000.


D. Fensel, “Ontologies: Silver Bullet for Knowledge Management and Electronic Commerce”, Springer
-
Verlag,
Berlin, 2001.


D. Fensel, and C. Bussler, “The Web Service Modeling Framework WSMF”,
http://www.cs.vu.nl/~dieter/ftp/paper/wsmf.pdf
, 2002.


D. Florescu, A. Grunhagen, and D. Kossman, “XL: An XML Programming Language for Web Service Specification
and Composition”, in
Proceedings of the Eleventh International World Wide Webconference
, Honolulu, HI, 2002.


D. Harel, “State Charts: A Visual Formalism for Complex Systems”, Science of Computer Programming, Vol. 8,
pp. 231
-
274, 1987.


R. Jonathan, L. Joe, and S. David, “XML Query Language (XQL)”,
http://www.w3.org/TandS/QL/QL98/pp/xql.html
,
1998.


M. Klein, and A. Bernstein, “Searching for Services on the Semantic Web Using Process Ontologies”, in
The
Emerging Semantic Web
-

Selected papers from the first Semantic Web Working Symposium
, Isabel C., Decker
S., Euzenat J., and McGuinness D. Eds. Amsterdam: IOS press, 2002, pp. 159
-
172.

34

References


K. Kochut, A. Sheth, and J. Miller, “Optimizing Workflow”, in
Component Strategies
, Vol. 1, No. 9, pp. 45
-
57 (SIGS
Publications Inc), 1999.


P. Kulchenko, “SOAP::Lite for Perl”,
http://www.soaplite.com
, 2002.


F. Leymann, “Web service flow language (WSFL) 1.0”,
http://www
-
4.ibm.com/software/solutions/webservices/pdf/WSFL.pdf
, 2001.


J. Miller, J. Cardoso, and G. Silver, “Using Simulation to Facilitate Effective Workflow Adaptation”, in
Proceedings
of 35th Annual Simulation Symposium
, San Diego, CA, 2002, pp. 177
-
181.


J. Miller, R. Nair, Z. Zhang, and H. Zhao, “JSIM: A Java
-
based Simulation and Animation Environment”, in
Proceedings of the 30th Annual Simulation Symposium
, Atlanta, GA, 1997, pp. 31
-
42.


J. Miller, D. Palaniswami, A. Sheth, K. Kochut, and H. Singh, “WebWork: METEOR's Web
-
based Workflow
Management System”, in
Journal of


the Intelligent Information Management Systems
, vol. 10
-
2: pp. 185
-
215, 1998.


J. Miller, A. Sheth, K. Kochut, X. Wang, and A. Murugan, “Simulation Modeling within Workflow Technology”, in
Proceedings of the 1995 Winter Simulation Conference
, Arlington, Virginia, 1995, pp. 612
-
619.


J. Miller, A. Sheth, K. Kochut, and X. Wang, “Corba
-
Based Run
-
Time Architectures for Workflow Management
Systems” in
Journal of Database Management
, Special Issue on Multidatabases, vol. 7
-
1, pp. 16
-
27, 1996.


R. Nair, J. Miller, and Z. Zhang, “JSIM: A Java
-
based Query Driven Simulation Environment”, in
Proceedings of
the 1996 Winter Simulation Conference
, Coronado CA, 1996, pp. 786
-
793.


S. Narayanan, and S. Mcllraith, “Simulation, Verification and Automated Composition of Web Services”, in
Proceedings of the Eleventh International World Wide Web Conference
, Honolulu, HI, 2002.


M. Paolucci, T. Kawamura, T. Payne, and K. Sycara, “Semantic Matching of Web Services Capabilities”, in
Proceedings of the First International Semantic Web Conference
. Sardinia, Italia, 2002.


C. Petri, “Kommunickation mit Automaten”, PhD thesis, Institut fur instrumentelle Mathematik, Bonn, 1962.


G. Piccinelli, “Service Provision and Composition in Virtual Business Communities”, Technical Report HPL
-
1999
-
84, Hewlett
-
Packard,
http://www.hpl.hp.com/techreports/1999/HPL
-
1999
-
84.html
, 1999.


R. Shankar, and F. Armando, “SWORD: A Developer Toolkit for Web Service Composition”, in
Proceedings of the
Eleventh International World Wide Web Conference
, Honolulu, HI, 2002.



35

References


A. Sheth, K. Kochut, J. Miller, D. Worah, S. Das, C. Lin, J. Lynch, D. Palaniswami, and I. Shevchenko,
“Supporting State
-
wide Immunization Tracking using Multi
-
paradigm Workflow Technology”, in
Proceedings of the
22nd International Conference on Very Large Databases
, Bombay, India, 1996, pp. 263
-
273.


S. Sipani, K. Verma, S. Chandrasekaran, X. Zeng, J. Zhu, D. Che, and K. Wong, “Designing an XML Database
Engine: API and Performance”, in
Proceedings


of the 40th Annual Southeast ACM Conference
, Raleigh, NC, 2002, pp. 239
-
245.


H. Stormer, “Task Scheduling in Agent
-
Based Workflows”, in
Proceedings of the International ICSC Symposium
on Multi
-
Agents and Mobile Agents in Virtual Organizations and E
-
Commerce
, Wollongong, Australia, 2001.


D. Sugalski, “Tutorial on Threads in Perl”,
http://www.xav.com/perl/lib/Pod/perlthrtut.html
, 1999.


D. Tidwell, “Web Services


The Web’s Next Revolution”,
http://www
-
106.ibm.com/developerworks/webservices
,
2000.


S. Thatte, “XLANG: Web Services for Business Process


Design”,
http://www.gotdotnet.com/team/xml_wsspecs/xlang
-
c/default.htm
, 2001.


D. Waldt, and R. Drummond, "EBXML: The Global Standard for Electronic Business",
http://www.ebxml.org/presentations/global_standard.htm, 2001.


W. Van der Aalst, V. Hee, and G. Houben, “Modelling Workflow Management Systems with High
-
level Petri Nets”,
in
Proceedings of the second Workshop on Computer Supported Cooperative Work, Petrinets and related
formalisms
, 1994, pp 31
-
50.


J. Yang, and M. Papazoglou, “Web Components: A Substrate for Web Service Reuse and Composition”, in
Proceedings of the 14th International Conference on Advanced Information Systems Engineering
, Toronto,
Canada, 2002.


36

Web Service Message Protocol
-

SOAP


SOAP is a lightweight protocol

for exchange of information in a
decentralized, distributed environment. It is an XML based protocol that
consists of three parts: an envelope that defines a framework for describing
what is in a message and how to process it, a set of encoding rules for
expressing instances of application
-
defined datatypes, and a convention for
representing
remote procedure calls and responses
.


Header

Body

37

38

WSFL Based Process specification

Message definitions

Statically configured

Service Providers

Activity definitions

39

WSFL Based Process specification

(contd.)

ControlLink definitions

DataLink definitions

40

Perl Process Execution Code

BarnesGetPrice

Web service Invocation

CheckCredit

Web service Invocation

CheckInventory

Web service Invocation

41

Perl Process Execution Code (contd.)