Overview

Each ADAPT packet includes its own packet interface responsible for processing incoming transactions from other packets and sending outgoing transactions to other packets. A packet’s interface consists of a list of transactions defined for the packet. You define the packet interface as part of coding the packet’s MUFL application.

For example:

application application_name {  trn transaction1 ...  trn transcation2 ...  trn transaction3 ... }

In this example, the packet’s interface is the list of 3 transactions, namely, ::application_name::transaction1 , ::application_name::transaction2 and ::application_name::transaction3.

For transaction implementation details, refer to Defining Transactions (The trn Statement).

The process of receiving, sending, and invoking transactions is managed by the ADAPT wrapper responsible for the corresponding packet. When the ADAPT wrapper receives an ADAPT messaging protocol message (b2w_exec_transaction) requesting to execute a transaction in a certain packet, the wrapper handles the execution through these steps:

  1. The ADAPT wrapper receives a transaction request message (b2w_exec_transaction) from the message broker.

  2. The ADAPT wrapper then extracts the recipient packet ID. If the ID is known, the process proceeds to step 3. If the ID is not known, an error is logged and the message is dropped.
  3. The ADAPT wrapper invokes the transaction in the packet.

  4. If the transaction is successful, the process moves to step 5. If not, an error is logged.

  5. If the ADAPT wrapper is connected to a backup storage component, then the transaction is saved in the transaction log of the backup storage. The wrapper will await a confirmation that the transaction is fully committed to the backup, before proceeding.

  6. The ADAPT wrapper iterates through the list of actions returned as transaction result and executes them as instructions for further actions.

For example, one of the possible success actions is to send a new transaction to a different packet. In this case, the ADAPT wrapper handles the request and sends the transaction to the message broker who routes the transaction to the correct ADAPT wrapper, initiating the steps again with the new transaction.

For more information, refer to the messaging protocol