Quality of Web Services

Published on March 2017 | Categories: Documents | Downloads: 33 | Comments: 0 | Views: 203
of 59
Download PDF   Embed   Report

Comments

Content

Dipartimento di Elettronica ed Informazione Politecnico di Milano International Summer School on “Service-Oriented Architectures” Collegno, Torino, August 29th - September 1st, 2006

Quality of Web services
Pierluigi Plebani
Dipartimento di Elettronica ed Informazione Politecnico di Milano [email protected]

Summary
• • • • • Quality of Service Quality of Web services Quality models Standards & proposals MAIS Project

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

2

Dipartimento di Elettronica ed Informazione Politecnico di Milano International Summer School on “Service-Oriented Architectures” Collegno, Torino, August 29th - September 1st, 2006

Quality of Service
Lecture on “Quality of Web services” Pierluigi Plebani

Definitions
“Even though quality cannot be defined, you know what it is.” Robert Pirsig

This slide has been shamefully copied from the EDBT’06 Tutorial on Information Quality by Felix Naumann held in Munich
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 4

ISO 9126
• ISO 9126 is an international standard for the evaluation of software • Quality is defined as: “The totality of features and characteristics of a product or service that bear on its ability to satisfy stated or implied needs” • Stated needs are explicitly declared by the users • Implied needs refers to requirements users do not know

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

5

Quality dimensions
• Quality is a combination of three types of qualities:
– In use: related to the quality perceived by the user – Internal: regardless of the context in which it is used – External: related to context in which it is used

• ISO 9126 reflects this combination since it is composed by four main parts:
– – – – ISO/IEC ISO/IEC ISO/IEC ISO/IEC 9126-1:2001 Part 1: Quality model TR 9126-2:2003 Part 2: External metrics TR 9126-3:2003 Part 3: Internal metrics TR 9126-4:2004 Part 4: Quality in use metrics

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

6

Quality factors in ISO 9126

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

7

Lesson learned
• Quality is subjective: depending on context, consumer, etc. • Quality is multidimensional: multiple dimensions, criteria, aspects, properties

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

8

Quality of …
• Products
– Services (we mainly focus on this kind of quality) – Hardware – Software

• Processes
– Organizational – Developing [Chung91, Chung00] – Business

• Data or information • Actors
– Users – Providers

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

9

Why QoS
• Differentiates functionally equivalent services • Users:
– Can express their needs – Can select the best service with respect to their needs

• Providers:
– Can better advertise their services

• Adaptivity • Self-healing

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

10

When QoS
• Before building a service the offered QoS must be defined
– Class of Service

• Before using a service provider and user must agree on QoS
– Service Level Agreement

• So, both service and providers must share the same lexicon for expressing QoS

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

11

Classes of Service
• Discrete variations of service with the same functionality but different QoS • Contain different constraints, prices, and/or other management information
– For different consumers – Involving different underlying resources

• One or more per provider Web Service • Can be used by more than one user

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

12

Service Level Agreement
• A special type of contract for QoS (and often price/penalty) requirements & guarantees • Many different formats, one of them is:
– Parties (including supporting management parties) – Service description
• Service operations: describe available operations • SLA parameters: define monitoring of QoS metrics

– Obligations
• Service Level Objectives (SLOs): QoS guarantees • Action guarantees: specify what happens if SLOs are met or not met
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 13

A simple example of SLA
• Parties:
– consumer C – provider P

• Service operations:
– (OP1) float getStockPrice(String stockName)

• SLA parameters:
– (RT-OP1-C) Response time of operation OP1 measured at consumer C by consumer C

• SLOs:
– (SLO1) For every OP1 invocation by C, RT-OP1-C will be less than or equal to 2 seconds

• Action guarantees:
– (AG1) If SLO1 was met, C pays P price of US$0.20 per invocation; – (AG2) If SLO1 was not met, P pays C penalty of US$0.10 per invocation
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 14

Negotiation
• An SLA can be obtained by a negotiation process even starting from a CoS • Negotiation process may occur
– Manually – Semi-automatically (usually the automation is only at provider-side) – Automatically (automation at both provider-side and user-side)

