Composition, Performance Analysis and Simulation of Web Services - PowerPoint PPT Presentation

1 / 50
About This Presentation

Composition, Performance Analysis and Simulation of Web Services


Composition, Performance Analysis and Simulation of Web Services. Senthilanand Chandrasekaran ... estimation using JSIM simulation. 13. System Architecture. 14 ... – PowerPoint PPT presentation

Number of Views:122
Avg rating:3.0/5.0
Slides: 51
Provided by: sent


Transcript and Presenter's Notes

Title: Composition, Performance Analysis and Simulation of Web Services

Composition, Performance Analysis and Simulation
of Web Services
  • Senthilanand Chandrasekaran
  • Advisor Dr. John A. Miller
  • Computer Science Department
  • The University of Georgia

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

  • 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
Service Provider
Service Requestor
  • - An association between an Interface, a
    concrete protocol and a data format

Introduction (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
  • Full Potential of SOA
  • We need to compose existing services to create
    new functionality processes

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

Web Services Usage Scenarios
Service Requestor
Service Broker
Remote Web Service Repository
Individual Service Invocation
Web Service Lookup
Invoke WS
Composite Service Execution
Service Providers
Compose Abstract Process
Remote Web service
Publish Web Services
Web Service Lookup
Remote Web service
Compose Concrete Process
Remote Web service
Web 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

Web 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
  • Web Service Composition
  • WSFL, XLANG, BPEL4WS, DAML-S are some of the XML
    languages that have been proposed for specifying
    a Web service composition

Issues 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
  • 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

Issues 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

BarnesBookPurchase Process Scenario
ISBN, Email Id., ID
price, id
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
  • allows execution of the composed process using
  • supports a simple execution monitoring feature
  • supports performance estimation using JSIM

System Architecture
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

Composition Representation (contd.)
  • Data Links
  • Specify the flow of information between
  • 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.)

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 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

Discovery of Services
  • Dynamic Discovery of Web Services (Future Work)
  • Automated service discovery from Web service
  • 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

Service Composition Designer
Process 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,

Web 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)
WSFL (contd.)
Web service information
  • Service Provider Elements
  • Control Link Elements
  • Data Link Elements

Conditional Branching
Data Routing
Process 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

Process 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

Perl Web Service Invocation Block
Process Execution (contd.)
  • Traverses the WSFL process specification and
  • 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)

Performance 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

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(s) M(s) W(s) S(s), where s is a Web
  • Performing tests to measure the above components
    for each service involved in a process will
    indicate a measure of their efficiency

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
  • This point is the load range to which the Web
    service is able to perform effectively

Performance Analysis (contd.)
  • Process Execution Monitoring
  • Monitoring the process execution allows the user
    to estimate its performance as the process
  • 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))

Performance 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
Performance Analysis (contd.)
  • Difficulties in Conducting Performance Analysis
  • Tests
  • For conducting performance analysis tests, we
    require the Web services to be managed by the
  • 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

  • Simulation helps in determining how composed Web
  • will perform under various hypothetical
  • 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
JSIM Model
JSIM Simulation
Simulation Model Generator
Feedback from Simulation
Simulation (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

WSFL process
JSIM Model
Control Links
Simulation Entity
Simulation (contd.)
JSIM Simulation
Statistical Simulation Results
  • 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

Conclusion (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
  • 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

Future Work
  • SCET needs to be enhanced to support dynamic
  • 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
  • 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

  • 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//
    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),
  • 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),
  • T. Berners-Lee, J. Handler, and O. Lassila, The
    Semantic Web, Scientific American.
    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),
  • 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
  • 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.

  • E. Christensen, F. Curbera, G. Meredith, and S.
    Weerawarana, Web Services Description Language
    (WSDL) 1.1., http//, 2001.
  • M. Colan,
  • An Overview of Web Services,
  • F. Curbera, Y. Goland, J. Klein, F. Leymann, D.
    Roller, S. Thatte, and S. Weerawarana, Business
  • Process Execution Language for Web
    Services, http//
    -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//
    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//
    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.

  • 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//, 2002.
  • F. Leymann, Web service flow language (WSFL)
    1.0, http//
    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.
  • 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.
  • 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,
    .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.

  • 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
  • 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,
  • D. Tidwell, Web Services The Webs Next
    Revolution, http//
    /webservices, 2000.
  • S. Thatte, XLANG Web Services for Business
  • Design, http//
    s/xlang-c/default.htm, 2001.
  • D. Waldt, and R. Drummond, "EBXML The Global
    Standard for Electronic Business",
    .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
  • 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.

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.

(No Transcript)
WSFL Based Process specification
Message definitions
Statically configured Service Providers
Activity definitions
WSFL Based Process specification(contd.)
ControlLink definitions
DataLink definitions
Perl Process Execution Code
BarnesGetPrice Web service Invocation
CheckCredit Web service Invocation
CheckInventory Web service Invocation
Perl Process Execution Code (contd.)
Process Execution
  • Test Iteration for BarnesBookPurchase Process

Distribution Analysis
  • Distribution Analysis
  • Mainly done for getting the
  • distribution function associated
  • with the service times for
  • simulation

Introduction (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,
  • 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)

Conclusion (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
  • As Perl offers simple and light-weight access to
    SOAP, we utilized Perl as our process execution
  • Process Execution Monitoring
  • SCET allows for runtime monitoring of the number
    of invocations present in a Service Providers
  • 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
Write a Comment
User Comments (0)