Presented by: Francisco Martin-Recuerda Web Services Coordination Framework WS-CF http://developers.sun.com/techtopics/webservices/wscaf/wscf.pdf Presented by: Francisco Martin-Recuerda
Overview Introduction Architecture Open Issues WS-CF Coordination Protocols Open Issues
Introduction WS-CF specifies a software agent to handle context management through coordinator. Coordination is necessary for distributed applications (i.e. Web Services in choreography) Defines a Web Service Coordinator: Context Management. Maintain a repository of participants. Guarantee that the participants get the results of the coordinated interaction. Uses SOAP to encode messages and WSDL to use a synchronous invocation style for sending requests.
Introduction (II) WS-CF Web Services Stack
Architecture Web Service Coordinator: Participants: Provides an interface for the registration of participants and activities. Disseminates information to a number of participants and guarantees that all of them get the information. Manages the context. Context information can flow inside messages sent to the participants. A coordinator can be also a participant to another coordinator, extending the ability to interoperate accross application domain. Participants: cooperating Web Services in a composite unit of work share a common context
Architecture (II) Activity: Coordination Service: Represent a defined set of tasks with a set of related coordination actions. Involved one or more elements (participants that interacts through a coordinated). Coordination Service: Defines and provides a processing pattern (model). Example: ACID transaction service provides a protocol that defines a sequence processing: Prepare, Commit and Rollback. Also defines how activities are coordinated (activities can cooperate with each other).
Architecture (III) Protocol Configuration and Negotiation: Defines a protocol negotiation between web services to determine which Coordination Service model will be used. Determines which protocol message exchange will be used. Defines a method to communicate the results of a process. Defines the message interactions between the coordinator and its participants. Unambiguously identied by a URI.
WS-CF Coordination Protocols Coordinator to participant interactions Messages can start the execution of a particular task for a specific participant or Ask for the current state of the execution or Return or distribute results of the execution of some process. Service to coordinator interactions Basically defines how a service can ask to a coordinator to register or unregister participants for an specific activity.
WS-CF Coordination Protocols Client to coordinator Basically defienes how a client (user) of the coordination service can obtain the status of the coordination or ask it to perform coordination. Interposition As we mentioned before, coordinator can be also participants for other coordinator. Reduces overhead using proxy coordinator (or subordinate coordinators).
Open Issues Guarantee security and confidentiality. Audit trail (log of actions). Protocol completeness guarantee. Quality of Service.