• Negotiation may occur:
– At design-time (usually manually) – At invocation-time (usually automatically)
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 15

Dipartimento di Elettronica ed Informazione Politecnico di Milano International Summer School on “Service-Oriented Architectures” Collegno, Torino, August 29th - September 1st, 2006

Quality of Web services
Lecture on “Quality of Web services” Pierluigi Plebani

Service Oriented Architecture (SOA)

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

17

Extended SOA

Source: M. Papazoglou,G. Georgakopolous, Service Oriented Computing: Introduction, ACM Comm., 43(10), 2003 Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 18

Issues
• Service provider and requestor may not know each other in advance • In a service oriented environment we have to consider all the involved actors independently • Service oriented computing aims at supporting a more dynamic environment • Transmission channel affects the quality but it might be out of control of both service provider and consumer

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

19

Web service stack & quality

Source: L. Wilkes, The Web service protocol stack, http://roadmap.cbdiforum.com/reports/protocols/ Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 20

Quality of Web service

QoS management

Source: A. M Chatterjee et al.,Differential QoS support in Web service management, http://sys-con.com/read/121946_1.htm Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 21

Quality meta model

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

22

Dipartimento di Elettronica ed Informazione Politecnico di Milano International Summer School on “Service-Oriented Architectures” Collegno, Torino, August 29th - September 1st, 2006

Quality Models
Lecture on “Quality of Web services” Pierluigi Plebani

Introduction
• The meta-model presented above highlights the main elements a quality model should include • A first attempt of formalizing a standard quality of service model has been done by OASIS consortium [Kim05] • Most of the existing work are based on the idea of QoS inherited by the networking community

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

24

Quality actors 1/2
• Stakeholder: who requests the development of a Web service to a developer defining the quality requirements • Developer: who develops the Web service meeting the requested quality level • Provider: who really makes available a Web service to the consumer • Consumer: who actually uses the Web service

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

25

Quality actors 2/2
• QoS Broker: at consumer side who collects information on the quality • Quality Assurer: who monitors the quality level to state the respect for the contract between consumer and provider • Quality Manager: at provider side who manages the resources to ensure the promised quality

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

26

Quality activities: an overall view

Source: E. Kim, Y. Lee, “Quality Model for Web service”, OASIS Open Consortium, 2005 Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 27

Quality activities: a detailed view
Quality at Design and Deployment time
Design-time Deployment-time

implement

Web Service

deploy

Application server support

manage provider

publish

require developer

Server Quality

Invocable WS attach

UDDI

Service Quality

generate Quality matching

Supported Quality

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

28

Quality activities: a detailed view
Quality at Discovery and Run time
query UDDI consumer define Quality matching Requested Quality Supported Quality Invocable WS support retrieve

Effective Quality quality broker quality assurer

quality manager

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

29

Quality definition
• Quality of Web service is defined by a collection of attributes (a.k.a. dimensions or parameters) • A quality attribute expresses a capability or a requirement:
– About the overall Web service – About a given aspect (operation, message) of the Web service

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

30

Quality definition: issues
• Quality of Web service definition depends on the considered domain:
– The set of attributes defining the quality of Web service depends on the domain – Functionally equivalent Web services could be defined by the same quality attributes

• Who does know which are the relevant quality attributes for a given Web service?

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

31

Quality attributes collection
Cost Service Availability

Completeness

Capacity

Supported Standard Authorization

Cost

Confidentiality

Accuracy

Data Encryption

Flexibility
A A influences B B

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

32

A new actor: the community
• What happens in the real life? Let’s try to define the quality of a PC • The quality of a product con be defined by a a set of attributes that (more or less) everybody can list • These set of attributes arises from a implicit and common knowledge • A community:
– Is an “abstract” entities which is in charge of collects the relevant quality attributes for a given product – Is able to formalizes the “common knowledge”
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 33

Relationships among quality attributes • Several approaches exist for describing the quality attributes and their relationships • We consider
– Formal Description of non-functional requirements by [Sullivan05] – Non functional requirements in software engineering by [Chung00] – User-driven quality representation by [Plebani06]

• All the approaches aim at providing a domain independent quality model • The domain-dependent quality description could be built on top of these models
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 34

[Sullivan 05]
• Quality attributes are modeled using ORM (Object-Role Modeling) • Relationships are formally defined

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

35

Service provider

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

36

Temporal entities

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

37

Temporal date

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

38

Location entities

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

39

Example: availability

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

40

[Chung00]
• Proposes a framework for representing nonfunctional requirements • Relationships are captured by the soft-goal interdependency graph • This approach is mainly focused on quality of the software development process

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

41

NFR Type catalogue
NFR Types

Performance Cost Time Space Main memory Secondary storage User-friendliness

Security

Confidentiality Integrity

Availability

Response Time Throughput

Process Management Time

Accuracy

Completeness

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

42

Soft-goal representation

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

43

In [Plebani06]
• Two kind of quality attributes:
– Primitive quality attributed (pqa): self-defined – Derived quality attribute (dqa): depends on other quality attributes

• Relationships relies on technical dependencies

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

44

Types of Quality Attributes
• Primitive
– pqa = <name, values> – can be directly measured or estimated

• Derived
– dqa = <name, f(pqai, dqaj)> i=0..n, j=0..m – Depends on both pqa and dqa

• where:
– name: uniquely identifies the attribute – values: quality attribute domain – f: dependency function (simple or composite)

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

45

Examples
• Name = resolution • Values = {320x200, 800x600, 1024x768} • Name = framerate • Values = [1..30] • Name = price • Values = [0..! ] • Name = bandwidth • F = k * resolution * framerate * price • Name = security • F= integrity, confidentiality, authenticity, non-repudiation

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

46

Community as domain expert
• Is Bandwidth a primitive or derived quality attribute?
– We can measure the bandwidth – We can also calculate the bandwidth we need

• The community is in charge of:
– Collecting all the relevant quality dimensions – Organizing them according to a tree (quality tree)

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

47

Quality tree v.1 1/2

• At the most top we always have a “quality of xxx” node • Different position of node inside the tree result in different quality description

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

48

Quality tree v.1 2/2

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

49

Dependency function
• A derived quality attribute can be differently influenced by the composing quality attributes • Such an influence is expressed by a set of weights expressing the impact of a quality attribute on dependent attribute • The weights:
– Can be directly obtained by the dependency function – Can be assigned by the community

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

50

Quality tree v.2

• Given a tree node the sum of the weights on the edges connecting the direct children must be 1 • Weight assignment is a critical activity. Can be done:
– Manually – Semi-automatically (e.g., AHP) – Automatically (?)
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 51

Quality evaluation model
• Numerical order of admissible values does not reflect the quality order
– 15 kb/s is worse than 20 kb/s – 0 $ is better than 10 $

• The evaluation model aims at defining an order relationship among admissible values with respect to the quality

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

52

Evaluation function
• Both derived and primitive quality attributes have an evaluation function • The evaluation function captures the quality trend w.r.t. the quality dimension values • Are the evaluation functions always linear? • What about the evaluation function of derived quality parameter ?

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

53

pqa evaluation function 1/2
• With continue domain the evaluation function reflects the same trend • With discrete domain is a punctual function stating how a quality value is close or far to the best quality value • Let us consider the colordepth
– 8 bit is better than 16 bit – 16 bit is better than 24 bit

• Switching from 8 bit to 16 bit increases the quality as switching from 16 bit to 24 bit?

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

54

dqa evaluation function
• Linear combination of quality dimensions according to the weights previously identified

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

55

Quality tree v.3

• Values in the evaluation function can be obtained:
– Manually – Semi-automatically (e.g. AHP) – Automatically (?)

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

56

User and provider perspectives
• Quality tree is defines the community • Both user and provider agree on the community and refer to the same quality tree for expressing:
– Quality provided – Quality requested

• In this way we have formalized the “shared knowledge”! • The tree organization also allows:
– The provider to express the quality by technical parameters – The user to express the quality by “user-friendly” parameters

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

57

Defining the Quality of Web service
• A community defines the quality tree for a given class of Web service. E.g.:
– Video on demand – Flight reservation – Weather forecast

