[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