[Zope3-dev] Web Service-ish Transactions (was re:UI effort at Sprintathon)

Jeffrey P Shell jeffrey@cuemedia.com
Thu, 24 Oct 2002 14:20:33 -0600


On Wednesday, October 23, 2002, at 09:08  PM, sean.upton@uniontrib.com 
wrote:

> On a tangent, but... this thread bring up something else I've thought 
> about
> Zope UIs beyond simple HTML: it sure would be nice to have a way to do
> long-running transactions for fat clients that may perform a single
> transaction across several, spaced-out requests (say, via XML-RPC).  I
> suppose one way to do this is ZODB versions, but I'm curious as to 
> other
> ideas for accomplishing this (perhaps with a higher level component)?
>
> For example, a simple HTML form with several fields could have a 
> get/set
> method associated with that field, upon a change event for a field 
> 'foo',
> the browser JavaScript would trigger XML-RPC call to server to call the
> setFoo() method, and so on, and finally do a permanent commit with some
> possible before-commit method call to the item.  This would mean that
> unfinished work that isn't fully committed is both stateful and 
> recoverable,
> I think?

There are various (and probably overly complicated) Web Service based 
transaction models and specs floating around out there like 
WS-Transaction [1] (which I haven't read over).  I recall reading 
somewhere that the traditional ACID style transaction wasn't as 
applicable in Web Service scenarios.  I don't know if they were talking 
about transactions at the business-process level, or at a level like 
you describe where a lot of Web Service calls (be they XML-RPC, SOAP, 
or some other similar protocol) may occur between a client and one or 
more servers that need to be wrapped up into a single transaction unit.

.. [1] http://www-106.ibm.com/developerworks/library/ws-transpec/

Interesting results pop up on Google:
http://www.google.com/search?q=Web+Services+ACID+Transactions