[graap-wg] Re: More async/asymmetry comments

Karl Czajkowski karlcz at univa.com
Wed Feb 23 21:42:52 CST 2005


On Feb 23, Karl Czajkowski loaded a tape reading:
...
> Additionally, I am persuaded that as a practical matter, it may be
> worth rendering the asymmetric (client-server) interface to support
> asynchronous (post+poll) messaging because of limitations in the
> binding and tooling world today.

I should add that two specific SOAP/HTTP limitations have changed my
mind (I am sorry I had forgotten about these in earlier discussions):

  1) In/out message exchanges are correlated by HTTP post/response
     ordering and so would block up an HTTP socket until done.  I was
     wrongly thinking that an out message could be delayed while other
     exchanges continued on the same socket.

  2) HTTP post pipelining is discouraged in the HTTP spec, so even 
     the "in" half gets blocked as opposed to just blocking responses
     until the slow one occurs.

So in practice, every concurrent blocking in/out exchange will result
in another socket from the client to whomever he is invoking.

A much better HTTP-based binding solution would allow two sockets to
handle any number of outstanding requests by:

  1) Allowing pipelining of posts and having simple empty responses
     for acknowledgement of receipt on one socket, with additional
     correlating message headers.

  2) Having pipelined gets to retrieve the responses on another
     socket, in what ever order they are produced and using the
     correlation headers to sort them out.

But obviously that is not a solution today.

karl

-- 
Karl Czajkowski
karlcz at univa.com





More information about the graap-wg mailing list