RP/TUX 9.1 - [/Domain] tightly-coupled transactions accross several /Domain links (Doc ID 777579.1)

Last updated on NOVEMBER 04, 2016

Applies to:

Oracle Tuxedo / Tuxedo / 9.1
Information in this document applies to any platform

Goal

DESCRIPTION:
This is a request to propagate CR079734 to TUXEDO 9.1.

Please also look at CR279623 for propagation of correct behavior.

Original description of CR079734 reads:
=======================================

This enhancement would explicitly contradict some parts of the following documentation:

TUXEDO 6.5: http//e-docs.bea.com/tuxedo/tux65/domgd/dom03.htm#1000256
TUXEDO 8.0: http//e-docs.bea.com/tuxedo/tux80/atmi/addoma9.htm

What would be contradicted in some circumstances are the sentences
">>>The TDomain instantiation tries to optimize GTRID mapping by implementing a tightly-coupled
relationship. In TDomain, multiple service requests issued on behalf of the same global transaction are mapped to the
same network transaction branch. Therefore, incoming service requests can be mapped to a single BEA Tuxedo
transaction. However, the hierarchical structure of interdomain communication and the interdomain transaction tree
must still be maintained.

>>>The optimization that TDomain introduces applies only to a single domain. When two or more domains are
involved in a transaction, the network transaction tree contains at least one branch per domain interaction. Hence,
across domains, the network transaction tree remains loosely-coupled. 

>>>The optimization that TDomain introduces applies only to a single domain. When two or more domains are
involved in a transaction, the network transaction tree contains at least one branch per domain interaction. Hence,
across domains, the network transaction tree remains loosely-coupled. "

The behavior the customer is currently experimenting is the following and agrees with the documentation (watch the
graphs in fixed-width font)

|---------APP1----------|    |----------APP2---------|
|                       |----|                       |
| tpbegin()             |\  /|                       |
|   tpcall SVC1         | \/ |       SVC1 in  tran 1 |
|   tpcall SVC2         | /\ |       SVC2 in  tran 2 |
| tpcommit()            |/  \|                       |
|                       |----|                       |
|-----------------------| ^  |-----------------------|
                          |- 2 GWTDOMAIN links
                                                          interconnected between APP1 and APP2

What the customer wants to have every time is

|---------APP1----------|    |----------APP2---------|
|                       |----|                       |
| tpbegin()             |\  /|                       |
|   tpcall SVC1         | \/ |       SVC1 in  tran 1 |
|   tpcall SVC2         | /\ |       SVC2 in  tran 1 |
| tpcommit()            |/  \|                       |
|                       |----|                       |
|-----------------------|    |-----------------------|

You may note that this is to work in a more complex situation where the GWTDOMAINs in APP1 are more than 2, and there
may be several remote applications, and more than 2 links between 2 applications.

So, the customer wants to have several /Domain links between 2 applications and at the same time ensuring tight
coupling of transactions in the remote domain.

Said another way  the customer does have an application-context, which maps to the transaction context, and would like
TUXEDO to enforce this context above several /Domain links between several applications

CONFIGURATION:
Tuxedo 9.1

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms