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
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
15
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
Quality of Web service 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
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
implement
Web Service
Deployment-time
deploy
Application server
publish
support
require
manage
Server Quality
provider
Invocable WS
developer attach Service Quality
generate
UDDI
Supported Quality
Quality matching
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
retrieve UDDI Invocable WS
consumer define
support Quality matching
Requested Quality
Supported Quality
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
Capacity
Completeness
Supported Standard
Cost
Authorization Confidentiality
Accuracy
Data Encryption
Flexibility B
A A influences 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
Security Cost
Time
Response Time Throughput
User-friendliness
Space
Process Management Time
Main memory
Secondary storage
Confidentiality
Availability
Integrity
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 =
– can be directly measured or estimated
• Derived – dqa = 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
QoS
QoD
Quality rules
QoE
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
Services
networks
devices
Users
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006
62
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)
Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006
65
Example VideoOnDemand Service Community
QoSspec =
Network Provider
Users Provider Quality rules FR * CD * RES = K * BD
Service Provider Video On Demand Services Object
network
QoSobj = FR * CD * RES = K * BD
device QoE =
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 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 the assertions in the
“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”/> The use of the RM is always supported Lecture on Quality of Web services - Summer School on Service Oriented Architectures - Sept. 1st, 2006
71
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:unittype="QoSMeasOntology:millisecond"/>
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
inspect() Initiator
Agreement Ops: terminate(limits) inspect(query) ... SDEs: Terms
Manager Responder
Status
Agreement Layer Related Agrmts
Factory create() Service Layer
Application Instance foo() Consumer
Provider
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
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 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)
Agreement Name Context Terms Compositor
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..) !!!!
Service Terms
Guarantee Terms
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
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
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
89
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
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
115
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