W3C home > Mailing lists > Public > www-ws-desc@w3.org > July 2002

Re: WSDL and Asynchronous Messaging

From: Sanjiva Weerawarana <sanjiva@watson.ibm.com>
Date: Mon, 8 Jul 2002 10:37:58 +0600
Message-ID: <038901c22639$50210d90$13aa7cca@lankabook2>
To: "Naresh Agarwal" <nagarwal@in.firstrain.com>, <www-ws-desc@w3.org>

"Naresh Agarwal" <nagarwal@in.firstrain.com> writes:
>
> Hi

Sorry for not replying earlier; I saw this note, but didn't
get a chance to reply until now.

> WSDL 1.1 supports four transmission primitives
>
> * One-way. The endpoint receives a message.
> * Request-response. The endpoint receives a message, and sends a
correlated message.
> * Solicit-response. The endpoint sends a message, and receives a
correlated message.
> * Notification. The endpoint sends a message.
>
> Do these define only *synchronous* calls, or they also define
*asynchronous* calls.
>

The bindings that have been published for request-response ops
have been synchronous bindings. However, in principal, there's no
difficulty with doing an asynch binding for request-response ops.
However, one would need a way to pass a "service reference" in
order to do it. So for example, one can consider a binding for
request-response where the request is one HTTP POST and the
response is a later HTTP POST to the "service reference" given
by the requestor.

> Consider the following scenerio-
>
> "X" is a peer, which expose a function "GetTodaysTotalSales". Any other
peer (say *Y*) can establish a permanent session with *X* (some how) and can
call the function
> "GetTodaysTotalSales". Now *Y*  can send the result of these call to *X*
asychronously (say after 2 hours).

Did you mean to say "*X* can send .. to *Y*" (and not the way
you wrote it)?? If X offers the service then that's the one
that generates the response right?

I don't think you need to assume that the connection is held open
during this time. If you are then its more like a sync call with a
long wait .. what you want I believe is the kind of binding I
described above.

> How would we represent such a function using WSDL1.1
>
> Can the above mentioned primitives represent such a function?
>
> Also in general, can i use WSDL1.1 to define *asynchronus messaging*
between two peers (which may be using SOAP over SMTP or SOAP over BEEP)?

I believe the basic concepts of input-only operations and
input-output operations (now using the terminology of the
upcoming draft of WSDL 1.2) are capable of describing
asynchronous operations as well.

There are other patterns like pub-sub (or events) that are
also asynchronous in nature that are not quite well captured
by WSDL. We have an open issue on whether to introduce an
event mechanism to WSDL to address that.

> If WSDL1.1  does not support this, is this taken care of in WSDL1.2
>
> Any help would be greatly appreciated.

Again, the published bindings of WSDL 1.1 does not cover this case.
However, I don't believe there's any problem with doing additional
bindings that do.

Are you asking us to do such bindings in WSDL 1.2?

Bye,

Sanjiva.
Received on Monday, 8 July 2002 00:39:33 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:21 GMT