Description. Party A
sends a request to party B indicating that any follow-up response
should be sent to a number of other parties (P1, P2, ..., Pn) depending
on the evaluation of certain conditions. While faults are sent by
default to these parties, they could alternatively be sent to another
nominated party (which may be party A).
Case 1: Single
referral without fault
A customer's procurement service
sends a request with a purchase order
to a supplier's order processing service. This request instructs the
supplier to use a given
transport service so the supplier eventually sends a shipping order
to this transport service. Eventually, the transport service sends a
shipment notification directly to the customer's procurement service.
In the terminology of the pattern description, party A = customer,
party B = supplier, and there is only one party P = transport service.
Case 2: Single referral
with fault
Same as in the previous
scenario, except that a fault occurs in the supplier service due
to an error in the purchase order. As a result, the supplier sends back
an error message to a communication port designated in the customer's
request.
Case 3: Multi-referral
Same as the first case, but
there are now two transport services because the order includes goods
with different transportation requirements. The supplier service sends
a shipping order to each of the transport services, and each of these
transport services sends a shipment notification back to the customer.