[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: The Rules That Govern WS Business Activities
Hi, WS-Business Activity Specification doesn't clearly states who should govern the activity based on what rules. The specification provides the state changes and the message exchange pattern. However, unlike in Atomic Transactions, It doesn't mention how the voting should take place. As an example, in Atomic transactions it is All or None. i.e for the transaction to be committed, all the participant should vote with either "Committed", or "Readonly". However, Business Activities are more abstract. It doesn't mention the set of rules which governs the final out come of the activity. Let's consider a simple scenario as follows. 1. Five participants register for "ParticipantCompletion" 2. Three send "Completed", One send "Fault" and the other one sends "Exit" to the Coordinator. 3. What should the Coordinator do? Should he send "Close" or "Compensate" to those who have "Completed"? Also following problems arise 1. How to distinguish an Initiator from other participants? In AT the Initiator register for the "Completion" protocol. Is there an equivalent in BA? 2. When a participant register for "CoordinatorCompletion", the coordinator should inform the participant whether to "Complete". Based on what does the Coordinator take this decision? 3. What is "MixedOutcome"? Does that mean participants will receive different outcomes from the Coordinator? In that case, what is the outcome for the Initiator? I'm currently implementing a BA Coordinator and would like to hear any ideas/opinions on this. Can these rules be different from implementation to implementation? If that is the case, what is the level of flexibility expected? Can the rules be defined per activity basis? or is it per implementation? How does the participant know the set of rules by which the activity is governed? Highly appreciate your feedback on this. Thanks. Regards, Sanjaya Amarasekera
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]