RE: Definition of Choreography

I still don't see how a WSDL Input-Output Operation description tells me
anything about the synchronous/asynchronous nature of the interaction.

Ugo

-----Original Message-----
From: Assaf Arkin [mailto:arkin@intalio.com]
Sent: Tuesday, October 22, 2002 10:53 AM
To: Ugo Corda
Cc: www-ws-arch@w3.org
Subject: RE: Definition of Choreography


I am not assuming that the protocol is synchronous. I perfectly accept the
case that the request-response operation will occur over an asynchronous
protocol.

If you are using an asynchronous protocol, then you can perform two
interactions:

1) Service X can start both interactions one after the other, but not expect
one interaction to end before the second one begins. In this case, service X
can receive the response of the second interaction before the response of
the first interaction.

2) Service X can start the second interaction after it receives the response
to the first interaction, in which case it knows that the first operation
has completed before the second one starts.

However, if service X performs the interactions in the second manner, if can
deduct the order in which operations are performed by service Y. That means
that if service X orders the interactions to occur sequentially, waiting for
one to complete (response received) before beginning the second one, it
observes a synchronous pattern.

You can also deduct that by performing two asynchronous operations, e.g.
service X performs one-way interaction followed by notification interaction.
In this case, you use to asynchronous operations to compose a synchronous
pattern.

To be more precise, the synchronous nature of the operation from the
perspective of the service is a matter of whether the operation involves
two-way message exchange, or one-way message exchange. The synchronous
nature of the operation from the perspective of the protocol (e.g. SOAP), is
a matter of whether the operation is composed into a single two-way
communication, or performed over two one-way communications.

Two asynchronous communications (message exchange at wire level) can be used
to create a synchronous operation (interaction at service level). To add
even more confusion, a synchronous communication (message exchange at wire
level) can be used to create an asynchronous operation (interaction at
service level).

arkin

Received on Tuesday, 22 October 2002 14:05:41 UTC