W3C home > Mailing lists > Public > www-ws-arch@w3.org > February 2003

RE: Sync Definition #2 (corrected)

From: Christopher B Ferris <chrisfer@us.ibm.com>
Date: Thu, 27 Feb 2003 13:03:44 -0500
To: "David Orchard" <dorchard@bea.com>
Cc: www-ws-arch@w3.org, www-ws-arch-request@w3.org
Message-ID: <OF3C42E20A.DEAEDDD4-ON85256CDA.006142A2-85256CDA.006336C4@us.ibm.com>
Appologies if these definitions have not already been proposed, the thread 
is simply too long for
me to catch up:)

synchronous message exchange (applies to oneway as well as 
request/response) requires that both 
sender and receiver, or initiator and respondant, processes are 
running/active at the same time as the
exchange takes place. In the case of request/response, the exchange is 
synchronous if both sender and receiver
remain in the running/active state for both the request and response.

asynchronous message exchange (also applies to oneway or request response) 
does not require,
but does not preclude, that both sender and receiver, or initiator and 
respondant, processes are
running/active at the same time as the exchange takes place. It typcally 
requires some form of mediation 
between the sender and receiver such as a message queue.

I believe that we could extend these definitions to whole conversations as 
well.

Cheers,

Christopher Ferris
Architect, Emerging e-business Industry Architecture
email: chrisfer@us.ibm.com
phone: +1 508 234 3624



"David Orchard" <dorchard@bea.com> 
Sent by: www-ws-arch-request@w3.org
02/27/2003 11:41 AM

To
<www-ws-arch@w3.org>
cc

Subject
RE: Sync Definition #2 (corrected)






What classifies as "wait for a response"?  I typically think of a 
synchronous definition as "a programmatic flow of control on the sender 
effectively does nothing but wait for a response after sending it's 
request".  And before everybody goes gaga over showing edge cases that are 
asynch that have flow of control, or multiple flows of control that are 
synch, that's not the real issue.  The point is that synchronicity 
typically has the notion of *something* blocking and waiting for the 
response. 
 
Another approach is to couple synchronicity with connections.  So 
synchronous is where the request and response flow forwards and backwards 
over the same virtual connection between the sender and receiver.  Of 
course, it's possible to have synch interactions over non-synch 
connections, which is why I think that synchronicity is more of a feature 
of program logic than bits on the wire.
 
Hey look, textual suggestion and only 8 sentences of prose.
 
Cheers,
Dave
-----Original Message-----
From: www-ws-arch-request@w3.org [mailto:www-ws-arch-request@w3.org]On 
Behalf Of Assaf Arkin
Sent: Wednesday, February 26, 2003 10:42 PM
To: Walden Mathews; Ugo Corda; www-ws-arch@w3.org
Subject: RE: Sync Definition #2 (corrected)

I just love permutations ;-)
 
Seriously. In order to say that something is synchronous you need to say 
what it is that's synchronous.
 
The definition given below only describes a synchronous (request/response) 
operation but doesn't describe an asynchronous (input-only or output-only) 
operation, so it's only half way there. We still need to describe 
asynchronous operations.
 
And it describes the operation based on how the protocol works, which is 
interesting and important, but still says nothing about the operation 
itself. 
 
arkin
 
 -----Original Message-----
From: Walden Mathews [mailto:waldenm@optonline.net]
Sent: Wednesday, February 26, 2003 7:29 PM
To: Assaf Arkin; Ugo Corda; www-ws-arch@w3.org
Subject: Re: Sync Definition #2 (corrected)

Arkin,
 
I don't understand where your fascination with these permutations
is coming from.  I thought the goal was to define the two terms, one
definition each, and let it go at that (if possible).
 
Walden
----- Original Message ----- 
From: Assaf Arkin 
To: Ugo Corda ; www-ws-arch@w3.org 
Sent: Wednesday, February 26, 2003 3:51 PM
Subject: RE: Sync Definition #2 (corrected)

Actually, yours can be easily phrased in terms of mine:
 
A synchronous interaction (= reqeust/response) is communicated 
asynchronously when the request and response are chronologically 
decoupled. In other words ...
 
A synchronous interaction is communicated synchronoulsy if the reverse 
could be said.
 
Which of course begs the question, what about an asynchronous interaction. 
Say I just send a message but don't expect a response?
 
An asynchronous interaction (= send or receive) is communicated 
asynchronoulsy when the sender does not have to wait for the receiver to 
receive the message.
 
An asynchronous interaction is communicated synchronoulsy if the reverse 
could be said.
 
arkin
-----Original Message-----
From: Ugo Corda [mailto:UCorda@SeeBeyond.com]
Sent: Wednesday, February 26, 2003 12:46 PM
To: Assaf Arkin; www-ws-arch@w3.org
Subject: RE: Sync Definition #2 (corrected)

Well, it's a matter of definitions, and evidently yours does not 
correspond to mine. I hope people will vote soon so that we can put this 
issue behind ...
 
Ugo
-----Original Message-----
From: Assaf Arkin [mailto:arkin@intalio.com]
Sent: Wednesday, February 26, 2003 12:15 PM
To: Ugo Corda; www-ws-arch@w3.org
Subject: RE: Sync Definition #2 (corrected)

I think you have just defined a synchronous interaction (request/response, 
see formal definition) in terms of an asynchronous transport (i.e. one 
that does send and receive actions independently).
 
arkin
-----Original Message-----
From: www-ws-arch-request@w3.org [mailto:www-ws-arch-request@w3.org]On 
Behalf Of Ugo Corda
Sent: Wednesday, February 26, 2003 7:36 AM
To: Ugo Corda; www-ws-arch@w3.org
Subject: RE: Sync Definition #2 (corrected)

Asynchronous: 
A request/response interaction is said to be asynchronous when the request 
and response are chronologically decoupled. In other words, the client 
agent does not have to "wait" for the response once it issues the initial 
request. The exact meaning of "not having to wait" depends on the 
characteristics of the client agent (including the transfer protocol it 
uses). Examples include receiving the response on a different thread, on a 
different socket, on a different end-point, by polling the server, etc.
Synchronous: 
The opposite of asynchronous. 
Received on Thursday, 27 February 2003 13:04:30 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 3 July 2007 12:25:15 GMT