W3C home > Mailing lists > Public > www-ws-arch@w3.org > December 2002

RE: RM Roles: RE: "Reliable" web services for Next Big Thing?

From: Burdett, David <david.burdett@commerceone.com>
Date: Thu, 5 Dec 2002 12:48:01 -0800
Message-ID: <C1E0143CD365A445A4417083BF6F42CC053D14DF@C1plenaexm07.commerceone.com>
To: "'Dave Hollander'" <dmh@contivo.com>, www-ws-arch@w3.org

Another thing we should consider is that timeout management can work WITHOUT
reliable messaging. The use case is where you want to send a message to
someone with the instructions that "if you don't get this message by the
time specified, then please ignore it" but you don't care either if the
message is actually delivered. You could imagine this being expressed as a
SOAP Feature/Module.

Does this mean we would want one definition of timeout semantics for
Reliable Messaging and another one for when we are not doing Reliable
Messaging?

David

-----Original Message-----
From: Dave Hollander [mailto:dmh@contivo.com]
Sent: Thursday, December 05, 2002 8:59 AM
To: www-ws-arch@w3.org
Subject: RM Roles: RE: "Reliable" web services for Next Big Thing?



Here are a few from Edwin's email. Do we know the real
detail of these roles?

* encapsulating disconnected interactions 
* retries 
* exception 
* timeout management 

DaveH
-----Original Message-----
From: Edwin Khodabakchian [mailto:edwink@collaxa.com]
Sent: Thursday, December 05, 2002 9:54 AM
To: 'Mathews, Walden'; 'Champion, Mike'; www-ws-arch@w3.org
Subject: RE: "Reliable" web services for Next Big Thing?



+1. Well said.

We have gone through the same mistakes and learning curve. The
infrastructure that certainly help by encapsulating disconnected
interactions and retries but exception and timeout management has to be
replicated/done at the application level for the reasons highlited by
Walden. Please note that this is true even in the case where you use
SOAP over JMS. We run into this problem in every customer deployment.

Edwin

> The idea that reliability in the infrastructure doesn't scale 
> up well is not peculiar to RESTifarians.  I came gradually to 
> that conclusion over several years working with distributed 
> market data, long before I knew anything about Web or REST.  
> A couple of
> examples:
> 
>     - Our workstation product always had built-in retry protocol
>       at the application level, no matter what substrate it was
>       communicating over, and it's plainly obvious that even if it
>       uses TCP/IP, the eventual loss of connection places the
>       burden of being a good "user agent" back on the application
>       layer in the hypothetical stack.  No way out of that if
>       you want to be nice to your customer.
> 
>     - I made the design mistake of a lifetime when managing
>       ticker plant development.  We needed to arbitrate between
>       redundant feeds, and chose to do it in the infrastructure
>       instead of the application layer.  Woe is me.  We ended up
>       implementing a sliding window protocol, introducing
>       unavoidable latency and still falling short of the full
>       requirement, all because we were focused on a "reliable
>       stream" instead of a "recoverable repository".  Hindsight
>       is 20/20.  Just sticking records in a database and filling
>       the gaps out of band would have been both easier and a 
>       better functioning solution.
> 
> This has little to do with REST, according to my experience, 
> so it might be helpful in a political way to decouple.
Received on Thursday, 5 December 2002 15:47:49 GMT

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