WS-BusinessActivity using WS-Coordination A bare-bone implementation Presented by: Krishnan Narayanan Guided by: Dr. Bina Ramamurthy Course: CSE 622, Spring 2006
Outline ► Motivation & Approach ► Overview of protocols ► System Design ► Applications ► Demo along the way!
Motivation ► Build a working model of WS-BA protocol on top of which applications can be built – more of an academic test bed ► Gain practical experience in implementing protocols ► Understand the intricacies involved in translating standards into working model – may be this will help us appreciate the part played by vendor dependant design?
What is & What is NOT? ► Design compliant with the standards & specification ► Not STRICT adherence to the semantics of WS suite of protocols (WS-Policy, WS-Addressing, WS-Security) ► Not implemented as a web service – guess why? ► Not a complete implementation – basic framework is ready. Future extensions needed/possible. ► Only one protocol – Automic Outcome/BAWithParticipantCompletion
Some Technical Details… ► Messages - SOAP with Attachments API for Java ► Messaging – SOAP/XML ► Transport Protocol – HTTP ► Supporting Framework – Servlet ► Container Support – Apache Tomcat ► Callbacks & Notifications – Thread Model
WS-Coordination – a brief overview
WS-BA Overview ► Enables multiple business activities to work in a coordinated fashion ► Uses WS-Coordination as the underlying framework ► 2 different coordination types Atomic Outcome – All participants are driven to same end state Mixed Outcome – Each participant is attended individually ► 2 different coordination protocols Participant Completion – Participant drives the decision making Coordinator Completion – Coordinator drives the decision making
Applying WS-Coordination to WS-BA with Participant Completion
Coordinator - Activation Component ► Purpose: ► Manages a list of activities Design: ► Implemented as a Singleton class Details: ► Maintains a static list of on-going Activities ► Generate and assigns unique id for the activity (callbackRef) CoordinationContextResponse createCoordinationContext(CoordinationContextRequest)
Coordinator - Registration Component ► Registers participant into an active “Activity” ► Performs validation by interacting with Activation manager ► Generate a Unique ID for the Participant & add it to the Activity list (participantRef) ► No security measures in place – WS-Security ► Handles the participant to the Protocol Manager RegisterResponse register(Register regRequest)
Coordinator – Protocol Handler ► Implements the state machine specified by the standard ► Reflects Coordinator’s view of Participant state ► Events specified by the standard are translated into SOAP messages ► State transitions are triggered by generating appropriate event ► One instance for each Participant
Participant – Protocol Handler ► Implements the Participant’s view of the state machine ► Same as Protocol Handler employed by Coordinator – Events & States
Callbacks ► Why is it needed? Events can be generated either by coordinator & participants. ► How is it implemented? Queue for managing the list of “to process” events. Callback manager monitors the event queue and triggers callback.
Pieces put together Protocol Handler Design
WS-BA - Protocol Handler at work An Illustration
Is the WS-BA PC Protocol State Machine Deadlock Proof? ► Is there a possibility for the protocol to get deadlocked? ► If so, can the nature of the Business Process play a role to avoid such a situation? ► If yes, is it good or bad? State Machine State Machine
Extensions & Applications ► WS-Notification can be utilized to implement the callbacks for the Coordinator. ► Can be integrated with BPEL to create “coordinated composition” of web services.
References & Questions ► WS-Coordination: ftp://www6.software.ibm.com/software/developer/library/WS- Coordination.pdf ftp://www6.software.ibm.com/software/developer/library/WS- Coordination.pdf ftp://www6.software.ibm.com/software/developer/library/WS- Coordination.pdf ► WS-BA: ftp://www6.software.ibm.com/software/developer/library/WS- BusinessActivity.pdf ftp://www6.software.ibm.com/software/developer/library/WS- BusinessActivity.pdf ► Web services: composition, integration and interoperability: Composition of coordinated web services Web services: composition, integration and interoperability: Composition of coordinated web services Web services: composition, integration and interoperability: Composition of coordinated web services