Composition performance analysis and simulation of web services l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 41

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


  • 107 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Composition, Performance Analysis and Simulation of Web Services

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Composition performance analysis and simulation of web services l.jpg

Composition, Performance Analysis and Simulation of Web Services

Senthilanand Chandrasekaran

Advisor: Dr. John A. Miller

Computer Science Department

The University of Georgia


Topical outline l.jpg

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


Introduction l.jpg

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

Service

Requestor

Bind

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


Introduction contd l.jpg

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 capabilities

  • Full Potential of SOA

    • We need to compose existing services to create new functionality processes


Slide5 l.jpg

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 l.jpg

Web Services Usage Scenarios

Service Requestor

Service Broker

Individual Service

Invocation

Remote

Web Service

Repository

(SOAP)

Search

Web Service

Lookup

(UDDI)

SOAP

Invoke WS

Invoke

Composite Service

Execution

WSFL

Service Providers

Compose

Abstract Process

Search

(SOAP)

Remote

Web service

(WSDL)

Publish

Web

Services

Web Service

Lookup

(SOAP)

Remote

Web service

Execute

Compose

Concrete Process

Remote

Web service

Execute


Web services enabling technologies l.jpg

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

    • 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” registryessential 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


Issues in web service composition l.jpg

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


Barnesbookpurchase process scenario l.jpg

“BarnesBookPurchase” Process Scenario

ISBN, Email Id., ID

price, id

isbn

price


Scet service composition and execution tool l.jpg

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


System architecture l.jpg

System Architecture


Composition representation l.jpg

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 l.jpg

Composition 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


Discovery of services l.jpg

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


Discovery of services15 l.jpg

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


Slide16 l.jpg

Service Composition Designer


Web service flow language wsfl l.jpg

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)


Wsfl contd l.jpg

WSFL (contd.)

Web service information

  • Service Provider Elements

  • Control Link Elements

  • Data Link Elements

Conditional Branching

Data Routing


Process execution l.jpg

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

WS3

WS2

C

WS1

WS2

WS3


Process execution contd l.jpg

Process Execution (contd.)

Perl Web Service Invocation

Block

  • 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 linkelement to an ‘if’ control statement in Perl

    • each data linkelement to an ‘assignment’ statement (Data Routing)


Performance analysis l.jpg

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


Performance analysis contd l.jpg

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


Performance analysis contd23 l.jpg

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 analysis contd24 l.jpg

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)Sn(σ) = ∑ (T(σi) – M(σi))

n

¯

i=1

Sn(σ)

¯

n

Communication between Perl Code and Java Designer

Java SCET Designer

Perl Execution

Controller

Java RMI

Server

Java RMI

Client


Performance analysis contd25 l.jpg

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


Simulation l.jpg

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

WSFL

JSIM

Model

Simulation Model

Generator

JSIM Simulation

Feedback from Simulation


Simulation contd l.jpg

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

Facility

Activity

Control Links

Transports

Execution

Simulation Entity


Simulation contd28 l.jpg

Simulation (contd.)

JSIM

Simulation

Statistical

Simulation

Results


Conclusion l.jpg

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


Conclusion contd l.jpg

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


Future work l.jpg

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


References l.jpg

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.


References33 l.jpg

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.


References34 l.jpg

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.


References35 l.jpg

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.


Web service message protocol soap l.jpg

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


Slide38 l.jpg

WSFL Based Process specification

Message definitions

Statically configured

Service Providers

Activity definitions


Wsfl based process specification contd l.jpg

WSFL Based Process specification(contd.)

ControlLink definitions

DataLink definitions


Perl process execution code l.jpg

Perl Process Execution Code

BarnesGetPrice

Web service Invocation

CheckCredit

Web service Invocation

CheckInventory

Web service Invocation


Perl process execution code contd l.jpg

Perl Process Execution Code (contd.)


  • Login