Description of the Illustration wls_mtx-helidon_integration.png

A high-level diagram that illustrates the flow of XA transactions between the various applications and the role of MicroTx as the coordinator of the transactions.

A box is labeled OCI Region. On the left, within this box is another box labeled Kubernetes Cluster. On the right of the box labeled OCI Region, outside the box labeled Kubernetes Cluster, are three icons arrayed one above the other, and each icon is labeled Oracle DB.

Within the box labeled Kubernetes Cluster, on the right, are three boxes arrayed one above the other. Within the topmost or the first box, there are two icons placed adjacent to one another which are labeled Helidon Application and MicroTx Library. The icon in the second box is labeled MicroTx Coordinator Service. The last box is labeled WebLogic Cluster and contains two icons placed adjacent to one another which are labeled JAX-RS Based Web Application and MicroTx Library.

Within the box labeled Kubernetes Cluster, on the right, there is an icon labeled Load Balancer. In the center, between the icon labeled Load Balancer and the three boxes, is another box in which there are two icons placed adjacent to one another which are labeled Helidon Teller Application and MicroTx Library.

On the left, outside the box labeled OCI Region, users are depicted with an icon, and the Internet is depicted with another icon. A user sends a request using the HTTP protocol over the internet. An arrow connects the icon labeled Users to the icon labeled Internet indicating this flow. The internet sends the request to the load balancer running inside the Kubernetes cluster. An arrow connects the icon labeled Internet to the icon labeled Load Balancer indicating this flow.

The load balancer uses the TCP protocol to send the request to the Helidon teller application (which contains the MicroTx library) to perform the required business operation. An arrow connects the icon labeled Load Balancer to the box in which there are two icons labeled Helidon Teller Application and MicroTx Library, indicating this flow.

The Helidon teller application calls the functions in the MicroTx library to start a transaction and communicates internally with the MicroTx Coordinator Service about the transaction. A dotted arrow labeled Tx Start connects the box in which are two icons labeled Helidon Teller Application and MicroTx Library to the box labeled MicroTx Coordinator Service, indicating this flow.

The Helidon teller application interacts with the Helidon participant (Helidon Application) and the WebLogic participant (WebLogic JAX-RS-based web application deployed in the WebLogic cluster) to perform the required business operations. An arrow labeled Interact with Helidon Participant connects the box in which are two icons labeled Helidon Teller Application and MicroTx Library to the box in which are two icons labeled Helidon Application and MicroTx Library. Another arrow labeled Interact with WebLogic Participant connects the box in which are two icons labeled Helidon Teller Application and MicroTx Library to the box labeled WebLogic Cluster in which are two icons labeled JAX-RS Based Web Application and MicroTx Library. These arrows depict the interaction of the teller application with the Helidon and WebLogic participant applications.

The Helidon and WebLogic participant applications enlist their XA DB connections with the MicroTx Coordinator Service indicated with a dotted arrow labeled Enlist XA Con that connects the box in which are two icons labeled Helidon Application and MicroTx Library to the box labeled MicroTx Coordinator Service. The participant applications store their transaction data in the Oracle database. An arrow labeled XA Connection to Store Data connects the box in which are two icons labeled Helidon Application and MicroTx Library to the icon labeled Oracle DB. Another arrow labeled XA Connection to Store Data connects the box labeled WebLogic Cluster to the icon labeled Oracle DB.

The transaction coordinator manages the transactions amongst the participant services to complete (commit or roll back) the transaction across all the participants. After the application logic is completed, the coordinator service issues the transaction 'Prepare' state and then commits the transaction. These flows are indicated by two arrows. A dotted arrow labeled Prepare and Commit connects the box labeled MicroTx Coordinator Service to the box in which are two icons labeled Helidon Application and MicroTx Library. Another dotted arrow labeled Prepare and Commit connects the box labeled MicroTx Coordinator Service to the box labeled WebLogic Cluster.

After the transaction is initiated, the MicroTx coordinator service keeps track of the transaction, and store its state in the Oracle database. An arrow labeled DB Store Type Configured connects the box labeled MicroTx Coordinator Service to the icon labeled Oracle DB, indicating this flow.

The MicroTx coordinator service sends the communication about the transaction state to the Helidon teller application to mark the end of the transaction. An arrow labeled Tx End connects the box labeled MicroTx Coordinator Service to the box in which are two icons labeled Helidon Teller Application and MicroTx Library, indicating this flow.

The teller application sends the response to the load balancer using the TCP protocol. An arrow connects the box in which are two icons labeled Helidon Teller Application and MicroTx Library to the icon labeled Load Balancer. The load balancer then sends the response over HTTP to the user who had initiated the request. An arrow connects the icon labeled Load Balancer to the icon labeled Internet and another arrow connects the icon labeled Internet to the icon labeled Users indicating this flow.

Note: In case of issues during the 'Prepare' state, the transaction is rolled back.