managing web service qualityisr.uci.edu/events/dist-speakers07-08/slides/irvine-15-02-08.pdfadmin...

13
1 Managing Web Service Quality James Skene, Franco Raimondi and Wolfgang Emmerich London Software Systems Dept. of Computer Science University College London http://sse.cs.ucl.ac.uk 2 Setting the scene “Deutsche Bank AG has agreed to outsource two internal business processes to Accenture Ltd. as part of its ambitious program to cut costs and increase efficiency by moving non-core operations to external service providers. Under the service agreement announced Thursday, Deutsche Bank will outsource its worldwide corporate purchasing and accounts payable services to Accenture. The global consultancy and software development group, located in Hamilton, Bermuda, will provide IT systems and tools to manage the bank's entire procurement- to-payment process.” [Source: IDG, 30 Jan 2004]

Upload: others

Post on 08-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Managing Web Service Qualityisr.uci.edu/events/dist-speakers07-08/slides/Irvine-15-02-08.pdfadmin admin. 8 15 Service observation domain model Party Evidence +date ServiceUsageRecord

1

ManagingWeb Service Quality

James Skene, Franco Raimondi and Wolfgang EmmerichLondon Software SystemsDept. of Computer ScienceUniversity College London

http://sse.cs.ucl.ac.uk

2

Setting the scene

“Deutsche Bank AG has agreed tooutsource two internal businessprocesses to Accenture Ltd. as part ofits ambitious program to cut costs andincrease efficiency by moving non-coreoperations to external service providers.Under the service agreementannounced Thursday, Deutsche Bankwill outsource its worldwide corporatepurchasing and accounts payableservices to Accenture. The globalconsultancy and software developmentgroup, located in Hamilton, Bermuda,will provide IT systems and tools tomanage the bank's entire procurement-to-payment process.” [Source: IDG, 30 Jan 2004]

Page 2: Managing Web Service Qualityisr.uci.edu/events/dist-speakers07-08/slides/Irvine-15-02-08.pdfadmin admin. 8 15 Service observation domain model Party Evidence +date ServiceUsageRecord

2

3

Setting the scene

Tracking

FundsTransfer

Order

AccountsReceivable

AccountsPayable

PurchaseRequestServer

PurchaseRequest

Client

4

Web Service Quality

• Current SOA standards mainlyfocus on functionality

• But organizations depend onquality of services provided by3rd parties

• Their service needs to bedelivered with agreed quality– Availability / Timeliness– Reliability– Confidentiality– Integrity, …

Page 3: Managing Web Service Qualityisr.uci.edu/events/dist-speakers07-08/slides/Irvine-15-02-08.pdfadmin admin. 8 15 Service observation domain model Party Evidence +date ServiceUsageRecord

3

5

Quality Management

• Testing web services alone isinsufficient because service qualitydetermined by– Resource provision available in the

run-time environment– Service usage profile

• For web services, we need to– have quality norms and standards– know how to measure quality– have continuous quality monitoring– use quality criteria for service selection

• These need to be reified at run-time

6

Managing quality in WS Architectures

PurchaseRequestServer

PurchaseRequest

Client

ClientMonitor

ServerMonitor

SLAviolations

ComponentMessage passingGenerationFeedback Loop

SLA

Page 4: Managing Web Service Qualityisr.uci.edu/events/dist-speakers07-08/slides/Irvine-15-02-08.pdfadmin admin. 8 15 Service observation domain model Party Evidence +date ServiceUsageRecord

4

7

Service Level Agreements

• Associate penalties to aberrantservice behaviour

• Are often part of service deliverycontracts

• Mitigate risk• Previously mostly written in natural

language– Ambiguous– Incomplete– Inconsistent

• We focus on SLAs in formallanguages

8

Service Level Agreements

• Determine required andprovided service quality

• Written in terms of– Non-functional requirements– Usage constraints

• Often annexed to a serviceprovision contract

• Bi-lateral• Bi-directional

