[Zope] Python and EJB (J2EE)

Tres Seaver tseaver@digicool.com
Mon, 27 Nov 2000 23:05:04 -0500


"Hung Jung Lu" <hungjunglu@hotmail.com> wrote:

<snip>

> I've mentioned two-phase commit to Digicool people. Not sure whether it's
> already inside Zope or not, but it seems not. Zope's TM (Transaction
> Machinery) does not seem to be two-phase. See the TM.py file itself: it only
> has
> 
>     def _finish(self):
>         self.db.commit()
> 
> That is, I don't see the equivalent of prepare_to_commit().

ZODB.Transaction uses a TPC protocol:  please notice 'tpc_begin()',
'tpc_vote()', 'tpc_abort()', 'tpc_finish()'.  This is how ZODB can
synchronize, for instance, with Oracle/Sybase commit/rollback.
For the nonce, ZODB expects to be doing the driving;  playing nice
with others XA's is down the road a bit.  See Jim's model:

  http://www.zope.org/Documentation/Developer/Models/ZODB

and, in particular:

 
http://www.zope.org/Documentation/Developer/Models/ZODB/ZODB_Architecture_Storage_Interface_Info.html

for more than you want to know. :)

Tres.
-- 
===============================================================
Tres Seaver                                tseaver@digicool.com
Digital Creations     "Zope Dealers"       http://www.zope.org