• Service providers select a subset of quality attributes stating which is the quality they are able to support • Service users select the relevant quality attributes they consider relevant for their purpose
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 58

End to end quality of Web service
• Web service can be invoked trough a communication channel • Communication channel is often out of control of both service user and service provider • How the network affects the quality of Web services? • How the service provider can ensure a given quality of Web service?

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

59

Quality of Experience
• Represents the quality perceived by the user • Composed by the same quality parameters belonging to the QoS where the values are affected by the QoN, and QoD
QoN QoD

QoS
<framerate, [5fps..30fps]> <colordepth, [2bit..24 bit]> <resolution, [320!200; 800!600]>

Quality rules

QoE
<framerate, [5fps..20fps]> <colordepth, [2bit..16 bit]> <resolution, [800!600]>

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

60

Extending the quality model
• Objects:
– Services – Networks – Devices

• Actors:
– – – – Service providers Network providers Device providers Users

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

61

Objects and actors

Service providers

Network providers

Device providers

Users

Services

networks

devices
62

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

Communities
• A community exists for each object considered in the model:
– A community for each type of service (VoD, hotel reservation, …) – A community for the network – A community for each type of device (PC, PDA, SmartPhone, …)

• Given an object, the related community writes the specifications which define in an unambiguous way such an object • In our work we are interested in the quality specification of the object so the object specification is a set of quality parameters
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 63

Model

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

64

Quality rules
• Quality rules are introduced to explicitly declare how the QoS is affected by the QoN and QoD • Given two quality sets QS1 and QS2 a quality rule is a function qr(QS1, QS2)= QS3, where:
– QS3 is a quality set – QS3 ! QS1

• Example of quality rule qr(QoS, QoN)=QoE:
– framerate * colordepth * resolution = K * bandwidth

• In this way we can state that:
best(frame rate) = best(bandw idth) worst(colordepth) * worst(resolution)

worst(fram erate) =

worst(band width) best(colordepth) * best(resolution)
65

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

Example
VideoOnDemand Service Community

QoSspec =

Network Provider

<framerate, [5fps..40fps]> <colordepth, [2bit..24 bit]> Users Device <resolution, [320!200; 800!600; 1024!768]> Provider Quality rules FR * CD * RES = K * BD

Service Provider Video On Demand Services Object network device
QoE = <framerate, [5fps..20fps]>
<colordepth, [2bit..16 bit]> <resolution, [800!600]>

QoSobj = <framerate, [5fps..30fps]>
<colordepth, [2bit..24 bit]> <resolution, [320!200; 800!600]> FR * CD * RES = K * BD

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

66

Dipartimento di Elettronica ed Informazione Politecnico di Milano International Summer School on “Service-Oriented Architectures” Collegno, Torino, August 29th - September 1st, 2006

Standards & Proposals
Lecture on “Quality of Web services” Pierluigi Plebani

QoWS languages
• • • • SLA: WSLA, WSML, SLAng Class of Service: WSOL, WS-QoS, DAML-QoS General contract: WS-Agreement Policy: WS-Policy

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

68

WS-Policy framework
• General purpose model and corresponding syntax to describe the policies of a Web service • A domain-independent, flexible, and extensible XML—based grammar for expressing service requirements, preferences, and capabilities as policy • A working draft is available on W3C web site • The same working group released the WS-PolicyAttachment specification
– defines two general-purpose mechanisms for associating policies with the subjects to which they apply – defines how these general-purpose mechanisms may be used to associate policies with WSDL and UDDI descriptions

• Current version: v. 1.5 released on July 2006
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 69

WS-Policy document
• A policy is a collection of one or more policy assertions • In a WS-Policy document the policy assertions are organized according to two main operators:
– <All>: all of its child elements be satisfied – <ExactlyOne>: exactly one of its child elements be satisfied

• Each assertion is specific to a particular quality domain (transaction, security, reliable messaging) • WS-Policy framework does not define the nature of the assertions

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

70