Page 5: Managing Web Service Qualityisr.uci.edu/events/dist-speakers07-08/slides/Irvine-15-02-08.pdfadmin admin. 8 15 Service observation domain model Party Evidence +date ServiceUsageRecord

5

9

SLA content

SLAs determine conditions, e.g.• Reliability• Timeliness• Availability• Throughput• BackupMay include terms determining• Monitorability• Penalties• Administration• Schedules of applicability

10

SLA Language Engineering

• Aim: defining precise andunambiguous SLAs language

• Use OMG’s Meta ObjectFacility (MOF) to define– Abstract syntax of SLA language– Service observation domain

model• Define semantics of SLA langu-

age in model denotational style– Behavioural constraints between

syntax and domain model

SLA Abstract Syntax

Service ObservationDomain Model

Behavioural constraints

See: J. Skene, D.D. Lamanna and W. Emmerich: Precise Service Level Agreements. Proc. ICSE 04

Page 6: Managing Web Service Qualityisr.uci.edu/events/dist-speakers07-08/slides/Irvine-15-02-08.pdfadmin admin. 8 15 Service observation domain model Party Evidence +date ServiceUsageRecord

6

11

Syntax definition for web service SLAs in MOFServiceTerms

ReliabilityClause+maximumLatency+reliability+window

InputThroughputClause

+inputWindow+concurrency

FailureModeDefinition+kind+maximumLatency

OperationDefinition

ServiceConditions

SLA ServiceDefinition

PenaltyDefinition

1..* operations

penalty

terms

conditions

penalties

failureModes

operations

services1..*

1..*

1..*

1..*

reliability

inputThroughput

1..*

1..*See: http://uclslang.sourceforge.net

conditions

sLA

12

SLA in OMG Human readable Textual Notation

SLA() { terms = ServiceTerms[terms]() { penalties = { ::slang::PenaltyDefinition[p1]("Pay client 100 dollars.") } services = ServiceDefinition[service](Notification port") operations = { OperationDefinition[o1]("notify") { } OperationDefinition[o2](”subscribe") { } } failureModes = { FailureModeDefinition[f1]() { kind = OPERATION; operations = {OperationDefinition[o1]} maximumLatency = ::types::Duration(5, S) } } }

Page 7: Managing Web Service Qualityisr.uci.edu/events/dist-speakers07-08/slides/Irvine-15-02-08.pdfadmin admin. 8 15 Service observation domain model Party Evidence +date ServiceUsageRecord

7

13

