+ All Categories
Home > Documents > WS-Agreement Tutorial Material

WS-Agreement Tutorial Material

Date post: 05-Feb-2016
Category:
Upload: munin
View: 58 times
Download: 0 times
Share this document with a friend
Description:
WS-Agreement Tutorial Material. 2004/09/13 Toshiyuki Nakata NEC Corporation. Recent Status. Split the spec into two parts Basic Specification for agreement named Web Services Agreement Specification and Advanced Web Services Agreement Negotiation Specification (WS-AgreementNegotiation) - PowerPoint PPT Presentation
Popular Tags:
21
1 WS-Agreement Tutorial Material 2004/09/13 Toshiyuki Nakata NEC Corporation
Transcript
Page 1: WS-Agreement Tutorial Material

1

WS-Agreement Tutorial Material

2004/09/13

Toshiyuki Nakata

NEC Corporation

Page 2: WS-Agreement Tutorial Material

2

Recent Status Split the spec into two parts

Basic Specification for agreement named Web Services Agreement Specification and Advanced Web Services Agreement Negotiation Specification (WS-AgreementNegotiation)

Graap-WG decided to put priority on discussing WS-Agreement first.

On 25th August WS-Agreement specification was submitted to the GGF editor, on track to enter public comment.

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 Also Relies on WS-ResourceProperties

Page 3: WS-Agreement Tutorial Material

3

Address Map summary ( Old to be updated)

Prefix Namespace

wsag http://www.ggf.org/namespaces/ws-agreement (temporary)

wsa http://schemas.xmlsoap.org/ws/2003/03/addressing

wsbf http://www.ibm.com/xmlns/stdwip/web-services/WS-BaseFaults

wssg http://www.ibm.com/xmlns/stdwip/web-services/WS-ServiceGroup

wsrp http://www.ibm.com/xmlns/stdwip/web-services/WS-ResourceProperties

xs/xsd http://www.w3.org/2001/XMLSchema

xsi http://www.w3.org/2001/XMLSchema-instance

wsdl http://schemas.xmlsoap.org/wsdl/

Page 4: WS-Agreement Tutorial Material

4

Two layer Model

The service layer represents the application-specific layer of business service being provided.

The agreement layer provides a Web service-based interface that can be used to represent and monitor agreements with respect to provisioning of services implemented in the service layer.

An agreement port type, without any operation other than getters for state and metadata of the agreement such as the terms, the context, etc….

An agreement factory exposes an operation for creating an agreement out of an input set of terms. It returns an EPR to an Agreement service. The agreement factory also exposes resource properties such as the templates of offers acceptable for creation of an agreement.

Consumer Provider

create()

foo()Application Instance

Factory

Manager

create()Factory Agreement

Ops:terminate(limits)inspect(query)...

SDEs:

Terms RelatedStatusAgrmts

inspect()

Agreement Layer

Service Layer

Consumer Provider

create()

foo()Application Instance

Factory

Manager

create()Factory Agreement

Ops:terminate(limits)inspect(query)...

SDEs:

Terms RelatedStatusAgrmts

inspect()

Agreement Layer

Service Layer

Page 5: WS-Agreement Tutorial Material

5

Simple Sequnce-1

Agreement Initiator Agreement Provider

Query(wsag:template)

(templates)

CreateAgreement(offer)

(EPR to Agreement1)

Based on the Template create an offer

Decide to agreeTo the offerCreate an agreement

Agreement1At this moment the agreement isObserved. A-I cannot refuse to the Created Agreement

Page 6: WS-Agreement Tutorial Material

6

Simple Sequnce-2

Agreement Initiator Agreement Provider

Query(wsag:template)

(templates)

CreateAgreement(offer)

(Return a Fault)

Based on the Template create an offer

Decide to refuse

Page 7: WS-Agreement Tutorial Material

7

Organization of Agreement

Name: Optional Name Context: Describes ‘meta-data’ of the w