WS-Policy Example
“All” scope must valid <wsp:Policy Name=”SimplePolicy" xmlns:wsp="http://schemas.xmlsoap.org/ws/20 06/07/policy/ xmlns:wsat=“…” xmlns:wsrm=“…” xmlns:wsse=“…” Either basic 256 or 3des <wsp:All> algorithm is allowed <wsp:ExactlyOne> <sp:Basic256Rsa15 /> The use of the TX might be supported <sp:TripleDesRsa15 /> <wsp:ExactlyOne> <wsat:Required wsp:Optional=“true"/> <wsrm:IsReliable wsp:Optional=“false”/> </wsp:All> </wsp:Policy> The use of the RM is always supported Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 71 All the assertions in the

Policy assertions
• WS-Policy only defines the grammar for grouping policy assertion • External organizations (communities ?) are in charge of defining domain-specific assertion grammar • So far we have:
– – – – – – WS-SecurityPolicy WS-ReliableMessaging and WS-ReliableMessagingPolicy WS-SecureConversation WS-Security WS-Transactions WS-Trust

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

72

WS-Policy and QoWS
• Quality attributes can be described by policy assertions • We need a grammar for expressing such attributes according to the model presented above • WS-Policy framework can be used to organize and to attach documents specifying the quality of Web services

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

73

WSOL
• Proposed by V. Tosic, K. Patel, and B. Pagurek, Carleton University, Ottawa, CA • Describes classes of services and their relationships • Multiple categories of constraints:
– – – – Functional QoS Access rights Context

• QoS metrics are defined in external ontologies • The following discussion on WSOL is taken by: Tosic, V. “Service Offerings for XML Web Services and Their Management Applications”, Ph.D. dissertation, Carleton University, Ottawa, Canada, August 2004
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 74

Web Service Offerings Language (WSOL) • Formal specification of classes of service and relationships between them • Useful for management of Web Services • XML language (defined using XML Schema) • Compatible with and additional to WSDL 1.1 • WSOL files reference, but do not modify WSDL files (dynamic modification is easier)

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

75

WSOL Language Constructs
• Service Offering (SO)
– constraints (functional, QoS, access rights)
• expressions (Boolean, arithmetic, …)

– statements (prices, penalties, management responsibility) – reusability constructs (extension, constraint groups, inclusion, instantiation of constraint group templates, …)

• Service Offerings Dynamic Relationships (SODRs) - can change during run-time

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

76

WSDL and WSOL: Example
buyStock Web Service buyStock.wsdl
buyStockPortType buyStockOperation buyStockRequest symbol quantity buyStockResponse totalStockBuyingCost … buyStockBinding buyStockPort

buyStock.wsol
ServiceOffering1 accounting party: provider subscription (1 day): 0.5$ Constraint1: preCondition domain: buyStockOperation quantity > 0 Constraint2: QoSConstraint domain: buyStockOperation ResponseTime < 0.5 s ServiceOffering2 …

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

77

WSOL Support for Management of Web Services

• • • •

QoS constraints - performance management Price/penalty statements - accounting Functional constraints - fault discovery Management responsibility statements - one part of configuration management • Access rights - one small aspect of security • Service offerings dynamic relationships (SODRs) - dynamic adaptation of Web Service compositions

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

78

WSOL - Some Related Work
• Comparative analysis • Differentiated service; constraint specification • Custom-made SLAs for Web Services:
– WSLA (Web Service Level Agreement) - IBM – WSML (… Management ...) - HP

• Classes of service for Web Services:
– WS-QoS - Freie Universitaet Berlin

• WS-Policy - IBM/Microsoft/BEA/SAP • DAML-S - Semantic Web community

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

79

Distinctive characteristics of WSOL
• • • • • • • • • Classes of service (service offerings) Various categories of constraints Management statements Service offering dynamic relationships Broad set of reusability constructs Management third parties, accounting parties Relative simplicity Features with lower run-time overhead Support for management of Web Services

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

80

