The project is intend to give a simple implementation of Web Service Transaction Standards (WS-Coordination, WS-AtomicTransaction, WS-BusinessActivity).
mvn install
The tests use jetty as servlet container which need port 8080 on localhost, so make sure the port is not occupied.
Basically, A transaction (or activity) involves coordinators and participants. The coordinator coordinates the transaction by interactive with participant under certain protocols. These protocols are typically defined by WS-AtomicTransaction and WS-BusinessActivity. All protocol operations are provided by web services.
Therefore, architecture of coordinators and participants are described blow respectively.
CoordinatorManager
is the Coordinator that manages all transaction
related with the site it resides at. As a result, it is singleton. It holds
references of all transactions indexed by id.
For transaction instances, ActivityCoordinatorContext
and its
subclasses are in charge. They are responsible for activation and registration
of different coordination types and protocols.
Similar with CoordinatorManager
, WsatTxManager
manages all transactions involved in the site it resides at.
WsatTransaction
is for transaction instances.