Title: Composition, Performance Analysis and Simulation of Web Services
1Composition, Performance Analysis and Simulation
of Web Services
- Senthilanand Chandrasekaran
- Advisor Dr. John A. Miller
- Computer Science Department
- The University of Georgia
2Topical 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
3Introduction
- 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
Service Requestor
Bind
- - An association between an Interface, a
concrete protocol and a data format
4Introduction (contd.)
- 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
5Web 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
6Web Services Usage Scenarios
Service Requestor
Service Broker
Remote Web Service Repository
Individual Service Invocation
(SOAP)
Search
Web Service Lookup
(UDDI)
SOAP
Invoke WS
Invoke
Composite Service Execution
WSFL
Service Providers
Compose Abstract Process
Search
Remote Web service
(SOAP)
(WSDL)
Publish Web Services
Web Service Lookup
(SOAP)
Remote Web service
Execute
Compose Concrete Process
Remote Web service
Execute
7Web Services Enabling Technologies
- XML Messaging
- 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) - Web Services Description
- A Web service needs to describe the operations it
supports and the transports/messaging protocols
on which its supports them - 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 -
8Web Services Enabling Technologies (contd.)
- Web Services Registry
- Universal Description, Discovery and Integration
(UDDI) serves as a business and service
registry essential for the prevalent 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
9Issues in Web Service Composition
- Representation of a Web Process
- Representing/specifying the process in a form and
language appropriate to the problem - Specifying QoS requirements of the services
- Requirement of a tool for representing the
process - Discovery and Interoperability of Services
- Need to manually or automatically search for
appropriate services - The discovered services should interoperate (in
terms of output to input mapping) with each other - Process Execution
- Adopting a suitable technique for executing the
composed concrete process
10Issues in Web Service Composition (contd.)
- 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 (service quality, execution
time, ability to handle higher loads etc.) - Need for techniques, that allow one to analyze
the performance of a Web process
11BarnesBookPurchase Process Scenario
ISBN, Email Id., ID
price, id
isbn
price
12SCET (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
13System Architecture
14Composition 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
15Composition Representation (contd.)
- 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.)
WS1
WS2
Data
16Discovery 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 services output
needs to be routed to - which Web services 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
17Discovery 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
services inputs and outputs in order to automate
the interoperability of discovered services -
-
18Service Composition Designer
19Process Specification
- How do we store this graphical representation of
the process in a standard notation - As mentioned earlier we have several standards
for specifying them (WSFL, XLANG, DAML-S,
BPEL4WS)
20Web Service Flow Language (WSFL)
- SCET uses WSFL for specifying processes
- WSFL is IBMs 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)
21WSFL (contd.)
Web service information
- Service Provider Elements
- Control Link Elements
- Data Link Elements
Conditional Branching
Data Routing
22Process Execution
- Centralized approach (SCET)
- The services involved in the process are
- coordinated by a centralized scheduler
- Advantage
- Suitable where coordination between
- activities 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
WS3
WS2
C
WS1
WS2
WS3
23Process Execution (contd.)
- Languages for Execution
- Perl (SOAPLite), Python, Ruby, Java, C
- Perl provides a simple and lightweight interface
to SOAP - In SCET, Perl Execution Code Generator converts
the WSFL based specification to Perl Execution
Code
Perl Web Service Invocation Block
24Process Execution (contd.)
- Traverses the WSFL process specification and
converts - each activity element to a Perl Web service
invocation block as shown earlier - each control link element to an if control
statement in Perl - each data link element to an assignment
statement (Data Routing)
25Performance Analysis
- Performance evaluation of Web services can help
implementers understand the behavior of the
activities in a composed process - The most commonly used approach to obtain
performance results of a given Web service is
performance testing, which means to run tests to
determine the performance of the service under
specific application and workload conditions
(Menasce et al., 2002) - Web Services performance evaluation techniques
- Time Analysis
- Load Analysis
26Performance 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(s) M(s) W(s) S(s), where s 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
27Performance 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
28Performance Analysis (contd.)
- Process Execution Monitoring
- Monitoring the process execution allows the user
to estimate its performance as the process
executes - 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 ss host - Ln(s) W(sn) S(sn) Savg(s) ?
(T(si) M(si))
n
i1
n
Savg(s)
29Performance Analysis (contd.)
- The Perl enactment controller computes the value
of Ln (s) for each invocation of a Web service - It uses a Java RMI Client to communicate the Ln
(s) value with the designer - Communication between Perl Execution Code and
SCET process designer
Java SCET Designer
Perl Execution Controller
Java RMI Server
Java RMI Client
30Performance 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
31Simulation
- 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
WSFL
JSIM Model
JSIM Simulation
Simulation Model Generator
Feedback from Simulation
32Simulation (contd.)
- The simulation model takes as input the Service
Time Distribution and the mean service time for
each activity involved in the process - The JSIM simulator requires a Java based
specification of the process to be simulated. - 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
Facility
Activity
Control Links
Transports
Execution
Simulation Entity
33Simulation (contd.)
JSIM Simulation
Statistical Simulation Results
34Conclusion
- 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 XOR
splits, XOR joins, AND splits and AND joins 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
35Conclusion (contd.)
- Process Execution and Performance Estimation
- Processes need to be executed and their
performance needs to be estimated - Results from Testbed 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 discussed - Simulation has been used as an alternative
technique to analyze a process under various
conditions
36Future 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
37References
- 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-r
eqs, 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?articleID0004814
4-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.
38References
- 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/d
efault.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/die
ter/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/p
p/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.
39References
- 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, SOAPLite for Perl,
http//www.soaplite.com, 2002. - F. Leymann, Web service flow language (WSFL)
1.0, http//www-4.ibm.com/software/solutions/webs
ervices/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.
40References
- 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 Webs 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_wsspec
s/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.
41Web 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
42(No Transcript)
43WSFL Based Process specification
Message definitions
Statically configured Service Providers
Activity definitions
44WSFL Based Process specification(contd.)
ControlLink definitions
DataLink definitions
45Perl Process Execution Code
BarnesGetPrice Web service Invocation
CheckCredit Web service Invocation
CheckInventory Web service Invocation
46Perl Process Execution Code (contd.)
47Process Execution
- Test Iteration for BarnesBookPurchase Process
48 Distribution Analysis
- Distribution Analysis
- Mainly done for getting the
- distribution function associated
- with the service times for
- simulation
49Introduction (contd.)
- Process Composition
- An organization that needs to compose a process
should identify - Business process (e.g., Get price for book, Check
account balance, Check inventory, Release order,
etc) - Business rules for sequencing of these steps
- (first Get book price, then check whether
the account has sufficient balance to buy the
book, then check whether the book is in
inventory etc.,) - Flow of information between the process steps
- (for example, take the output of
BarnesGetPrice and - pass it on to CheckCredit and so on)
-
50Conclusion (contd.)
- Results from Testbed Studies
- Development of the SCET prototype
- SCET is used to represent and specify service
composition in WSFL - Enhanced WSFL to include QoS attributes, for the
activities in the process - Process Execution
- Implemented the Centralized process execution
model - As Perl offers simple and light-weight access to
SOAP, we utilized Perl as our process execution
language - Process Execution Monitoring
- SCET allows for runtime monitoring of the number
of invocations present in a Service Providers
host - Performance Analysis
- Time Analysis approaches for estimating the
efficiency of the process have been discussed - Simulation has been used as an alternative
technique to analyze a process under various
conditions