WSOL :Syntax example
<wsol:serviceOfferingname="SO1" service= "buyStock:buyStockService” accountingParty="WSOL-SUPPLIERWS"> ... <wsol:instantiate CGTName="CGT2" resService="..." resPortOrPortType="..." resOperation="..." resCGName="CG5"> <wsol:parmValuename=“maxResTime"> <wsol:numberWithUnitConstant> <wsol:value>30</wsol:value> <wsol:unittype="QoSMeasOntology:millisecond"/> </wsol:numberWithUnitConstant> </wsol:parmValue> </wsol:instantiate> </wsol:serviceOffering>

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

81

WS-Agreement
• General framework for XML specification of agreements and agreement templates
– plus a simple agreement negotiation protocol and run-time agreement monitoring interface

• Intended for multiple domains, not only WSes • WS-Agreement allows use of any language for the actual contained specifications (including QoS), expressions, QoS metrics, ... • This flexibility can produce incompatibility
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 82

Overview of WS-Agreement
• WS-Agreement itself is sort of a frame-work for getting agreements on several different domains. The details of things to be agreed are of course domain-specific and is out of the scope of the WS-Agreement Spec.
– Eg. Job-submission using JSDL is a candidate to be used within the frame-work.

• Relation to other specification
– Relies on WS-Addressing, WS-ResourceProperties, WS-ResourceLifetime and WS-Base Faults
Copyright (C) Global Grid Forum (2005). All Rights Reserved.
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 83

A Two Layered Model
create() Factory Agreement
Ops: terminate(limits) inspect(query) ... SDEs: Terms Status Agreement Layer Related Agrmts

Agreement Layer: Provides a Web servicebased interface that can be used to create, represent and monitor agreements with respect to provisioning of services implemented in the service

inspect() Initiator Responder Manager Factory create()

Service Layer

Application Instance foo() Consumer Provider

The service layer represents the application-specific layer of the service being provided. The class of provided service MAY or MAY NOT be a Web service interface.

Whether Agreement Initiator becomes a Service Consumer or Service Provider (ie Agreement Responder becomes a Service Provider or service Consumer) is completely domain dependent
Copyright (C) Global Grid Forum (2005). All Rights Reserved.
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 84

Agreement Structure
Agreement Name Context Terms Compositor Service Terms Information about the Agreement itself !AgreementInitiator !AgreementResponder !ExpirationTime !!!! Information about the Service Itself !Contents are Domain Dependent !Eg.: Job Description(Program name, Number of nodes etc) Information about Service Levels which should be Guaranteed !QualifyingCondition(An optional condition that must be met (when specified) for a guarantee to be enforced. Eg: Timespan when the requests can be submitted:Weekdays, etc) !ServiceLevelQbjective(Conditionthe condition that must be met to satisfy the guarantee. Eg:Needs 128 MB of memory..) !!!! Copyright (C) Global Grid Forum (2005). All Rights Reserved.
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 85

Guarantee Terms

Typical Agreement Lifecycle
• Four phases in the lifecycle:
– Exploration: a service provides templates describing possible agreement parameters – Creation: Consumer fills in parameters, and makes an offer – Operation: Agreement state available as a ResourceProperty – Termination: Agreement destroyed explicitly or via soft state (termination time)
Copyright (C) Global Grid Forum (2005). All Rights Reserved.
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 86

WSLA: Overview
• QoS language and management infrastructure • Compatible with but not restricted to Wses • Custom-made SLAs that have 3 parts
– Parties (signatory & supporting) and their management operations – Service definitions / service objects (e.g. WSDL operation) and their monitored properties (QoS metrics, SLA parameters, schedules, triggers, …) – Obligations - SLOs and actions guarantees

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

87

WSLA: language details
• SLA parameter - monitored property; contains 1 QoS metric & extra info for exchange of values • QoS metric - defines where & how to measure or calculate; can be reused across SLA parameters • An SLO contains: evaluated Boolean expression (limits values of SLA parameters), obliged party, validity periods, evaluation event or schedule • An action guarantee contains: precondition expression, evaluation event or schedule, action to be taken, obliged party, execution modality • Reusability: SLA templates, metric macros, …

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

88

WSLA: Strenght & Weakeness
• Strengths:
– Detailed and precise description of QoS monitoring and control – Several tools for SLA creation, deployment, and compliance monitoring - where distributed with IBM’s Emerging Toolkit (ETTK) – The most used WS QoS specification language

