You are here:
Configuration Options to Decouple Decomposition and Orchestration Processes
Use the ODIN API to separate decomposition from orchestration plan composition. Additionally, control the execution mode of your order to be synchronous or asynchronous, overriding global system settings.
Use the submitOrder and composePlan methods in the ODIN interface to invoke the decomposition and orchestration plan composition processes separately. Set the execution mode using the submitMode parameter and set the process to invoke using the decomposeOnly and queuePlanComposition flags.
| ODIN Method | Decoupling Option | Submit Mode Option | Behaviour | Order Status Transition |
|---|---|---|---|---|
| submitOrder | decomposeOnly | Synchronous | Synchronous Decomposition: Decomposes the order immediately in the current transaction and stops. No plan is created. | SUBMITTED → DECOMPOSED |
| submitOrder | decomposeOnly | Queueing | Asynchronous Decomposition: Queues the decomposition as an asynchronous job. Once the job finishes, the order stops at DECOMPOSED status. | SUBMITTED → DECOMPOSED |
| submitOrder | queuePlanComposition | Queueing | Split Asynchronous Processing: Decomposes the order, then automatically queues a separate asynchronous job to compose the plan. | SUBMITTED → DECOMPOSED → SUBMITTEDFORFULFILMENT → IN_PROGRESS |
| submitOrder | queuePlanComposition | Synchronous | Synchronous Decomposition and Asynchronous Plan Composition: Decomposes the order, then automatically queues a separate asynchronous job to compose/update the plan. | SUBMITTED → DECOMPOSED → IN_PROGRESS |
| composePlan | N/A | Synchronous | Synchronous Plan Composition: Triggers immediate plan composition for an order that is already in DECOMPOSED status. | DECOMPOSED → IN_PROGRESS |
| composePlan | N/A | Queueing | Asynchronous Plan Composition: Queues a job to compose the plan for an order that is already in DECOMPOSED status. | DECOMPOSED → SUBMITTEDFORFULFILMENT → IN_PROGRESS |

