Download presentation
Presentation is loading. Please wait.
Published byAllyson Baldwin Modified over 8 years ago
1
1 WS-Agreement Tutorial Material 2004/09/13 Toshiyuki Nakata NEC Corporation
2
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 25 th 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
3
3 Address Map summary ( Old to be updated) PrefixNamespace wsag http://www.ggf.org/namespaces/ws-agreement (temporary) wsahttp://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/xsdhttp://www.w3.org/2001/XMLSchema xsihttp://www.w3.org/2001/XMLSchema-instance wsdlhttp://schemas.xmlsoap.org/wsdl/
4
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.
5
5 Simple Sequnce-1 Agreement InitiatorAgreement Provider GetResourceProperty("AgreementFactory", "wsag:AgreementFactoryProperties") (templates) CreateAgreement(offer) (EPR to Agreement1) Based on the Template create an offer Decide to agree To the offer Create an agreement Agreement1 At this moment the agreement is Observed. A-I cannot refuse to the Created Agreement Not sure what to Put in the parameters..
6
6 Simple Sequnce-2 Agreement InitiatorAgreement Provider (templates) CreateAgreement(offer) (Return a Fault) Based on the Template create an offer Decide to refuse GetResourceProperty("AgreementFactory", "wsag:AgreementFactoryProperties")
7
7 Organization of Agreement Name: Optional Name Context: Describes ‘meta-data’ of the whole 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 ServiceReferences ServiceProperties Guarantee Terms
8
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??) xs:anyURI xs:DateTime xs:string... Agreement Context Terms Compositor Guarantee Terms PS what is /wsp:Context in page 15? Service Description Terms ServiceReferences ServiceProperties
9
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..
10
10 Term Composite Structure /wsag:Terms/wsag:All (or wsag:OneOrMore, or wsag:ExactlyOne) This is a logical AND (or OR, or XOR) operator of type wsag:TermCompositorType The rest see next page wsag:TermCompositorType | wsag:TermCompositorType | wsag:TermCompositorType | { wsag:ServiceDescriptionTermType | wsag:ServiceReferenceType | wsag:ServicePropertiesType | wsag:GuaranteeTermType } *
11
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:ServiceDescriptionTermType | wsag:ServiceReferenceType | wsag:ServicePropertiesType | wsag:GuaranteeTermType } *
12
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 … ServiceReferences ServiceProperties
13
13 Example of a Service description Term /usr/local/job1 32 200 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.
14
14 Service reference: To be added provides means for an agreement to simply refer to the existing service instance /wsag:ServiceReference/{xsd:any} This element is a domain-specific representation of a reference to a service. Examples: An EPR in an agreement on the performance of an existing Web service Metadata identifying a class of packet headers in an agreement on network Quality of Service). <wsag:ServiceDescriptionTerm wsag:Name="WSDLInterface" wsag:ServiceName="BankingService"> http://www.foo.org/interfaces/bank.wsdl <wsag:ServiceDescriptionTerm wsag:Name="WebAccess" wsag:ServiceName="BankingService"> http://www.foo.org/bank Extracted from Page 58 Should change ServiceDescriptionTerm To ServiceReference?? …
15
15 Service Properties ServiceProperties are used to define measurable and exposed properties associated with a service, such as response time and throughput. The properties are used in expressing service level objectives. The key element is the “variable set” shown in the second box. wsag:VariableSetType xsd:anyType //wsag:AgreementOffer/wsag:Terms/wsag:All/wsag:ServiceDefi nitionTerm/job:executable /usr/local/job1 32 200 Location pointed out by Is as pointed by the red arrow, however The concept of numberofCPUs is as pointed by the blue arrow. How do we explain this? Example
16
16 Guarantee Term define the assurance on service quality, associated with the service described by the service definition terms. Is composed of ServiceScope: the list of services this guarantee applies to. QualifyingCondition: an optional condition that must be met (when specified) for a guarantee to be enforced. ServiceLevelObjective: an assertion expressed over service descriptions. BusinessValueList: one or more business values associated with this objective. Agreement Context Terms Compositor Service Description Terms Guarantee Terms ServiceReferences ServiceProperties … * … ? … I deleted the variables entry (in line 1 page 22) As I assume that it is a leftover from time Before ServiceProperties were Introduced Typo in spec (P.22)
17
17 Service Scopes, QualifyingCondition and ServiceLevelObjective Service Scopes a list of service names referring to the respective wsag:ServiceName attributes of one or more of the service description terms in this agreement. QualifyingCondition and ServiceLevelObjective are expressed as assertions over service attributes and/or external factors such as date and time. The type of both elements is xsd:anyType as a completely open content that can be extended with assertion languages which MAY be designed independently of the WS-Agreement specification but which MUST address the requirements of the particular domain of application of the agreement. A1 B1
18
18 Business Value.. xsd:integer ? ? … * wsag:importance Relative terms, such as high, low, medium, etc. can be used to prioritize across many guarantees. However, to provide stronger semantics and easier comparison of this value, this is expressed using an integer. What is the range? 0..10? 0..100? Higher number means Higher Priority? wsag:CustomBusinessValue: Can be added and is completely domain soecific
19
19 Penalty and Rewards AssesmentInterval This element defines the interval over which a penalty is assessed. TimeInterval This element when present defines the assessment interval as a duration. wsag:Count This element when present defines the assessment interval as a service specific count, such as number of invocation. ValueUnit This element defines the unit for assessing penalty, such as USD. This is an optional element since in some cases a default unit MAY be assumed. ValueExpr This element defines the assessment amount, which can be an integer, a float or an arbitrary domain-specific expression. xsd:duration | xsd:positiveInteger xsd:string ? xsd:any Alternatively, meeting each objective generates a reward for a service provider. The value expression for reward is similar to that of penalty.
20
20 Preference “Preference” is used to describe a list of fine-granularity business values for different alternatives, where satisfying each alternative results in a different business value. ServiceTermReference This element can appear multiple times each ServiceTermReference references a ServiceTerm representing an alternative for meeting service level objective. Corresponding, utility (specified below) specifies utility in meeting this objective. Utility This element can appear multiple times, one corresponding to each ServiceTermReference. xsd:string * xsd:float * ComputeJob1 numberOfCPUsHigh numberOfCPUsLow numberOfCPUsHigh 0.8 numberOfCPUsLow 0.5 How do we map Utility to ServiceTermReference? What is the Definition of ServiceTerm? Example from Appendix3 in Page 56. Where is SeviceLevelObjective defined in the spec?
21
21 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
22
22 Agreement Constraint の構成 任意個の offer Item と Constraint からなる。 Offer Item :名前、指定する Item の場所、制限値で指定 する … ? … * Agreement Template Conte xt Terms Compositor Agreement Creation Constraints Service Description Terms Guarantee Terms <wsag:Item name=”xsd:NCName” location=”xsd:string”> xsd:simpleRestrictionModel ? Constraint : 任意の制限条件が記述可能 Xquery を使 うことも …
23
23 PortType EPR1 ?... 生成時の Input EPR2 結果 テンプレートを元に指定された offer
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.