TIP Usage Scenario 1

 

Applies To: Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server Technical Preview, Windows Vista

In this scenario, a client application requests work from a server application in the scope of a transaction. The client application is using the DTC as its transaction manager, and the server application is using a non-DTC transaction manager that supports the TIP protocol. The transaction can be propagated using either the pull model or the push model. (For a detailed description of how the push and pull models work, see Background for TIP Transactions.)

Case A—Propagation Using the Push Model

  1. The client uses ITransactionDispenser::BeginTransaction to begin transaction T1 with transaction manager TM-X.

  2. The client calls QueryInterface to get a pointer to the ITipTransaction interface on the transaction object.

  3. The client asks the server for the TIP transaction manager URL of TM-Y.

  4. The client calls ITipTransaction::Push, using the URL it got from the server in step 3, causing TM-X to send a TIP "PUSH" command to TM-Y. TM-X returns a TIP transaction URL to the client. This transaction URL is created by concatenating the transaction manager URL of TM-Y with the transaction identifier received in the "PUSHED" command from TM-Y to TM-X.

  5. The client sends the work request to the server, along with the TIP transaction URL that the client received in step 4.

  6. The server uses the TIP transaction URL to enlist in the transaction. How the server enlists in the transaction depends on the transaction API supported by TM-Y.

Case B—Propagation Using the Pull Model

  1. Using ITransactionDispenser::BeginTransaction, the client begins transaction T1 with TM-X.

  2. The client calls QueryInterface to get a pointer to the ITipTransaction interface on the transaction object.

  3. The client calls ITipTransaction::GetTransactionURL to get the TIP transaction URL of transaction T1.

  4. The client sends the work request to the server, along with The TIP transaction URL that the client received in step 3.

  5. The server asks TM-Y to pull the transaction identified by the TIP transaction URL, which causes TM-Y to send a TIP "PULL" command to TM-X.

See Also

TIP Usage Scenario 2