Numerous extended transaction models have been proposed in the literature t
o overcome the limitations of the traditional transaction model for advance
d applications characterized by their long durations, cooperation between a
ctivities and access to multiple databases (like CAD/CAM and office automat
ion). However, most of these extended models have been proposed with specif
ic applications in mind and almost always fail to support applications with
slightly different requirements.
We propose the Multiform Transaction model to overcome this limitation. The
multiform transaction model supports a variety of other extended transacti
on models. A multiform transaction consists of a set of component transacti
ons together with a set of coordinators which specify the transaction compl
etion dependencies among the component transactions. A set of transaction p
rimitives allow the programmer to define custom completion dependencies. We
show how a wide range of extended transactions can be implemented as multi
form transactions, including sagas, transactional workflows, nested transac
tions, and contingent transactions. We allow the programmers to define thei
r own primitives-having very well-defined interfaces-so that application sp
ecific transaction models like distributed multilevel secure transactions c
an also be supported.