composition, performance analysis and simulation of web services

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

Upload: sanjay-jha

Post on 31-Oct-2014

1.753 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Composition, Performance Analysis And Simulation Of Web Services

1

Composition, Performance Analysis and Simulation of

Web Services

Senthilanand Chandrasekaran

Advisor: Dr. John A. Miller

Computer Science Department

The University of Georgia

Page 2: Composition, Performance Analysis And Simulation Of Web Services

2

Topical Outline

Introduction Web Services and Web Services Composition Web Services Enabling Technologies Issues in Composition of Web Services

Web Service Composition SCET System Architecture Composition Representation Discovery of Services Process Specification Process Execution Performance Analysis Simulation

Conclusions and Future Work

Page 3: Composition, Performance Analysis And Simulation Of Web Services

3

Introduction Definition of Web Service

A Web service is a software application identified by a URI, whose interfaces and binding** are capable of being defined, described and discovered by XML artifacts and supports direct interactions with other software applications using XML based messages via Internet-based protocols. (W3C definition)

Service Oriented Architecture (SOA)

Service Provider

ServiceRequestor

Service Registry

Find

Bind

Publish

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

Page 4: Composition, Performance Analysis And Simulation Of Web Services

4

Web Services Allow to reuse software components using a Service Oriented

Architecture (SOA) to integrate distributed applications to create loosely-coupled applications (as Web services are

based on message passing paradigm)

Restriction Individual services offer only limited capabilities

Full Potential of SOA We need to compose existing services to create new

functionality processes

Introduction (contd.)

Page 5: Composition, Performance Analysis And Simulation Of Web Services

5

Is the task of combining and linking existing Web services to create new Web processes

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

Types of Composition Static Composition - services to be composed are

decided at design time Dynamic Composition - services to be composed are

decided at run-time

Web Service Composition

Page 6: Composition, Performance Analysis And Simulation Of Web Services

6

Web Services Usage Scenarios

RemoteWeb ServiceRepository

Remote Web service

Remote Web service

Remote Web service

Service RequestorIndividual ServiceInvocation

Composite ServiceExecution

PublishWeb Services

Web ServiceLookup

Invoke WS

Compose Abstract Process

Web ServiceLookup

Execute

Search

Invoke

Search

Execute

(SOAP)

SOAP

(SOAP)

(SOAP)

(WSDL)

(UDDI)

WSFL Service Providers

Service Broker

Compose Concrete Process

Page 7: Composition, Performance Analysis And Simulation Of Web Services

7

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” registry essential for the widespread use of Web services

Web Service Composition WSFL, XLANG, BPEL4WS, DAML-S are some of the XML

languages that have been proposed for specifying a Web service composition

Web Services Enabling Technologies

Page 8: Composition, Performance Analysis And Simulation Of Web Services

8

Issues in Web Service Composition Representation of a Abstract Web Process

Representing/specifying the abstract process in a proper form

Discovery and Interoperability of Services Need to manually or automatically search for appropriate services The discovered services should interoperate

Process Execution Adopting a suitable technique for executing the composed concrete

process

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

execution

Efficiency of a Composed Web Process Need to compose processes which are efficient in terms of performance

Page 9: Composition, Performance Analysis And Simulation Of Web Services

9

“BarnesBookPurchase” Process Scenario

ISBN, Email Id., ID

isbn price price, id

Page 10: Composition, Performance Analysis And Simulation Of Web Services

10

SCET (Service Composition and Execution Tool)

SCET Allows

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

stores the process description as WSFL based specification

allows execution of the composed process using Perl supports a simple execution monitoring feature supports performance estimation using JSIM

simulation

Page 11: Composition, Performance Analysis And Simulation Of Web Services

11

System Architecture

Page 12: Composition, Performance Analysis And Simulation Of Web Services

12

Composition Representation

Similar to Workflow representations, a Web Process in SCET is represented as a digraph consisting of

Activities Represent tasks involved in the process Each activity stores information about the Web service

implementing the task (WSDL File Location, Operation, Input Message, Output Message etc.,)

Control Links Specify the control flow (sequencing conditions) within the

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

specification

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

Page 13: Composition, Performance Analysis And Simulation Of Web Services

13

Data Links Specify the flow of information between activities

Data Routing (SCET) Routes the output data of a Web service to the input of another

Web service without modifying the data

Data Mapping (Future Work) Maps the output of the first Web service to a subsequent Web

service by applying a transformation function (e.g. indexing in an array, extracting a particular field, etc.)

