There is nothing such
as “notification of success”. Success is assumed otherwise a
notification of failure is sent.
The best the spec
provides today is a receipt acknowledgement for the response. You could use
that in combination with the notification of failure.
It is also important
to realize that a collaboration does not stop if a transaction fails. The choreography
of business transactions can be designed: a) to enable a business transaction
whether or not the previous transaction succeeds, b) to enable different business
transaction activities in the case it failed and it succeeded.
The only thing the
spec says, if the transaction failed both parties agree to dismiss any claims
relative to this transaction. This means that if the transaction is about
sending a purchase order, and if it failed, none of the parties can assume that
the order will be executed.
You are raising an
important issue, which I think can only be resolved if we either make the
notification failure part of the business transaction protocol rather than a
separate business transaction as it is today, or by making an explicit
notification of success (either with a separate business transaction, or as a
timeout). I personally favor the former solution.
I will bring your
feedback to the BPSS team, thanks,
Eigner Precision Lifecycle Management
200 Fifth Avenue
Waltham, MA 02451
From: Nandini Ektare
Sent: Monday, April
08, 2002 12:42 PM
To: Jean-Jacques Dubray
Cc: ebxml org
Subject: Re: [ebxml-dev] <BinaryCollaboration>
for the detailed explanation.
to the earlier question, I have one more question reg. the semantics of the
that the RequestingRole within the BusinessTransaction is the arbiter to decide
whether the Transaction failed or succeeded. For Failures the spec gives
unambiguous resolution. The requestingRole rolls back the transaction and sends
a notification of failure in a separate transaction if it fails and
respondingRole rolls back the transaction and just sends an exception signal.
the spec does not seem to explicitly specify how success of a transaction is
communicated to the responding role. Does the requestingRole send some sort of
success message to the respondingRole? How does the respondingRole know the
transaction succeeded? Is this left to implementors of ebXML?
reason this question is related to the earlier one is that, had we assumed that
initiating role and responding role do not get to become requesters as well as
responders, then the responder need not know the success of business
transaction. Within the Binary Collaboration, the responder is a mere listener
to request messages and it is the requesting role that is responsible for the
transition to business states on success.
But since initiating and responding roles can become requesters as well as
responders within the binary collaboration, how to address the scenario below?
name="Place Order Activity">
name="In between Activity">
name="Send Invoice Activity">
Success of "Place Order Activity" business transaction is
decided by the role "buyer". And hence he can transition to next
business state "In between Activity" as again the "buyer"
is the requesting role. However on success of "In between Activity",
it is the "seller" who has to initiate the next transaction. And the
spec does not specify how the "seller" gets notified for the success
of earlier transaction "In between Activity".
Yes, the BPSS team
acknowledged that this was a bit confusing and we are fixing this in the next
release of BPSS.
Responding roles are just here to identify the two roles of the collaboration (e.g.
buyer and seller) and to identify which role will “initiate” the
collaboration, namely send the first message. The definition of these roles
does not impact their ability to participate in individual transactions as
either the fromRole or toRole. This is completely independent. This is actually
one of the great strength of the BPSS model: as the it does not take the point
of view of anyone (like an API could do). You express a collaboration as an
execution of business transactions between two roles. Any of the two roles can
initiate a business transaction.
By contrast, a
business transaction definition should not have any specific role. You could
use buyer and seller in a business transaction definition but it is better to
use abstract roles such as initiator and responder. It is only the usage of a
business transaction in a collaboration (aka a business transaction activity)
which specifies the specific roles that executes that particular business
Hope that helps.
EignerPrecision Lifecycle Management
200 Fifth Avenue
Waltham, MA 02451
From: Nandini Ektare [mailto:email@example.com]
April 08, 2002 11:42 AM
To: ebxml org
<BinaryCollaboration> in eBPSS
I have a
question specific to the BinaryCollaboration element in ebXML BPSS.
BinaryCollaboration element describes the business activities and choreography
of these activites.
Each Business Transaction Activity has fromAuthorizedRole and toAuthorizedRole.
the use of InitiatingRole and RespondingRole in the business
mean that during a binary collaboration the requestor role cannot become
responder role in the next business activity?
For e.g. is the Binary collaboration below valid?
name ="Product Purchase" timeToPerform="P5D">
<BusinessTransactionActivity name="Place Order
<BusinessTransactionActivity name="Send Invoice