[ZODB-Dev] Pluggable transactions logic

Steve Alexander steve@cat-box.net
Fri, 27 Jul 2001 19:25:02 +0100


John,

We're thinking about how to make the ZODB Transaction module so that it 
can have extra stuff plugged in.

We've now got two use-cases, and I'd like to start thinking about what 
sort of API is needed to support these four cases:

* Transaction logic is left as-is

* Extra Transaction stuff from ZCF gets plugged in

* Extra Transaction stuff from TransactionAgents get plugged in

* Both ZCF and Transaction agents are running in the same system

There are a couple of obvious solutions:

* The ZODB gets distributed with the joint capabilities of 
TransactionAgents and ZCF's transaction stuff in, by default

* The ZODB gets an API to support plugging in arbitrary processing at 
various points in transaction processing.

The former approach is nice iff ZCF and TransactionAgents represent 
everything you could want to do with transactions. It is also good if 
there is signigicant overlap in what the two add-ons are doing.

The latter approach is best if you want to keep ZODB simple, but allow 
arbitrary other more complex transaction processing to happen, in 
arbitrary combinations.


Any thoughts?

I still need to look through the ZCF code. I'll try to get around to it 
soon.

--
Steve Alexander
Software Engineer
Cat-Box limited