Implementing the unspecified transaction context using a native transaction
Original Publication Date: 2001-Aug-17
Included in the Prior Art Database: 2003-Jun-18
A program is disclosed that implements the EJB v1.1 unspecified transaction context using a native transaction. The unspecified transaction context described in section 11.6.3 of the EJB v1.1 specification (available from http://java.sun.com/products/ejb) if implemented as executing without a transaction would introduce integrity and cleanup problems for transaction monitors such as CICS*. This is because transaction termination commits or backs out any recoverable updates made by application code such as enterprise beans or code running as user exits and is the means by which various system components that have been involved in running application code are driven to tidy up their state. The support for EJB in CICS implements the unspecified transaction context as a 'native' transaction which in CICS parlance is called a unit of work (UOW). The advantages are that integrity and cleanup problems are avoided and enterprise beans behave as normal CICS applications regardless of whether they are executing in the unspecified transaction context. The whole EJB execution environment including ORB instance, EJB container instance, and application code executes in a JVM which runs under a CICS transaction instance. The CICS transaction instance is always associated with a UOW, although a syncpoint during the life of the transaction instance may end one UOW and begin a new one. This is consistent with the implementation freedom for the unspecified transaction context permitted in section 11.6.3 of the EJB v1.1 specification.