Hi
I want to try to come up with a short docu about the JBI Message
Exchange Patterns. Please check it out and let me know what you think:
Preamble:
Any active (if status is not in DONE or ERROR) Message Exchanges (ME)
can be set to status ERROR and returned to the other party (send()).
Any received inactive ME cannot be sent again meaning that the
exchange ends there.
Consumer is the party that sends the ME for the first time meaning it
is the party from where the ME originates. Provider is the other party
in the ME.
Possible Exchanges:
1) Consumer sends an IN message to the Provider
Applicable: ALL
2) Provider sends DONE ME back to the consumer
Applicable: ALL except IN-OUT
3) Provider sends FAULT ME back to the consumer which HAS to sent back
the ME with status DONE (or ERROR for that matter)
Applicable: ALL except IN-ONLY
4) Provider sends OUT message back to the consumer which HAS to sent
back the ME with status DONE
Applicable: IN-OUT
5) Provider sends OUT message back to the consumer which either can:
a) Consumer sends back a ME with status DONE
or
b) Consumer sends back a FAULT to the Provider which has to sent back
the ME with status DONE
A summary of the usages of the MEPs:
IN-ONLY:
The Consumer wants to send the ME but is not interested in any type of
response except the acknowledgement of that it is done.
ROBUST-IN-ONLY:
The Consumer wants to send the ME but is interested to hear from the
Provider in case of a FAULT (for example request not understood). This
gives the Consumer a chance to react to such a fault and try
alternatives.
IN-OUT:
The Consumer wants to send the ME and is interested to receive a
response from the Provider which can be an OUT message or a FAULT. In
case of a FAULT the Consumer can try alternatives.
Note: This MEP looks like the ROBUST-IN-ONLY except that the DONE
message from the Provider is replaced by the OUT message.
IN-OPTIONAL-OUT:
The Consumer wants to send the ME but let the Provider decide if there
is a response (OUT or FAULT) or not (DONE). In case of an OUT message
the Consumer can send a FAULT back to the Provider to tell him about
problems with his response (like Response not understood).
Note: This is the only MEP that allows the Consumer to respond to the
response of a Provider even though I am not quite sure what it is good
for because the Provider cannot react and send back a different
response. It is still up to the Consumer to look for alternatives.
Thank you
Andreas Schaefer
CEO of Madplanet.com Inc.
[EMAIL PROTECTED]