RE: Stateful Web Services...

I am asserting that stateful services may scale better than stateless
services.  I'm not making any claim about stateful or stateless
messages.  

I believe that web applications are regularly built using stateful
services (where the state resides upon the server) and stateless
messages (where the the state id is in the message).

The multi-partner interaction is an example of where stateless service
won't work at all.   The service will have to coordinate the many client
interactions and the state necessary for that is on the server.  Whereas
Web browsing is typically a single client talking to a single instance
of a service.  

On a simple client/server interaction, there may be scenarios where the
state size is very large compared to the network.  It may scale better
to have the state shuffled to disc rather than across the network if the
back-side of the state is easier to augment than the front-side.  

There are many others as Roy mentions.  I could get into the aspects of
RM, security token authorization, asynch and how they relate to
scalability, but the point is that state assignment gets down to the
trust or care that the server has wrt clients.  The more it dumbs down
it's client expectations, the more the server will do, such as managing
state.

Cheers,
Dave

> -----Original Message-----
> From: Savas Parastatidis [mailto:Savas.Parastatidis@newcastle.ac.uk]
> Sent: Friday, October 29, 2004 3:02 PM
> To: David Orchard; www-ws@w3.org
> Subject: RE: Stateful Web Services...
> 
> Dear David,
> 
> [snip]
> 
> >
> > Scalability is also impacted by the frequency of interactions,
whether
> > the load on a component is distributed evenly over time or occurs in
> > peaks, whether an interaction requires guaranteed delivery or a
> > best-effort, whether a request involves synchronous or asynchronous
> > handling, and whether the environment is controlled or anarchic
(i.e.,
> > can you trust the other components?)."
> >
> 
> 
> Thanks for the definition. It's really interesting.
> 
> > Roy specifically talks about scalability being affected by a variety
> of
> > aspects of the interaction patterns.  Which he has done in a far
> better
> > way than I have.  Notice he particularly says that the location of
> > application state and extent of distribution affects scalability.
He
> > does not say that stateless services are always the best.  It's the
> old
> > engineering answer, "it depends".
> >
> 
> Please allow me to understand your argument. Are you suggesting that
> given a choice to realise an architecture of a large-scale,
distributed
> system using either stateless or stateful interactions there is a
chance
> that the choice of the latter would be better? I guess I have
difficulty
> understanding how having to deal with the explicit management of state
> (e.g. distributed garbage collection, concurrency, breaking
references,
> dependence on remote state through references, etc.) can help
> scalability.
> 
> Regards,
> .savas.

Received on Friday, 29 October 2004 22:36:30 UTC