WS-Agreement Port Types and Operations 03/2004

Slides:



Advertisements
Similar presentations
© 2006 Open Grid Forum Grid Resource Allocation Agreement Protocol GRAAP-WG working session 2 Wenesday, 17 September, 2008 Singapore.
Advertisements

Service Description: WSDL COMP6017 Topics on Web Services Dr Nicholas Gibbins –
WS – Security Policy Prabath Siriwardena Director, Security Architecture.
FIPA Interaction Protocol. Request Interaction Protocol Summary –Request Interaction Protocol allows one agent to request another to perform some action.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Lesson 3: Advanced Collaboration Unit 2: Advanced Word 2007: Business Communications.
Visual Basic: An Object Oriented Approach 2 – Designing Software Systems.
Overview UML Extensions for Agents UML UML Agent UML (AUML) Agent UML (AUML) Agent Interaction Protocols Agent Interaction Protocols Richer Role Specification.
OASIS Reference Model for Service Oriented Architecture 1.0
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
Optimistic Synchronous Multi-Party Contract Signing N. Asokan, Baum-Waidner, M. Schunter, M. Waidner Presented By Uday Nayak Advisor: Chris Lynch.
 2006 Pearson Education, Inc. All rights reserved Introduction to Classes and Objects.
Modelling classes Drawing a Class Diagram. Class diagram First pick the classes –Choose relevant nouns, which have attributes and operations. Find the.
E-Science NorthWest Jon MacLaren Monday 18 th to Friday 22 nd October 2004 GridPrimer Training Course University of Manchester GridPrimer An Introduction.
Java Methods By J. W. Rider. Java Methods Modularity Declaring methods –Header, signature, prototype Static Void Local variables –this Return Reentrancy.
UML Collaboration Diagram. Recap System Sequence Diagrams (SSD) UML for SSD Examples.
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
(Business) Process Centric Exchanges
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.
Distributed Information Retrieval Using a Multi-Agent System and The Role of Logic Programming.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 7: BPEL Some notes selected from.
SCA Bindings Simon Holdsworth Piotr Przybylski. Agenda n SCA Bindings Overview l Bindings TC Charter n Bindings l Web Services Binding l JMS Binding l.
ISCSI Extensions for RDMA (iSER) draft-ko-iwarp-iser-02 Mike Ko IBM August 2, 2004.
Topics AliasesSubprograms Generics & Configurations.
Restructuring Proposal for TOSCA Files 1. Goals Separation of concerns: only expose what is needed to different roles in the creation of TOSCA templates.
Interfaces About Interfaces Interfaces and abstract classes provide more structured way to separate interface from implementation
1 Middleware and future telecom ’platform’ By Lill Kristiansen, ntnu.
© 2004 IBM Corporation WS-ResourceFramework Service Groups Tom Maguire.
Chapter 7 Classes and Methods III: Static Methods and Variables Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition)
TCP/IP Illustrated, Volume 1: The Protocols Chapter 6. ICMP: Internet Control Message Protocol ( 월 ) 김 철 환
Choreology Ltd. Copyright © 2003, Choreology Ltd Confidential information which must not be reproduced or displayed without permission.
DEVELOPING WEB SERVICES WITH JAVA DESIGN WEB SERVICE ENDPOINT.
Tom Maguire William Vambenepe Metadata for WS-Resources WS-Resource Metadata Descriptor OASIS WSRF F2F Tuesday, May 17 th, 2005.
© 2005 Global Grid Forum The information contained herein is subject to change without notice Leading the pervasive adoption of grid computing for research.
Receipt Token Profile for Web Services Eric Gravengaard Reactivity.
Overview BPSS Contract Formation Pattern E-Commerce Patterns 1.0 ebXML Negotiation Subteam F2F January 30, 2002 Heiko Ludwig.
Web Service Referencing And Resource Identification Anish Karmarkar Oracle Corp.
UML (Unified Modeling Language)
CLUE Framework IETF 88 – Nov 8, 2013 Mark Duckworth draft-ietf-clue-framework-12 draft-groves-clue-multi-content-00 draft-duckworth-clue-switching-example-01.
1 Seminar on SOA Seminar on Service Oriented Architecture BPEL Some notes selected from “Business Process Execution Language for Web Services” by Matjaz.
Agreement-based Grid Service Management (OGSI-Agreement) Editors: K. Czajkowski (USC/ISI), A. Dan, J Rofrano (IBM), S. Tuecke, ANL M. Xu (Platform) Asit.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
 2007 Pearson Education, Inc. All rights reserved Introduction to Classes and Objects.
