ws-tx message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: New issue - WS-BA: Coordinator informed immediately of autonomous participant decision
- From: "Peter Furniss" <peter.furniss@erebor.co.uk>
- To: "Ram Jeyaraman" <Ram.Jeyaraman@microsoft.com>
- Date: Mon, 10 Jul 2006 22:14:51 +0100
sorry - would have
sent this one earlier, but there were complications
----------------------------------------------------
Issue name -- WS-BA: Coordinator informed immediately of autonomous
participant decision
PLEASE DO NOT REPLY TO THIS EMAIL OR
START A DISCUSSION THREAD UNTIL THE ISSUE IS ASSIGNED A NUMBER.
The
issues coordinator will notify the list when that has
occurred.
Target document and draft:
Protocol:
WS-BA
Artifact: spec
Draft: BA spec cd
2
Link to the document referenced:
http://www.oasis-open.org/committees/download.php/18819/wstx-wsba-1.1-spec-cd-02.doc
Section and PDF line number: section ,
lines
Issue type: Design
Related issues:
New issue: ws-ba fault on close
(title of that issue is tbd)
Issue Description:
A Participant in Completed state that has had to
finalise the application information should be permitted to send Closed or
Compensated immediately, rather than wait to respond to the instruction from the
coordinator.
Issue Details
Services involved in loosely-coupled business
activities, of the sort targeted by WS-BA are commonly more-or-less autonomous.
They are cooperating in the Business Activity, but there are other drivers and
requirements on their behaviour. This applies whether the systems involved in
the Business Activity are from different organizations (where the autonomy is
obvious) or are just different applications in one organization (where legacy
applications, for example, often have other, primary goals, and the Business
Activity is an integration)
Consequently, it must be expected that services
will reserve the right to make and apply their own decision to the work they are
responsible for, despite their promise to await the decision of the controlling
application. This is analogous to a heuristic decision in a classic ACID
transaction, but is likely to be more common.
Since such an autonomous decision will threaten,
and may (like a heuristic decision) destroy the consistency target that led to
use of WS-BA, it is important that it can be signalled as soon as possible. If
the warning arrives in time, it is possible (given that Business Activities may
be long-running) that the controller can cope with the decision – either
cancelling/compensating the whole activity, or ensuring that the rebellious
participant is accommodated somehow. (This is especially likely with
participant-completion)
At present, WS-BA does not give a chance for the
participant to report an autonomous decision, until it is informed of the
coordinator’s decision.
Since WS-BA is based on one-way messages it would
seem fairly straightforward to allow the participant to reply before it is
asked. If the answer is "right", the protocol completes with this pre-emptive
reply; if it is "wrong", the relationship goes into the normal Fault/Faulted
exchange.
Proposed resolution
Allow Closed and
Compensated to be sent by a Participant from Completed state, triggering
transitions to new states ("Auto-closed", "Auto-compensated"). If the "right"
message arrives - i.e. Close or Compensate, respectively - resend the Closed or
Compensated and transition to Ended. (The resend may not be needed - the earlier
message may be perceived at the coordinator as the reply, but resending avoids
forcing the coordinator to remember the first message) If the "wrong" message
arrives (i.e. Compensate in Auto-closed, Close in Auto-compensate), send Fault
and transit to Faulting, awaiting Faulted as usual.
At the coordinator, receipt of Closed or
Compensated in Completed state causes no action and remains in the same state.
It is not "ignored", because this is the trigger for the coordinator/application
to do something about the situation, but there is no mandated protocol
action.
Receipt at the coordinator of Closed or Compensated
in the wrong state (Compensating, Closing) is ignored - a Fault message will
arrive later. (It is not worth complicating matters further by allowing a
pre-emptive Faulted, thought it would work.)
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]