hole Agreement Parites to Agreement Agreement Life-time Template Name Related Agreements

Agreementterms Term Compositor Structure:A scheme to

compose an AND/OR/XOR relationship of the following two elements

Service Description Term: Information needed to instantiate or identify a service to which this agreement pertains

Guarantee Term:Service Levels that the parties are agreeing to.

Agreement Name

Context

Terms Compositor

Service Description Terms

Guarantee Terms

Page 8: WS-Agreement Tutorial Material

8

Agreement Context

/wsag:AgreementContext/AgreementInitiator Agreement Initiator : ( Requestor ) Can be an URI or wsa:EndpointReference( EP R)

/wsag:AgreementContext/AgreementProvider Provider Can be an URI or wsa:EndpointReference( EP R)

/wsag:AgreementContext/ExpirationTime Specifies the time at which this agreement is no longer valid.

/wsag:AgreementContext/TemplateName Specifies the name of the template from which this agreement is created.

/wsag:AgreementContext/RelatedAgreements This element defines a list of related agreements: (Example??)

<wsag:AgreementContext> <wsag:AgreementInitiator>xs:anyURI</wsag:AgreementInitiator> <wsag:AgreementProvider>xs:anyURI</wsag:AgreementProvider> <wsag:ExpirationTime>xs:DateTime</wsag:ExpirationTime> <wsag:TemplateName>xs:string</wsag:templateName> <wsag:RelatedAgreements>...</wsag:RelatedAgreements></wsag:AgreementContext>

Agreement

Context

Terms Compositor

Service Description Terms

Guarantee Terms

PS what is /wsp:Context in page 15?

Page 9: WS-Agreement Tutorial Material

9

Example of usage of related Agreements:

Would really like to embed something like one shown below, but I am not confident whether this is valid or not..

ASP Provider

1)Agreement Offer

Site A

Site B

Site C

Site D

Site E

<wsag:context><wsag:RelatedAgreements>

<wsag:RelatedAgreement wsag:Name=“basic”>(Contents/pointers for offer to agreement1)(cf.nextpage)

<wsag:AgreementEPR><empty>

</wsag:AgreementEPR></wsag:RelatedAgreement><wsag:RelatedAgreement “ wsag:Name=“ext1”>

(Contents / pointers for offer to agreement2)(cf. nex page)<wsag:AgreementEPR>

<empty></wsag:AgreementEPR>

</wsag:RelatedAgreement></wsag:RelatedAgreements></wsag:context>

2)Agr

eem

ent O

ffer

Agreement1

Accept & Create

3)EPR of A

greement1

2)Agreement Offer

3)Fault4)Agreement Offer

Agreement2

Accept & Create

EPR of Agreement12

Agreement3 <wsag:RelatedAgreements><wsag:RelatedAgreement >(Contents/pointers for offer to agreement1)(cf. next page)<wsag:AgreementEPR>

<EPR of Agreement1></wsag:AgreementEPR>

</wsag:RelatedAgreement><wsag:RelatedAgreement >(Contents/pointers for offer to agreement2) (cf. next page)

<wsag:AgreementEPR><EPR of Agreement2 >

</wsag:AgreementEPR> </wsag:RelatedAgreement>

</wsag:AgreementEPR> </wsag:RelatedAgreements>

Create 5)EPR of Agreement3

GGJM

Page 10: WS-Agreement Tutorial Material

10

Term Composite Structure

/wsag:Terms/wsag:All (or wsag:OneOrMore, or wsag:ExactlyOne) This is a logical AND (or OR, o

r XOR) operator of type wsag:TermCompositorType

The rest see next page

<wsag:Terms> <wsag:All> wsag:TermCompositorType </wsag:All> |