SLA in HUTN (cont’d) conditions = ServiceConditions[conditions]() { inputThroughput = { InputThroughputClause[iTC1]() { inputWindow = ::types::Duration(1, min) inputConcurrency = 10 operation = {OperationDefinition[o1]} } } reliability = { ReliabilityClause[rC1]() { failureModes = {FailureModeDefinition[f1]} // When > 5 secs reliability = ::types::Percentage(0.9) window = ::types::Duration(1, min) penalties = { UnreliabilityPenaltyClause() { penalty = ::slang::PenaltyDefinition[p1] } } } } }

14

Further SLA syntax: Administration

SLA Administration

ViolationCalculation

Reconciliation Account

Party

Violation

Evidence+date

calculation

admin

violation

reconciliation agreed

owner

evidence

1..* 1..*

ServiceTerms ClientDefinitionviolator

clientDefinitionterms

party

ServerDefinitionserverDefinition

party

sLA

sLA

admin

admin

Page 8: Managing Web Service Qualityisr.uci.edu/events/dist-speakers07-08/slides/Irvine-15-02-08.pdfadmin admin. 8 15 Service observation domain model Party Evidence +date ServiceUsageRecord

8

15

Service observation domain modelParty

Evidence

+date

ServiceUsageRecord+duration+outcome:Outcome

Report

ReportRecord

+sent+received

Outcome+SUCEEDED:int=1+FAILED:int=2+NO_RESPONSE:int=3+DATA_AGED:int=4

DefectReport+defectKind

DefectKind+PARAMETER:int=1+OPERATION:int=2+SERVICE:int=3+DATA:int=4

OperationDefinition

owner

evidence

operation

1..*

1..*

records

report

measurement

reportdefectEvidence

16

Semantics of input-throughput clause

class InputThroughputClause {invariant { conditions.sLA.admin->forAll( a : ::services::Administration | violationFirstUsage(a.reconciliation.agreed)->forAll( first : ::services::es::ServiceUsageRecord | a.calculation.violation->one( v : ::services::Violation | v.violator = conditions.sLA.terms.clientDefinition.party and v.violatedClause = self and v.penalty = penalty and v.evidence = violationEvidence(a.reconciliation.agreed, first) ) ) )}

Page 9: Managing Web Service Qualityisr.uci.edu/events/dist-speakers07-08/slides/Irvine-15-02-08.pdfadmin admin. 8 15 Service observation domain model Party Evidence +date ServiceUsageRecord

9

17

Reminder

PurchaseRequestServer

PurchaseRequest

Client

SLA

ServerMonitor

ClientMonitor

SLAviolations

18

Generating SLA Monitors

• SLAs machine readable• MOF gives standard

representation• Idea: Generate monitoring

component from SLA• Given service observation

data monitor decideswhether actual servicelevel complies with SLA

• Generator written using– Java Metadata Interface

(Sun)– Eclipse Platform

Page 10: Managing Web Service Qualityisr.uci.edu/events/dist-speakers07-08/slides/Irvine-15-02-08.pdfadmin admin. 8 15 Service observation domain model Party Evidence +date ServiceUsageRecord

10

19

Key idea

• SLAs concern many timeliness constraints:– Latency– Input and Output Throughput– Reliability– Availability

• Events can be intercepted and time stamped withoutchanging web service requester and provider

• Monitors can be expressed using timed automata• Detection of SLA violations reduces to acceptance of

timed words that consist of timed events

20

Timed Automata

• A time sequence is a sequence of real numbersτ=τ1τ2…τn such that τi>τi-1.

• A timed word is a pair (w,τ) where w is a word oflength n and t is a time sequence of length n

• Timed automata extend finite automata in thefollowing way:– They introduce a set of clocks– They allow definition of time constraints over transitions– They allow to reset clocks.

• Timed automata accept timed words and recognizetimed languages.

See: Alur & Dill, 1994: A Theory of Timed Automata. Theoretical Computer Science 126(2):183-253

Page 11: Managing Web Service Qualityisr.uci.edu/events/dist-speakers07-08/slides/Irvine-15-02-08.pdfadmin admin. 8 15 Service observation domain model Party Evidence +date ServiceUsageRecord

11

21

Expressing Web Service Reliability Constraints

• Negate constraint (i.e. timed automaton acceptstimed word that indicates non-reliability)

• In this example, no more than one failure occurrence(fm) per minute.

• Online monitoring per transition is efficient (constantin number of outgoing transitions per state).

See: F. Raimondi, J. Skene, W. Emmerich & B. Wozna: A Methodology for On-line Monitoring Non-Functional Requirements Specifications of Web Services. Proc. PROVECS Workshopat Tools Europe. Zurich. 2007.

22

On-line monitoring Architecture

Client Provider

inte

rcep

tor

SLAMonitor

SLA Violation Evidence

SLA TimedAutomata

Page 12: Managing Web Service Qualityisr.uci.edu/events/dist-speakers07-08/slides/Irvine-15-02-08.pdfadmin admin. 8 15 Service observation domain model Party Evidence +date ServiceUsageRecord

12

23

Performance

24

Summary

PurchaseRequestServer

PurchaseRequest

Client

SLA

ServerMonitor

ClientMonitor

SLAviolations

Page 13: Managing Web Service Qualityisr.uci.edu/events/dist-speakers07-08/slides/Irvine-15-02-08.pdfadmin admin. 8 15 Service observation domain model Party Evidence +date ServiceUsageRecord

13

25

Ongoing Work

• SLAs with Virtualization:• SLAs and Orchestration:

– SLAs with service providers– A service composition

What SLA can be offeredfor the composite service?