Component-Based Software Engineering Components and Interfaces Paul Krause and Sotiris Moschoyiannis.
Peter Niblett WS-Notification and WS-RF OASIS WS-RF and WS-Notification TC F2Fs July 2004.
SIP wg Items Jonathan Rosenberg dynamicsoft Caller Preferences: Changes Discussion of Redirects –Previous draft only proxy –Nothing different for redirect.
UNIT-IV Designing Classes – Access Layer ‐ Object Storage ‐ Object Interoperability.
Project Management: Messages
Program Management Portal (PgMP): What’s New in R8 for the Client
WS-Agreement Overview for OGSA
draft-ietf-simple-message-sessions-00 Ben Campbell
Nurhak Karakaya & Murat Çavdar
Module 4 Remote Login.
Chapter 20 Generic Classes and Methods
Grid Resource Allocation Agreement Protocol Working Group
Byungchul Park ICMP & ICMPv DPNM Lab. Byungchul Park
This pointer, Dynamic memory allocation, Constructors and Destructor
Programming Models for Distributed Application
Component-Level Design
Chapter 6 Methods: A Deeper Look
Outline Announcements Fault Tolerance.
CISC101 Reminders Assn 3 due Friday, this week. Quiz 3 next week.
Replication Improves reliability Improves availability
Chapter 11: Classes, Instances, and Message-Handlers
William Stallings Data and Computer Communications
Internet Control Message Protocol
Delivery, Forwarding, and Routing of IP Packets
Lecture 7: RPC (exercises/questions)
Presentation transcript:

WS-Agreement Port Types and Operations 03/2004 presented by Alain Andrieux USC Information Sciences Institute alain@isi.edu

Layered Conceptual Model Nego layer is optional. Decouples nego functioanlity from agreement creation so makes nego optional and swappable. 1. Agreement layer is used to create an agreement in one shot (no multi-round negotiation). 2. Optional negotiation layer adds negotiation capabilities for existing agreement. Also should make it easy to create Negotiated agreement in one pass (as oppose to calling both layers sequentially).

Using WS-Agreement On case-by-case basis: Design variants: Choose factory model(s): Choose idiomatic operations from spec; or Define new domain-specific operations Design variants: One factory per layer NegotiatedAgreementFactory FooAgreementFactory NegotiatedFooAgreementFactory Compose ops: same reuse approach mandated by WSRF for ex. GetResourceProperty etc…

One Factory per Layer Set of canonical factory port types AgreementFactory operation: create an Agreement with a set of terms NegotiationFactory operations: create a Negotiation for an existing Agreement create a Negotiation and an Agreement with a set of terms Create a negotiation is for negotiating an existing agreement. In order to start negotiation on a

NegotiatedAgreementFactory Has operations: create an Agreement with a set of terms create a Negotiation for an existing Agreement create a Negotiation and an Agreement with a set of terms  Just a composition of the operations

FooAgreementFactory Signature is domain-specific Has operation: create an Agreement-aware service (e.g. service with obligations and Agreement interface) Signature is domain-specific Input is Offer + service parameters Output is Agreement EPR + service “stuff”  Out of scope for WS-Agreement spec

NegotiatedFooAgreementFactory Also out of scope

Content of the Specification The 3 creation operations meant to be composed (via copy-paste?) packaged in canonical port types AgreementFactory and NegotiationFactory Agreement and Negotiation port types public state of final port types: Compose resource properties; or Reuse entire Resource document definitions (wsrp:ResourceProperties attribute)

