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

Re: smtp is stateful protocol?

From: Mark Baker <distobj@acm.org>
Date: Tue, 30 Sep 2003 12:02:44 -0400
To: David Orchard <dorchard@bea.com>
Cc: www-ws-arch@w3.org
Message-ID: <20030930120244.L9630@www.markbaker.ca>

Yes, SMTP is stateful, as are many other application protocols.

If the reason this was brought up was to suggest that statelessness
should not be an SOA constraint though, keep in mind that SMTP sessions
(not connections) include only a single mutation (i.e. one DATA
invocation), thereby avoiding the partial failure problems typical with
stateful connectors.  Also, between sessions, SMTP is stateless.  So
it's very atypical, and therefore a poor example.

An architectural style is only a guide, not a conformance or
interoperability statement.  What matters most is that architects are
familiar with the properties of the style, and that they understand
what properties are sacrificed when constraints are not followed.
Stateless services have several superior properties to stateful
services (security, visibility, reliability), without much of a
downside (larger messages) for this space.  For this reason alone, I
feel that statelessness (technically, stateless connectors) should
remain a constraint.

Also, I've heard that you personally Dave, see self-description as
pretty key to Web services.  I'm sure I don't have to tell you that
if you're using a stateful connector, you are by definition, not
self-descriptive.

Mark "will not mention REST" Baker.

On Fri, Sep 26, 2003 at 09:03:01PM -0400, David Orchard wrote:
> 
> I was reading through rfc822 and rfc821 today.  SMTP seems to be a stateful
> specific method protocol that has been widely and sucessfully deployed on
> the internet.  Heck, there's even state transition diagrams.  Anybody
> disagree?  Please make sure to have read smtp before responding.
> 
> Cheers,
> Dave

-- 
Mark Baker.   Ottawa, Ontario, CANADA.        http://www.markbaker.ca
Received on Tuesday, 30 September 2003 11:58:44 GMT

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