OpenTP1 Version 7 Description
In the user service definition, a program developer should specify the UAPs to be included in a global transaction. Note that the user service definition must be specified such that MHPs are included in global transactions. A UAP defined to be included in a global transaction is called a UAP that has the transaction attribute.
For SUPs and SPPs, a function (e.g., dc_trn_begin()) declares the start of a transaction. Another function (e.g., dc_trn_chained_commit() or dc_trn_chained_rollback()) sets a synchronization point. Whenever a function that sets a synchronization point is issued, OpenTP1 performs a transaction determination for the global transaction of the SUP or SPP. Only an SUP or SPP that has the root transaction branch can issue a function to perform a transaction determination.
Only an SUP or SPP with the transaction attribute can issue a function that starts a transaction or sets a synchronization point. You can reduce the overhead required for transaction processing by using the user server definition to specify that the UAPs that access resources are included in a global transaction and that no other UAPs are included in the global transaction. To access resources, an SUP or SPP must be defined in the user service definition as being included in a global transaction.
Figure 3-6 shows a global transaction for an SUP or SPP.
Figure 3-6 Global transaction for a SUP or SPP
When an MHP service is called, transaction processing starts. An MHP cannot issue a function (e.g., dc_trn_begin()) that starts a transaction. In cases where the MHP requests a service from an SPP, the MHP becomes the root transaction branch. Also, the SPP from which a service is requested cannot start a transaction.
Figure 3-7 shows a global transaction for an MHP.
Figure 3-7 Global transaction for an MHP
All Rights Reserved. Copyright (C) 2006, 2010, Hitachi, Ltd.