Symmetric Patterns An advanced topic not covered today Further motivation for provider to responder renaming. Symmetric agreement and/or negotiation Service endpoints “on both sides” Broader range of signaling patterns Requires support in factory methods Please hold questions till the end

AgreementFactory Operation createAgreement Role: Create new Agreement in one shot (no negotiation) Input: Desired agreement terms [Initiator Agreement EPR] Output: New Agreement EPR Faults: “nothing created” (and why) TODO: Add examples /wsag:createAgreementInput/initiatorAgreementEPR This optional element is an endpoint reference (EPR) providing a contact point EPR1 where the invoked party can send messages pertaining to this negotiated Agreement. The invoked party MUST NOT invoke operations on EPR1 after returning a fault on this operation. /wsag:createAgreementInput/offer The agreement offer made by the sending party. It MUST satisfy the constraints explicated in one or more of the templates the AgreementFactory exposes. Also, the offer MUST NOT contain negotiability constraints (they do not make sense here since the invoked party is not supposed to, and cannot, reply to this request with a counter-offer). The contents of the response message are further described as follows: /wsag:createAgreementResponse/createdAgreementEPR This is the EPR to a newly created Agreement bearing the same observed terms. This element MUST appear. There is no multi-round negotiation here (or you can view the desired agreement terms as a first offer that will either be accepted as is, or rejected altogether). The Agreement represents a contract accepted by both parties. However refinement of the contract may occur through renegotiation as long as the negotiation layer is implemented and exposed. It is done through a Negotiation EPR in the default negotiation model proposed by the specification.

Agreement Operations none from WS-Agreement specification WS-ResourceProperties query operations such as GetResourceProperty  read-only access to WS-Agreement- specified resource properties

NegotiationFactory Operations (1) createNegotiation Role: Create Negotiation for an existing Agreement Input: Existing Agreement EPR [First offer] [Initiator Negotiation EPR] Output: New Negotiation EPR [Counter-offer] Faults: “nothing created” (and why) offer = terms + offer type + negotiability constraints /wsag:createNegotiationInput/initiatorNegotiationEPR This optional element provides a contact point EPR1 where the invoked party can send messages pertaining to this stateful negotiation (this is applicable only in the case of a symmetric deployment of the wsag:Negotiation port type). /wsag:createNegotiationInput/existingAgreementEPR This is the contact point EPR2 of the existing wsag:Agreement to which the wsag:Negotiation to create MUST be related. This element MUST appear. /wsag:createNegotiationInput/firstOffer This is the initial offer to start the negotiation with. This is a shorthand for calling the negotiation operation at the returned wsag:Negotiation EPR. If the offer is accepted a counter-offer will be returned. This element MAY be omitted to start a named conversation with no initial state. /wsag:createNegotiationInput/firstOffer/@commitment This is the offer type of the agreement offer. RESPONSE: /wsag:createNegotiationResponse/createdNegotiationEPR This is an endpoint reference EPR3 to a wsag:Negotiation service where the initiator can send messages pertaining to this stateful negotiation. The wag:Negotiation MUST be related to the input wsag:Agreement at EPR2. /wsag:createNegotiationResponse/counterOffer This is the agreement offer in response of the optional initial offer. /wsag:createNegotiationResponse/counterOffer/@commitment This attribute specifies the offer type of the response offer. The value is governed by the negotiation protocol state machine.