Composition Representation (contd.)

WS1 WS2Data

Page 14: Composition, Performance Analysis And Simulation Of Web Services

14

The Web service which is to implement an activity needs to be discovered

Static Discovery of Web Services (SCET) Composer manually discovers the services from service repositories

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

Interoperability between services Data Routing

The user specifies which Web service’s output needs to be routed to which Web service’s input (as done in SCET using data links)

Data Mapping The user can provide adapters which transforms the output of a Web service into a form that can be consumed by the input of another Web service SCET can be enhanced to provide this adapter feature for performing data mapping

Discovery of Services

Page 15: Composition, Performance Analysis And Simulation Of Web Services

15

Dynamic Discovery of Web Services (Future Work)

Automated service discovery from Web service registries

Registries need to provide semantic information about services

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

Interoperability between services

Data Routing & Data Mapping Requires understanding the semantics of the service’s inputs and

outputs in order to automate the interoperability of discovered services

Discovery of Services

Page 16: Composition, Performance Analysis And Simulation Of Web Services

16

Service Composition Designer

Page 17: Composition, Performance Analysis And Simulation Of Web Services

17

Web Service Flow Language (WSFL) SCET uses WSFL for specifying processes WSFL is IBM’s XML language for describing Web Services

Composition We have extended WSFL to include QoS specification such as

time, cost and reliability Constructs

Activity Elements

Message Elements

QoS specification(time,cost,reliability)

Page 18: Composition, Performance Analysis And Simulation Of Web Services

18

WSFL (contd.)

Service Provider Elements

Control Link Elements

Data Link Elements

Web service information

Data Routing

Conditional Branching

Page 19: Composition, Performance Analysis And Simulation Of Web Services

19

Process Execution Centralized approach (SCET)

The services involved in the process are coordinated by a centralized scheduler

Advantage Suitable where coordination between Web services is difficult to be achieved Easy to implement

Disadvantage Creates bottle neck at the coordinator as all messages need to propagate back and forth between the controller and other services

Distributed approach The entities participating in a composite service execution coordinate among themselves

C

WS1

WS2

WS3

C

WS1 WS2 WS3

Page 20: Composition, Performance Analysis And Simulation Of Web Services

20

Process Execution (contd.)

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

In SCET, Perl Execution Code Generator converts the WSFL based specification to Perl Execution Code

Traverses the WSFL process specification (JDOM XML parsing) and converts each activity element to a Perl Web service invocation block each control link element to an ‘if’ control statement in Perl each data link element to an ‘assignment’ statement (Data Routing)

Perl Web Service InvocationBlock

Page 21: Composition, Performance Analysis And Simulation Of Web Services

21

Performance Analysis

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

Web services performance evaluation techniques Time Analysis Load Analysis Process Execution Monitoring

Page 22: Composition, Performance Analysis And Simulation Of Web Services

22

Performance Analysis (contd.)

Time Analysis

Time taken by a Web service

invocation has three components:

Message Delay Time (M) Waiting Time (W) Service Time (S)

T(σ) = M(σ) + W(σ) + S(σ), where σ is a Web service

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

Time Analysis

00.5

11.5

22.5

33.5

Services

Tim

e (s

eco

nd

s)

Queue Time

Message DelayTime

Service Time

Page 23: Composition, Performance Analysis And Simulation Of Web Services

23

Performance Analysis (contd.)

Load Analysis

Performed by gradually loading

each Web service involved in the

process, and then measuring

their invocation times

After a certain load point, the

performance of the Web service will start degrading.

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

Performance

0

2

4

6

8

10

0 10 15 20 25 30 35

No. of simultaneous load requests

Tim

e (

seco

nd

s)

BarnesGetPrice

CheckCredit

SendLowCreditInfo

Page 24: Composition, Performance Analysis And Simulation Of Web Services

24

Process Execution Monitoring Monitoring the total number of Web service invocations present at a

host will help in analyzing the process

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

(represented by Ln(σ) )

Ln(σ) = W(σn) + S(σn) Sn(σ) = ∑ (T(σi) – M(σi))

Sn(σ)n

i=1

n

Performance Analysis (contd.)

¯

¯

Java RMI Server

Java SCET Designer

Perl Execution Controller

Java RMI Client

Communication between Perl Code and Java Designer

Page 25: Composition, Performance Analysis And Simulation Of Web Services

25

Performance Analysis (contd.)