• Weakness
– QoS metric defined within SLA – Can not be used for QoS-enabled WS selection – High overhead of supporting custom-made SLA

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

89

Dipartimento di Elettronica ed Informazione Politecnico di Milano International Summer School on “Service-Oriented Architectures” Collegno, Torino, August 29th - September 1st, 2006

MAIS Project (Multichannel Adaptive Information Systems)
Lecture on “Quality of Web services” Pierluigi Plebani

MULTI-CHANNEL information systems
• Today the services are usually provided by a singlechannel • We want to provide services through different channels

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

91

Multi-channel ADAPTIVE Information Systems

• The client
– could change the channel, during service exploitation

• The system
– could adapt the service provisioning by changing the provisioning channel – according to quality of service (QoS) parameters

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

92

Multi-channel ADAPTIVE information systems

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

93

Multi-channel ADAPTIVE information systems

QoS Accepted quality threshold

t

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

94

MAIS Project
• Italian research project that aims at studying a set of models and methodologies which allow service provisioning through different channels • Web Site: http://www.mais-project.it • In particular QoS is involved in:
– Service selection – Service composition

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

95

MAIS architecture

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

96

Service selection
• We propose a Web service retrieval mechanism according to:
– Functional requirements:
• Functional similarity

– Non functional requirements:
• Context inclusion • Channel compatibility • Quality satisfiability

• Considering:
– Syntactic aspects – Semantic aspects

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

97

Service selection: Functional similarity
• Semantic analysis based on descriptors • Clustering mechanisms integrated to existing UDDI taxonomies • Three layers service ontology

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

98

Service selection: Context inclusion
• Geographical position constraints • Time is considered as well

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

99

Service selection: Channel compatibility
• Rule based mechanisms • For each channel a set of compatible channels is identified

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

100

Service selection: Quality satisfiability
• It takes into account the end-to-end quality • Quality is highly variable and needs to be monitored

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

101

Service selection: URBE
• URBE (Uddi Registry By Example) is an UDDI extension which:
– Considers non-functional aspects during the service publication – Allows to search eServices similar to a given one

• It is 100% UDDI compliant • It is under development

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

102

Quality-driven Web service composition • Web services can be composed according to a pre-defined business process • Current approaches as well as BPEL and WS—CDL only focus on the functional aspects • About QoS we need:
– The definition of quality of process starting from the quality of the composing Web services – The selection of Web service during the process execution satisfying the quality of process (concretization)

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

103

Service composition: concretization

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

104

Quality driven Web service composition
• In [Zeng et al. 2003] the process is molodel as a state machine • The execution path and the execution plan are defined
– Execution paths are sequences of states – Execution plans are execution paths in which each activity is performed by a service

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

105

WS Selection is an Optimization Problem • Local optimization: select at run time the best candidate service which supports the execution of the running high level activity • Global optimization: identify the set of candidate services which satisfy the end user preferences for the whole application • Quality of Service (QoS) constraints at local and global level

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

106

Quality of a composite Web service
• In [Zeng03] the overall Qos is computed on a “hot” path
– – – – Considering each path at a time Only paths likely to be executed Unfolding cycles Global planning with linear programming solution

• Based on the same approach [Ardagna06] proposes a

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

107

An Example
• Global constraints:
– Price: 6$ – Execution time: 7 sec.

• Solution:
– ws2,1 – ws2,2 – ws2,3

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

108

Problem Formulation

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

109

References 1/4
• [Ardagna06] D. Ardagna, B. Pernici, Dynamic Web Service Composition with QoS Constraints. Accepted for publication on International Journal of Business Process Management. • [Ardagna05] D. Ardagna, B. Pernici, Global and Local QoS Guarantee in Web Service Selection. BPS 2005 Proceedings (Workshop on Business Processes and Services), 32-46. Nancy (Francia), Settembre 2005. • [Comuzzi05] M. Comuzzi and B. Pernici. (2005) An Architecture for Flexible Web Service QoS Negotiation, Proc. 9^th IEEE EDOC Conference, EDOC 2005, Enschede, The Netherlands, pp. 70-79. • [Chung91] L. Chung, Representation and Utilization of Non-functional Requirements for Information System Designe, CAISE, Trondheim 1991.
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 110

