120 likes | 141 Views
Explicit Acknowledgments. A separate ebXML Message is sent in response to a normal message. Explicit Acknowledgements. MSH. Send Message. ebXML Message (Message). Party. Send Message. Message Service Handler Trans. Ind. Transport Handler Trans. Dep. Response. Response. Ack Message.
E N D
Explicit Acknowledgments A separate ebXML Message is sent in response to a normal message
Explicit Acknowledgements MSH Send Message ebXML Message (Message) Party Send Message MessageServiceHandlerTrans.Ind TransportHandlerTrans.Dep. Response Response Ack Message Optionalnotificationof Ack ebXML Message (ack) Response This will vary depending on the transport binding This is illustrative and non-normative
Explicit SMTP binding MSH Send Message ebXML Msg, (Message) (SMTP) Party Send Message MessageServiceHandlerTrans.Ind SMTPTransportHandler Response Response Ack Message Optionalnotificationof Ack ebXML Msg, (Ack) (SMTP) Response
Explicit HTTP Binding (1) MSH Send Message ebXML Msg, (Message) (HTTP Post) Party Send Message MessageServiceHandler MessageServiceHandlerTrans.Ind HTTPTransportHandler Response Response (HTTP Response) Ack Message Optionalnotificationof Ack ebXML Msg, (Ack) (HTTP Post) Response (HTTP Response)
Explicit HTTP Binding (2) MSH Send Message ebXML Msg, (Message) (HTTP Post) Party Send Message MessageServiceHandler MessageServiceHandlerTrans.Ind HTTPTransportHandler Response Response Ack Message Optionalnotificationof Ack ebXML Msg, (Ack) (HTTP Response) Response
Implicit Acknowledgements The business response implies an ebXML Message Service Ack
This use case describes a situation where: a small business has a PC running: their "enterprise software" e.g. QuickBooks, and a web browser (http client) the business wants to use QuickBooks to make an immediate payment to their bank by: sending a payment request, and then receiving an immediate payment response that contains a receipt that proves that payment was, or will be made they want to send the payment request “reliably” using ”Once and Only Once" delivery semantics since: the need to know that the payment was made by a specific time to meet a business requirement (this means email would be too slow) they don't want to pay twice because of accidental duplicate delivery of the payment request message by the data communications protocol In addition: the bank's payment service operates in real time and can provide immediate acknowledgement that the payment has (or will be) paid by a specific time the small business does not want to operate their own web server as they see no business benefit in doing so they prefer to connect using a dial up link since they are based in the UK and permanent connections are expensive Implicit Ack Use Case
Email is too slow to meet the business requirement. Therefore the only viable data communications protocol that will be fast enough and is widely available is HTTP. The small business can only, therefore, access their banking service via an http client. This means that: the banking service cannot later "push" a payment response message asynchronously back to small business (remember email is too slow), and therefore the banking service has to send the payment response on an HTTP response that is a result of an earlier HTTP post. There are two ways in which the payment response could be delivered on an HTTP response: the small business keeps sending HTTP posts to the banking service to check if the payment had been made, eventually it will be and so the http response will contain the result, or the payment response is sent on the HTTP response for the HTTP post that contained the payment request. Since the banking service can provide an immediate response to the payment request, the best way for the banking service to send the payment response is on the HTTP response to the HTTP post that contained the payment request. Implicit Ack Use Case Analysis
Implicit Acknowledgements MSH Send Message ebXML Msg, (Message) Party Send Message MessageServiceHandler MessageServiceHandlerTrans.Ind TransportHandlerTrans.Dep. Response Response Receive Message Optionalnotificationof Ack ebXML Msg, (Message) Response ReceiveMessage Response This is illustrative and non-normative
Implicit SMTP Binding MSH Send Message ebXML Msg, (Message) (SMTP) Party Send Message MessageServiceHandler MessageServiceHandlerTrans.Ind SMTP TransportHandler Response Response Receive Message Optionalnotificationof Ack ebXML Msg, (Message) (SMTP) Response ReceiveMessage Response
Implicit HTTP Binding (1) MSH Send Message ebXML Msg, (Message) (HTTP Post) Party Send Message MessageServiceHandler MessageServiceHandlerTrans.Ind HTTPTransportHandler Response Response (HTTP Response) Receive Message Optionalnotificationof Ack ebXML Msg, (Message) (HTTP Post) Response (HTTP Response) ReceiveMessage Response
Implicit HTTP Binding (2) MSH Send Message ebXML Msg, (Message) (HTTP Post) Party Send Message MessageServiceHandler MessageServiceHandlerTrans.Ind HTTP TransportHandler Response Response Receive Message Optionalnotificationof Ack ebXML Msg, (Message) (HTTP Response) Response ReceiveMessage Response