Difficulties in Conducting Performance Analysis Tests

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

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

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

Page 26: Composition, Performance Analysis And Simulation Of Web Services

26

Simulation

Simulation helps in determining how composed Web services

will perform under various hypothetical conditions

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

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

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

SCET ProcessComposition

Execution

Feedback from Simulation

JSIM SimulationSimulation Model Generator

WSFL JSIM

Model

Page 27: Composition, Performance Analysis And Simulation Of Web Services

27

Simulation (contd.) The JSIM simulation model takes as input the service time

distribution and the mean service time for each activity involved in the process

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

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

WSFL process JSIM Model

Activity Facility

Control Links Transports

Execution Simulation Entity

Page 28: Composition, Performance Analysis And Simulation Of Web Services

28

Simulation (contd.)

JSIM Simulation

StatisticalSimulationResults

Page 29: Composition, Performance Analysis And Simulation Of Web Services

29

Conclusion Issues and Problems

Static composition Users need to discover services manually analyzing the Web service

descriptions provided by the service provider

Dynamic composition Dynamic discovery requires Web service Descriptions and Web

service registries need to provide more semantic description

Control Flow and Data Flow Among Services Need to support control flow constructs such as XOR splits, XOR joins,

AND splits, AND joins, and WHILE loops in the process composition

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

Page 30: Composition, Performance Analysis And Simulation Of Web Services

30

Process Execution and Performance Estimation Processes need to be executed and their performance needs to be

estimated

Results from Test bed Studies Development of the SCET prototype, which is used to represent

and specify service composition in WSFL Enhanced WSFL to include QoS attributes, for the activities in the

process Implemented the centralized process execution model using Perl,

providing simple process execution monitoring feature Time Analysis approaches for estimating the efficiency of the

process have been explored Simulation has been used as an alternative technique to analyze a

process under various conditions

Conclusion (contd.)

Page 31: Composition, Performance Analysis And Simulation Of Web Services

31

Future Work

SCET needs to be enhanced to support dynamic composition

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

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

Data links in the process currently provide only Data Routing functionality. Data Mapping feature has to be included with Data links

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

Page 32: Composition, Performance Analysis And Simulation Of Web Services

32

References A. Ankolekar, M. Burstein, J. Hobbs, O. Lassila, D. Martin, S. McIlraith, S. Narayanan, M. Paolucci, T. Payne, K.

Sycara, and H. Zeng, “DAML-S: Semantic Markup for Web Services”, in Proceedings of the International Semantic Web Working Symposium, Stanford, CA, 2001.

D. Austin, A. Barbin, C. Ferris, and S. Garg. Web Services Architecture Requirements. http://www.w3c.org/TR/wsa-reqs, 2002. B. Benatallah, M. Dumas, M-C. Fauvet, and F. Rabhi, “Towards Patterns of Web Services Composition”. in S.

Gorlatch and F. Rabhi (Eds): "Patterns and Skeletons for Parallel and Distributed Computing". Springer Verlag (UK), 2002.

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

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

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

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

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

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

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

Page 33: Composition, Performance Analysis And Simulation Of Web Services

33

References E. Christensen, F. Curbera, G. Meredith, and S. Weerawarana, “Web Services Description Language (WSDL)

1.1.”, http://www.w3.org/TR/wsdl, 2001. M. Colan,

“An Overview of Web Services”, http://www-106.ibm.com/developerworks/webservices, 2001. F. Curbera, Y. Goland, J. Klein, F. Leymann, D. Roller, S. Thatte, and S. Weerawarana, “Business Process Execution Language for Web Services”, http://msdn.microsoft.com/webservices/default.asp?pull

=/library/en-us/dnbiz2k2/html/bpel1-0.asp, 2002. A. Daniel, and A. Virgilio, “Capacity Planning for Web Services: metrics, models, and methods”, Prentice Hall,

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

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

Berlin, 2001. D. Fensel, and C. Bussler, “The Web Service Modeling Framework WSMF”, http://

www.cs.vu.nl/~dieter/ftp/paper/wsmf.pdf, 2002. D. Florescu, A. Grunhagen, and D. Kossman, “XL: An XML Programming Language for Web Service

Specification and Composition”, in Proceedings of the Eleventh International World Wide Webconference, Honolulu, HI, 2002.

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

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

M. Klein, and A. Bernstein, “Searching for Services on the Semantic Web Using Process Ontologies”, in The Emerging Semantic Web - Selected papers from the first Semantic Web Working Symposium , Isabel C., Decker S., Euzenat J., and McGuinness D. Eds. Amsterdam: IOS press, 2002, pp. 159-172.