References 2/4
• [Chung00] L. Chung, B. Nixon, E.Yu, J. Mylopoulos, Non-functional Requirements in Software Engineering, Kluwer, 2000. • [DeAntonellis06] De Antonellis V., Melchiori M., De Santis L., Mecella M., Mussi E., Pernici B., Plebani P., A layered architecture for flexible e-service invocation, Software Practice & Experience, Feb. 2006. • [Kim05] E. Kim, Y. Lee, “Quality Model for Web service”, OASIS Open Consortium, 2005 • [Mani02] A. Mani and A. Magarajan. Understanding quality of service of your Web services. IBM Developer Works, January 2002. http://www.ibm.com/developerworks/library/wsquality.html.
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 111

References 3/4
• [Marchetti04] C. Marchetti, B. Pernici, P. Plebani, “A Quality Model for Multichannel Adaptive Information Systems”, in WWW2004, New York City, NY, USA, Maggio 2004, pp. 48-54, ACM Press, 2004. • [Mukhi04] N. Mukhi, P. Plebani, T. Mikalsen, and I. Silva-Lepe, “Supporting Policy-driven behaviors in Web services: Experiences and Issues”, In Proceedings of ICSOC2004, New York, NY, USA, Novembre 2004, pp. 322-328, ACM Press, 2004. • [OSullivan05] F. O’Sullivan, D. Edmond, and A.H.M. ter Hofstede, Formal description of non-functional service properties, Tech. Rep. Queensland University of Technology, 2005 • [Pernici03] B. Pernici (ed.), Mobile Information Systems, Springer, 2006.
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 112

References 4/4
• [Plebani05] P. Plebani, "Searching and Invoking e—Services in Multichannel Information Systems", Tesi di dottorato (XVII ciclo), Politecnico di Milano, Maggio, 2005. • [Ran03] S. Ran. A model for web services discovery with QoS. ACM SIGecom Exchanges, 4(1):1–10, Spring 2003. • [Tosic03] V. Tosic, B.Pagurek, K. Patel, “WSOL – A Language for the Formal Specification of Classes of Service for Web Services”. In Proc. of ICWS'03, Las Vegas, USA, June 23-26, 2003, CSREA Press, pp. 375-381, 2003. • [Zeng03] L. Zeng, B. Benatallah, M. Dumas, J. Kalagnanam, Q.Z. Sheng,Quality Driven Web Service Composition, WWW 2003, Budapest.
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 113

Acknowledgments
• I would like to thank the researchers belonging to the Information System group whom provide me some of their works (in alphabetical order):
– – – – Danilo Ardagna Cinzia Cappiello Marco Comuzzi Barbara Pernici

• Part of these slides are also taken or inspired by external presentations:
– V. Tosic, P. Hung, Quality of Service (QoS) Specification and Management for XML Web Services, ICWS 2005 – F. Naumann, K. Sattler, Information Quality: Fundamentals, Techniques, and Use, EDBT Tutorial, Munich, March 28 2006 – G. Raiss, La Qualità del Software, Corso di Tecnologie del Web, Facoltà di Ingegneria Informatica on-line, Politecnico di Milano, 2003.
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006 114

Questions?

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

115

Dipartimento di Elettronica ed Informazione Politecnico di Milano International Summer School on “Service-Oriented Architectures” Collegno, Torino, August 29th - September 1st, 2006

Additional slides on AHP
Lecture on “Quality of Web services” Pierluigi Plebani

Analytical Hierarchy Process (AHP)
• Decision making tecnique developed by L. Saaty (1980) • Suitable for hierarchical structure as the quality tree is • Given a dimension we assign to each sub—dimension a score
– We fill the comparison matrix – The score represents the overall performance with respect to the different parameters

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

117

AHP: example

• Eigenvector of comparison matrix represents the performance of all the parameters <0.150; 0.785; 0.065> • In our scenario eigenvalues are the weights Back to the quality tree

Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006

118

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close