[Zope-dev] ZOPE and my domain

Rob Page rob.page@digicool.com
Tue, 30 Nov 1999 17:46:54 -0500


Well, I'll take a stab at this...

> I am now in a position where I need essentially an application server.

Zope is one of those!
 
> It is essentially a work flow automation system that during the course
> of the work flow we must pull data from various disparate 
> data sources, publish data to other data sources and update several
flat 
> file systems and wrap the whole shooting match inside of a transaction
or 
> as much of it as we can!!!
> 

<snip>

> Option four: Install ZOPE coupled with Apache or possibly the built in
> ZOPE web server.  Here I am confused as to whether Zope can do the
> transaction management.
> Con: Don't know if it will provide the functionality I require!!
> 
> Can Zope coupled with Apache and Python do what I need?

Zope has a rather strong notion of transactions.  Significantly, the
boundaries of transactions on the ZODB and the RDBMS are aligned.  In
other words, a failure on either the ZODB leg or the RDBMS leg of a
particular transaction will either both succeed or both fail (i.e., be
rolled back).  This leverages existing and robust transaction support in
each of these persistence mechanisms (i.e., the ZODB and the RDBMS).
Most file systems (journaling file systems excepted) do not have the
notion of a transaction.  It would be the updates to flat files that
would hard (impossible?) to incorporate into Zope's transactions.

It's therefore hard to use the word transaction in this context since
transaction, imo, implies many things that the file system is unlikely
to provide.  This is an architectural issue which other app servers are
equally unlikely to support.

HTH,
--Rob