9 - WS Coordination and Transactions Flashcards
What are the main goals of Coordination and why does it apply to WebServices?
Provide support for controlling COMPLEX ITERACTIONS that result from business processes
- Run in distributed scenario, potentially crossing boundaries of local coordinators (matches target scenario of Web Services)
- not exclusively complex, also used for e.g. 2PC
Distributed transactions as a special case of coordination (XOPEN DTP, 2PC)
Goal: allow standard and generic protocols to carry out such activities
Explain the concepts of conversation and coordination protocol
Conversation: sequence of interactions (message exchanges) between requestors and providers
- Maintenance of CONTEXT information is important for a meaningful conversation.
Coordination protocols: specification of accepted conversations
- rules that must be followed by partners in conversation
- vertical protocols (specific to business are) vs. horizontal protocols (common infrastructure)
- Middleware technology supporting: conversation controllers, generic protocol handlers
What are the main ideas of a Conversation Controller Middleware?
Perform conversation routing: dispatch requests to appropriate object of internal middleware
- each instance of a conversation is mapped to on object
- involves message correlation (each message its conversation ID) and management of context
- Similar to sessions being mapped to session beans
Additionaly, verify protocol compliance, with. prot. definition provided, check if messages comply
- possible impl. as component of a SOAP router
What are the ideas of a Generic Protocol Handler middleware?
Module that implements coordination protocol (protocol-specific-logic) e.g. TA-Manager.
- Process and generate messages according to protocol rules (usually horizontal protocols)
Protocol is supported in two ways:
- handler realizes complete support of protocol: no participation of WS (transparent): reliable message
- handler relies on actions of WS: e.g. transactions: WS commit/abort messages, execute operations
How do Conversation Controllers and Protocol Handlers interact in a generic architecture for implementing coordination?
Requestor communicates with conversation controller, which generates horizontal protocol messages to protocol handler, and business protocol directly to internal object
Horizontal messages can also be exchanged between handle and object
Give an overview of the main concepts is WS-Coordination
2 entities defined: coordinators and entities
- either centralized or distributed coordinations (X/OPEN DTP)
Interactions between them are described in terms of: coordination protocol (e.g. 2PC), coordination type (Set or related/combined coordination protocols) e.g. atomic transaction)
Coordination context: involves identification of conversation, used to exchange coord. information
- Placed within messages (SOAP header)
- Also contains coord. type
Coordinator consists of:
- activation service (creation of context), registration service (registration of apps with coordinator)
- Specific coordination protocols (type-specific)
Give an overview of WS atomic transaction and its relation to X/OPEN DTP
Built on top of WS-Coordination (coordination type)
Defines commit protocols
*basically defines standards for implementing 2PC and similars in web service
What are the goals of WS Business Activities?
Support long-running, work-flow kind of transactions, with different recovery semantics
Goal: define protocols that wrap propr. BA mechanisms for interoperability
Compensation concept: additional action performed to undo effects of another action (semantic recovery)
- Involves real world effects (used more heavily than atomic transactions)
- Focus on logical recovery, not on physical (DB)
- Depends on context (State that was reached by TA)
- Old state usually cannot be recovered/recreated
- Compensation is an action that may also fail
Example implementation: sage