<wsag:OneOrMore> wsag:TermCompositorType </wsag:OneOrMore> | <wsag:ExactlyOne> wsag:TermCompositorType </wsag:ExactlyOne> | {<wsag:ServiceDescriptionTerm> wsag:ServiceDescriptionTermT

ype </wsag:ServiceDescriptionTer

m> | <wsag:ServiceReference> wsag:ServiceReferenceType </wsag:ServiceReference> | <wsag:ServiceProperties> wsag:ServicePropertiesType </wsag:ServiceProperties> | <wsag:GuaranteeTerm> wsag:GuaranteeTermType </wsag:GuaranteeTerm> } * </wsag:Terms>

Page 11: WS-Agreement Tutorial Material

11

Individual types Service description terms

are a fundamental component of an agreement: the agreement is about the service(s) - existing or not - described by the service description terms.

ServiceReference provides means for an agreement to

simply refer to the existing service instance

ServiceProperties are used to define measurable and

exposed properties associated with a service, such as response time and throughput.

GuaranteeTerm define the assurance on service quality,

associated with the service described by the service definition terms.

{ <wsag:ServiceDescriptionTe

rm> wsag:ServiceDescriptionTer

mType </wsag:ServiceDescriptionT

erm> | <wsag:ServiceReference> wsag:ServiceReferenceType </wsag:ServiceReference> | <wsag:ServiceProperties> wsag:ServicePropertiesType </wsag:ServiceProperties> | <wsag:GuaranteeTerm> wsag:GuaranteeTermType </wsag:GuaranteeTerm> } *

Page 12: WS-Agreement Tutorial Material

12

Service Description Terms

Service description terms (SDTs) are a fundamental component of an agreement: the agreement is about the service(s) - existing or not - described by the service description terms.

May be domain specific Contains three parts

• The name of the ServiceDescriptionTerm.• The name of the service being described partially or fully by the

domain-specific part of this service description term. This allows for semantic grouping of service description terms that may not be structurally grouped together in the agreement.

• A domain-specific description of the offered or required functionality. This element MAY completely describe the service it is about, or it MAY do so only partially.

Agreement

Context

Terms Compositor

Service Description Terms

Guarantee Terms

<wsag:ServiceDescriptionTerm wsag:Name=”xs:NCName” wsag:ServiceName=”xs:NCName”> <xsd:any> … </xsd:any></wsag:ServiceDescriptionTerm>

Page 13: WS-Agreement Tutorial Material

13

Example of a Service description Term

<wsag:All>    <wsag:ServiceDescriptionTerm wsag:Name=“executable1" wsag:Servi

ceName=“a1> <job:executable> /usr/local/job1 </job:executable> </wsag:ServiceDescriptionTerm> <wsag:ServiceDescriptionTerm wsag:Name="numberOfCPUs1" wsag:Ser

viceName=“a1"> <job:numberOfCPUs>32</job:numberOfCPUs> </wsag:ServiceDescriptionTerm> <wsag:ServiceDescriptionTerm wsag:Name="memoryPerCPU1“ wsag:Ser

viceName=“a1"> <job:realMemorySize>200</job:realMemorySize> </wsag:ServiceDescriptionTerm> </wsag:All>

Specifies a job whose executable is /usr/local/job1 with 32 CPUs and Memory size of 200 (MB?)Please note the usage of Service Name to aggregate several SDT’s.

Page 14: WS-Agreement Tutorial Material

14

Service reference: To be added

Any good examples?

<wsag:All> <wsag:ServiceDescriptionTerm wsag:Name="WSDLInterface" wsag:ServiceName="BankingService">

<sdtc:WSDLReference> http://www.foo.org/interfaces/bank.wsdl </sdtc:WSDLReference>

</wsag:ServiceDescriptionTerm><wsag:ServiceDescriptionTerm

wsag:Name="WebAccess" wsag:ServiceName="BankingService">

<sdtc:URLPrefixDefinition> http://www.foo.org/bank </sdtc:URLPrefixDefinition> </wsag:ServiceDescriptionTerm></wsag:All>

Extracted from Page 58 Should change ServiceDescriptionTerm To ServiceReference??

Page 15: WS-Agreement Tutorial Material

15

Service Properties