NegotiationFactory Operations (2) createNegotiatedAgreement Role: Create Agreement and Negotiation to modify it Input: [First offer] [Initiator Agreement EPR] [Initiator Negotiation EPR] Output: New Agreement EPR New Negotiation EPR [Counter-offer] Faults: “nothing created” (and why) offer = terms + offer type + negotiability constraints Issues: no mandatory argument… The contents of the input message are further described as follows: /wsag:createNegotiatedAgreementInput/initiatorNegotiationEPR This optional element provides a contact point EPR1 where the invoked party can send messages pertaining to this stateful negotiation. This is applicable only in the case of a symmetric deployment of the wsag:Negotiation port type. /wsag:createNegotiatedAgreementInput/agreementEPR This is the optional contact point EPR2 of an existing wsag:Agreement to which the wsag:Negotiation referenced by EPR1 MUST be related. This is applicable only in the case of a symmetric deployment of the wsag:Agreement port type. /wsag:createNegotiatedAgreementInput/offer This is the initial offer to start the negotiation with. If the offer is accepted a new wsag:Agreement EPR will be returned as well as the EPR of the new wsag:Negotiation. /wsag:createNegotiatedAgreementInput/offer/@commitment This is the offer type of the agreement offer. RESPONSE: /wsag:createNegotiatedAgreementResponse/createdNegotiationEPR This is an endpoint reference EPR3 to a wsag:Negotiation service where the initiator can send messages pertaining to this stateful negotiation. /wsag:createNegotiatedAgreementResponse/createdAgreementEPR This is an endpoint reference EPR4 to a newly created wsag:Agreement service which terms can be negotiated by sending messages to EPR3. /wsag:createNegotiatedAgreementResponse/counterOffer This is the counter-offer. This element MAY appear, in which case the agreement MAY include extra negotiability constraints that the next offer sent by the initiator MUST comply with. /wsag:createNegotiatedAgreementResponse/counterOffer/@commitment This attribute specifies the offer type of the response offer. This attribute MUST appear in the counter-offer. The value is governed by the negotiation protocol state machine.

Negotiation Operations Negotiate Role: Accept or reject an offer on the related Agreement Input: Offer Output: Counter-offer Faults: “operation failed” or “negotiation aborted” (and why) offer = terms + offer type + negotiability constraints

Offer Types and Negotiation State initiatorSolicited responderCommitted terminal fault advisory observed TODO add dashed messages ; dash upper right corner one too. There are six types of offer than can be provided to, or returned from negotiation operations in the WS-Agreement model. For simplicity, each offer type corresponds directly to a state in the negotiation state machine, as depicted in Figure 6. Note: we define the responder as the party that is invoked by the initiator. Negotiation Protocol State Machine. The advisory start state is changed to solicited or committed by one of the parties sending an appropriate offer. The terminal observed state is reached by acceptance from one of the committed states. The terminal fault state is reached by explicit termination or by terminal faults. A synchronous continuing fault invalidates a state change implied by the faulted offer. The six message types are represented as follows: Advisory offers bear the wsag:advisory value and indicate no obligations or restrictions on further negotiation. Soliciting offers indicate no obligations but require that a counter-offer be committed. There are role-specific solicitation offer types: Committing offers indicates that the sender is obligated to the offer terms if the recipient decides to observe. There are role-specific commitment offer types: Accepting offers bears the wsag:observed value and indicates that the sender accepts the offer that has been committed by the recipient. Termination uses the underlying WS-RF termination mechanisms and indicates a destruction of all shared Negotiation, Agreement, or Renegotiation state. Third-party resolution, outside the scope of WS-Agreement, may still be used to resolve obligations from terminated Agreements. Rejection uses the underlying WS-RF fault mechanisms to signal rejection of an offer, without losing the shared state that existed prior to the rejected offer. responderSolicited initiatorCommitted

Resource Property Distribution “+” signs mean read-only in service interface.

Issues - Discussion When should the content of the agreement document, e.g. terms, be replicated as individual resource properties? Is the related Agreement resource property redundant with the equivalent field on AgreementContext? Remove the latter? Should AgreementContext be part of an Agreement template? Karl: yes templatification is good idea. Resolution: template still wsag:AgreementType Agreement state (preObserved/Observed/postObserved) would allow separation of agreement and negotiation specs.  Heiko to propose something Negotiability Constraints in Agreement: useful for negotiation from existing agreement. Agreement layer should have no knowledge of negotiation, so how to model this? Negotiation spec to introduce subtype of Agreement with this additional resource property?