Composition, Performance Analysis and Simulation of Web Services

advertisement
Composition, Performance
Analysis and Simulation of
Web Services
Senthilanand Chandrasekaran
Advisor: Dr. John A. Miller
Computer Science Department
The University of Georgia
1
Topical Outline

Introduction




Web Service Composition








Web Services and Web Services Composition
Web Services Enabling Technologies
Issues in Composition of Web Services
SCET System Architecture
Composition Representation
Discovery of Services
Process Specification
Process Execution
Performance Analysis
Simulation
Conclusions and Future Work
2
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
Registry
Find
Publish
Service
Provider
Bind
**-
Service
Requestor
An association between an Interface, a concrete protocol and a data format
3
Introduction (contd.)

Web Services Allow




Restriction


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)
Individual services offer only limited capabilities
Full Potential of SOA

We need to compose existing services to create new functionality
processes
4
Web Service Composition

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
5
Web Services Usage Scenarios
Service Requestor
Individual Service
Invocation
Web Service
Lookup
Service Broker
Remote
Web Service
Repository
(UDDI)
Invoke WS
Composite Service
Execution
WSFL
Compose
Abstract Process
Service Providers
Remote
Web service
Web Service
Lookup
Compose
Concrete Process
Remote
Web service
(WSDL)
Publish
Web
Services
Remote
Web service
Execute
6
Web Services Enabling Technologies

XML Messaging


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


Simple Object Access Protocol (SOAP) - is an XML Messaging
Protocol that allows software running on disparate operating
systems and different environments to make Remote Procedure
Calls (RPC)
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
7
Issues in Web Service Composition

Representation of a Abstract Web Process


Discovery and Interoperability of Services



Adopting a suitable technique for executing the composed concrete
process
Process Monitoring


Need to manually or automatically search for appropriate services
The discovered services should interoperate
Process Execution


Representing/specifying the abstract process in a proper form
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
8
“BarnesBookPurchase” Process
Scenario
ISBN, Email Id., ID
isbn
price
price, id
9
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
10
System Architecture
11
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
12
Composition Representation (contd.)

Data Links

Specify the flow of information between activities
WS1
WS2
Data

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.)
13
Discovery of Services

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
14
Discovery of Services

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
15
Service Composition Designer
16
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
QoS specification

Activity Elements

Message Elements
(time,cost,reliability)
17
WSFL (contd.)
Web service information

Service Provider Elements

Control Link Elements

Data Link Elements
Conditional Branching
Data Routing
18
Process Execution

Centralized approach (SCET)

The services involved in the process are
coordinated by a centralized scheduler
C

Advantage



WS3
WS2
Creates bottle neck at the coordinator as
all messages need to propagate back
and forth between the controller and
other services
Distributed approach

WS1
Disadvantage


Suitable where coordination between
Web services is difficult to be achieved
Easy to implement
The entities participating in a composite
service execution coordinate among themselves
C
WS1
WS2
WS3
19
Process Execution (contd.)

Languages for Execution

Perl (SOAP::Lite), Python, Ruby, Java, C#
Perl Web Service Invocation
Block

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)
20
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
21
Performance Analysis (contd.)
Time Analysis
Time Analysis



Message Delay Time (M)
Waiting Time (W)
Service Time (S)
3.5
3
2.5
2
1.5
1
0.5
0
Queue Time
Ba
rn
es
G
et
Pr
Se
ic
nd
e
Lo
wC
re
di
tIn
fo
Ch
ec
kC
re
di
t
Time taken by a Web service
invocation has three
components:
Time (seconds)

Message Delay
Time
Service Time
Services
where σ is a Web service

T(σ) = M(σ) + W(σ) + S(σ),

Performing tests to measure the above components for each
service involved in a process will indicate a measure of their
efficiency
22
Performance Analysis (contd.)
Load Analysis
Performance
10

Performed by gradually loading
each Web service involved in the
process, and then measuring
their invocation times
Time (seconds)

BarnesGet
Price
8
6
CheckCre
dit
4
SendLow
CreditInfo
2
0
0 10 15 20 25 30 35


No. of sim ultaneous
load requests
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
23
Performance Analysis (contd.)

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 Ln(σ) )
Ln(σ) =
W(σn) + S(σn)
S¯n(σ) =
∑ (T(σi) – M(σi))
i=1
S¯n(σ)

n
n
Communication between Perl Code and Java Designer
Java SCET Designer
Java RMI
Server
Java RMI
Client
Perl Execution
Controller
24
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
25
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
Execution
SCET Process
Composition
WSFL
Simulation Model
Generator
Feedback from
Simulation
JSIM
JSIM Simulation
Model
26
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
27
Simulation (contd.)
JSIM
Simulation
Statistical
Simulation
Results
28
Conclusion

Issues and Problems

Static composition


Dynamic composition


Users need to discover services manually analyzing the Web service
descriptions provided by the service provider
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
29
Conclusion (contd.)

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
30
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
31
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.
32
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.
33
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://www4.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-199984, 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.
34
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.
35
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
36
37
WSFL Based Process specification
Message definitions
Statically configured
Service Providers
Activity definitions
38
WSFL Based Process specification
(contd.)
ControlLink definitions
DataLink definitions
39
Perl Process Execution Code
BarnesGetPrice
Web service Invocation
CheckCredit
Web service Invocation
CheckInventory
Web service Invocation
40
Perl Process Execution Code (contd.)
41
Download