Folks --
I've been asked to post DS17 rewrites. DS17' is a merged version of all the
cases I could squeeze in. DS17A and B are breakouts of DS17' separating
proactive and polled responses. Below that are the list of cases that I
think are applicable.
DS17' -- Message Delivery and Correlation over "Broken" Connections
A sender sends a message to a recipient. The sender does not wish to
maintain a connection to the recipient after transport of the message
because the message requires a significant time to process (this could be
because the transport protocol timeout is shorter than the message
processing time, because the return protocol is different, or just because
the sender is impatient). The recipient does not return an immediate
response to the request. The recipient processes the message. If the
sender can be or wishes to be proactively notified, the recipient
proactively returns the response to the sender. If the sender cannot be
proactively notified, the response is held until the sender initiates a
request for the response from the recipient, at which point it is returned.
The response may return either the anticipated response or a failure
notification.Â
DS17A -- Message Delivery and Correlation with Proactive Response
A sender sends a message to a recipient where the recipient does not return
an immediate response to the message. The sender does not maintain a
connection to the recipient after transport of the message because the
transport protocol timeout is shorter than the required message processing
time or because the recipient will return the message using a different
protocol (e.g. message originally sent via HTTP with the result returned via
SMTP). The recipient processes the message and proactively returns the
result to the sender. The result may return either the anticipated
response or a failure notification. Request and reply messages are
correlated without relying on correlation from the underlying transport
protocol.
Example: An oil refinery requests a ship to transport oil. The brokering
of the ship takes several hours. The ship broker receives the request via
an XML protocol request to their web site. The broker responds to the
request with an e-mail message.
Example: Two peer web nodes broker search transactions. A search request
is posted to one node using an HTTP transaction. The node responds after
some period of time with the results of that search by initiating an HTTP
transaction.
DS17B -- Message Delivery and Correlation with Polled Response
A sender sends a message to a recipient where the recipient does not return
an immediate response to the message. The sender does not maintain a
connection to the recipient after transport of the message because the
transport protocol timeout is shorter than the required message processing
time. The recipient processes the message and holds the result. The sender
initiates a request for the result from the recipient, at which point it is
returned. The result may return either the anticipated response or a failure
notification. Request and reply messages are correlated without relying on
correlation from the underlying transport protocol.
Example: An oil refinery requests a ship to transport oil. The brokering
of the ship takes several hours. The ship broker receives the request via
an XML protocol request to their web site. The refinery polls the broker's
web site for a response once an hour.
Breakdown of Cases
Different Transport Protocols Between The Sender and Receiver
A sender sends a message to a recipient (e.g. HTTP). The sender tags the
request with an identifier allowing the response to be correlated with the
original request. The recipient processes the message and returns the
response to the sender using a different transport protocol (e.g. SMTP).
Messages Requiring Extensive Processing Time
A sender sends a message to a recipient. The message requires significant
time to process (e.g. longer than the timeout for HTTP). The recipient
acknowledges that request but does not return the response to the request.
The recipient processes the message and proactively returns the response to
the sender. The response may return either the anticipated response or a
failure notification. The sender acknowledges the receipt of response.
Firewall Between Sender and Receiver Creating One Way Message Paths
A sender sends a message to a recipient that is protected by a firewall.
The recipient acknowledges that request but does not return the response to
the request. The recipient processes the message and holds the response.
The response may return either the anticipated response or a failure
notification. The sender initiates a request for the response from the
recipient, at which point it is returned.
Impatient Senders With Proactive Responses
A sender sends a message to a recipient. The sender does not wish to
maintain a connection to the recipient after transport of the message. The
recipient acknowledges that request but does not return the response to the
request. The recipient processes the message and proactively returns the
response to the sender. The response may return either the anticipated
response or a failure notification. The sender acknowledges the receipt of
response.
jeffrey kay <jkay@engenia.com>
chief technology officer, engenia software, inc.
"first get your facts, then you can distort them at your leisure" -- mark
twain
"golf is an endless series of tragedies obscured by the occasional miracle"
-- sports illustrated
"if A equals success, then the formula is A equals X plus Y plus Z. X is
work. Y is play. Z is keep your mouth shut." -- albert einstein