semi合集-English.pdf - 第3280页
SEMI E128-0304 © SEMI 2003, 2004 14 R1-5 Request/Reply w ith Leading Callback s Client Serv er Request Callback Callback Callback Reply Figure R1-5 Request with Leading Callbac k Interaction R1-5.1 Another common m essag…

SEMI E128-0304 © SEMI 2003, 2004 13
natural use of asynchronous messaging that does not require the complexities of multi-threaded implementations and
thread-safe programming.
R1-4 Request/Reply with Trailing Callbacks
Client Server
Request
Reply
Callback
Callback
Callback
Figure R1-4
Request with Trailing Callback Interaction
R1-4.1 A request may ask a Server to establish some activity that generates a series of callback messages. The
Client may just require a reply that acknowledges that the activity has been initiated with a trailing sequence of
independent messages that deliver the data of interest to the Client. This message pattern uses the RequestId from
the request message and the matching CorrelationId in the reply message to acknowledge the contract to deliver data
in the callback messages that follow. The use of a message body element for the MessageSequence enables the
Server to dynamically communicate the message sequence and establish intent to generate additional callback
messages.

SEMI E128-0304 © SEMI 2003, 2004 14
R1-5 Request/Reply with Leading Callbacks
Client Server
Request
Callback
Callback
Callback
Reply
Figure R1-5
Request with Leading Callback Interaction
R1-5.1 Another common message exchange pattern involves a request message, followed by a series of callback
messages providing status updates, with a final reply message that ends the interaction. This pattern is often used in
an application where there are events that might be of interest that occur during the performance of the requested
action. It is particularly useful if the Client may need to make decisions or take other actions based on the interim
callback messages that are provided in lead of the reply.

SEMI E128-0304 © SEMI 2003, 2004 15
R1-6 Request/Reply with Timeout
Client Server
Request
Server
takes too
long to
respond
Interim
processing
Set timer
Timer triggers
result handler
Figure R1-6
Request/Reply with Timeout Interaction
R1-6.1 A common messaging pattern that takes advantage is a request/reply that enables the Client to take alternate
action if a reply is not received within a predefined time interval. This enables fault tolerant design that ensures that
the client can recover from errors that prevent timely, or any, response from the server. The mechanism for the
triggering of the timeout can itself be based on a messaging interaction with the request setting a timer and the reply
reporting the timer expiration.