Page 34: Composition, Performance Analysis And Simulation Of Web Services

34

References K. Kochut, A. Sheth, and J. Miller, “Optimizing Workflow”, in Component Strategies, Vol. 1, No. 9, pp. 45-57

(SIGS Publications Inc), 1999. P. Kulchenko, “SOAP::Lite for Perl”, http://www.soaplite.com, 2002. F. Leymann, “Web service flow language (WSFL) 1.0”,

http://www-4.ibm.com/software/solutions/webservices/pdf/WSFL.pdf, 2001. J. Miller, J. Cardoso, and G. Silver, “Using Simulation to Facilitate Effective Workflow Adaptation”, in

Proceedings of 35th Annual Simulation Symposium, San Diego, CA, 2002, pp. 177-181. J. Miller, R. Nair, Z. Zhang, and H. Zhao, “JSIM: A Java-based Simulation and Animation Environment”, in

Proceedings of the 30th Annual Simulation Symposium, Atlanta, GA, 1997, pp. 31-42. J. Miller, D. Palaniswami, A. Sheth, K. Kochut, and H. Singh, “WebWork: METEOR's Web-based Workflow

Management System”, in Journal of the Intelligent Information Management Systems, vol. 10-2: pp. 185-215, 1998.

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

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

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

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

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

C. Petri, “Kommunickation mit Automaten”, PhD thesis, Institut fur instrumentelle Mathematik, Bonn, 1962. G. Piccinelli, “Service Provision and Composition in Virtual Business Communities”, Technical Report HPL-1999-

84, Hewlett-Packard, http://www.hpl.hp.com/techreports/1999/HPL-1999-84.html, 1999. R. Shankar, and F. Armando, “SWORD: A Developer Toolkit for Web Service Composition”, in Proceedings of the

Eleventh International World Wide Web Conference, Honolulu, HI, 2002.

Page 35: Composition, Performance Analysis And Simulation Of Web Services

35

References A. Sheth, K. Kochut, J. Miller, D. Worah, S. Das, C. Lin, J. Lynch, D. Palaniswami, and I. Shevchenko,

“Supporting State-wide Immunization Tracking using Multi-paradigm Workflow Technology”, in Proceedings of the 22nd International Conference on Very Large Databases, Bombay, India, 1996, pp. 263-273.

S. Sipani, K. Verma, S. Chandrasekaran, X. Zeng, J. Zhu, D. Che, and K. Wong, “Designing an XML Database Engine: API and Performance”, in Proceedings of the 40th Annual Southeast ACM Conference, Raleigh, NC, 2002, pp. 239-245.

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

D. Sugalski, “Tutorial on Threads in Perl”, http://www.xav.com/perl/lib/Pod/perlthrtut.html, 1999. D. Tidwell, “Web Services – The Web’s Next Revolution”, http://www-106.ibm.com/developerworks/webservices,

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

Design”, http://www.gotdotnet.com/team/xml_wsspecs/xlang-c/default.htm, 2001. D. Waldt, and R. Drummond, "EBXML: The Global Standard for Electronic Business",

http://www.ebxml.org/presentations/global_standard.htm, 2001. W. Van der Aalst, V. Hee, and G. Houben, “Modelling Workflow Management Systems with High-level Petri Nets”,

in Proceedings of the second Workshop on Computer Supported Cooperative Work, Petrinets and related formalisms, 1994, pp 31-50.

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

Page 36: Composition, Performance Analysis And Simulation Of Web Services

36

Web Service Message Protocol - SOAP SOAP is a lightweight protocol for exchange of information in a

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

Header

Body

Page 37: Composition, Performance Analysis And Simulation Of Web Services

37

Page 38: Composition, Performance Analysis And Simulation Of Web Services

38

WSFL Based Process specification

Message definitions

Statically configured Service Providers

Activity definitions

Page 39: Composition, Performance Analysis And Simulation Of Web Services

39

WSFL Based Process specification(contd.)

ControlLink definitions

DataLink definitions

Page 40: Composition, Performance Analysis And Simulation Of Web Services

40

Perl Process Execution Code

BarnesGetPriceWeb service Invocation

CheckCredit Web service Invocation

CheckInventory Web service Invocation

Page 41: Composition, Performance Analysis And Simulation Of Web Services

41

Perl Process Execution Code (contd.)