Sorry ran out of time will translate/update the rest tomorrow.

Page 16: WS-Agreement Tutorial Material

16

変数宣言:

<wsag:Variable name=”xsd:NCName” metric=”xsd:QName”> …</wsag:Variable>

例えば

<wsag:Variable name=”numberOfNodes”> /wsag:Agreement/job:JobDescription</wsag:Variable>

Page 17: WS-Agreement Tutorial Material

17

Guarantee Term

サービス品質の規定に関する記述 最小のCPU数、メモリ容量、実行時間保証する終了時間

など 以下の 3 項からなるものの繰り返し

QualifyingCondition: サービスレベルを保障するための前提条件

• 例:サービスを提供する時間(月ー金の定時内) ServiceLevelObjective: 満たすべきサービスレベル

• 応答時間何秒以内とか BusinessValueList: 保障に関するより高度なビジネスレベ

ルの項目• 費用• 罰則規定 など

Agreement

Context

Terms Compositor

Service Description Terms

Guarantee Terms

<wsag:GuaranteeTerm> <wsag:QualityingCondition>…</wsag:QualifyingCondition>? <wsag:ServiceLevelObjective>…</wsag:ServiceLevelObjective> <wsag:BusinessValueList>…</wsag:BusinessValueList></wsag:GuaranteeTerm>

Page 18: WS-Agreement Tutorial Material

18

Business Value..<wsag:BusinessValueList><wsag:Importance> xsd:integer </wsag:Importance

>?<wsag:Penalty> </wsag:Penalty>? <wsag:Reward> </wsag:Reward>? <wsag:BusinessValue> … </wsag:BusinessValue>

*</wsag:BusinessValue>

<wsag:Penalty> <wsag:AssesmentInterval> <wsag:TimeInterval>xsd:duration</wsag:TimeInterval> | <wsag:Count>xsd:positiveInteger</wsag:Count> </wsag:AssesmentInterval> <wsag:ValueUnit>xsd:string</wsag:ValueUnit>? <wsag:ValueExpr>xsd:any</wsag:ValueExpr></wsag:Penalty>

Page 19: WS-Agreement Tutorial Material

19

Agreement Template

Agreementを生成するためにクライエントは Agreement Factoryに、Agreement Templateに基づいたAgreement生成提案を行う。

Agreement TemplateはAgreement Factoryにより予め、周知されている。

Agreement templateは Agreementと同じような構造を有するが、更に Agreement Creation Constraintを付加して、合意を得るための条件を指定することが可能である。

Agreement Template

Context

Terms Compositor

Agreement Creation Constraints

Service Description Terms

Guarantee Terms

Page 20: WS-Agreement Tutorial Material

20

Agreement Constraintの構成

任意個の offer Itemと Constraintからなる。

Offer Item :名前、指定する Itemの場所、制限値で指定する

<wsag:template>…

<wsag:CreationConstraints> ? <wsag:Item>…</wsag:Item> * <wsag:Constraint>…</wsag:Constraint> * </wsag:CreationConstraints>

Agreement Template

Context

Terms Compositor

Agreement Creation Constraints

Service Description Terms

Guarantee Terms

<wsag:Item name=”xsd:NCName” location=”xsd:string”> <restriction> xsd:simpleRestrictionModel <restriction> ? </wsag:Item>

Constraint : 任意の制限条件が記述可能  Xquery を使うことも

<wsag:Constraint/> <wsag:XQueryXConstraint> <wsag:Expression> … </wsag:Expression> </wsag:XQueryXConstraint>

Page 21: WS-Agreement Tutorial Material

21

PortType

<wsag:createAgreementInput> <initiatorAgreementEPR> EPR1 </initiatorAgreementEPR> ? <offer> ... </offer> </wsag:createAgreementInput>

生成時の Input

<wsag:createAgreementResponse> <createdAgreementEPR> EPR2 </createdAgreementEPR> </wsag:createAgreementResponse>

結果

テンプレートを元に指定された offer


Recommended