Partially Completed Order Fulfillment
Partially completed order fulfillment works in a similar manner, except as part of the plan development step certain plan items are indicated as having previously been completed. The new orchestration is created based on this information. This will allow migration of partially completed orders from other fulfillment systems into Orchestrator.
In order for a partial order fulfillment to work, the previous fulfillment system must have suspended execution of the plan at a location that allows for migration. This will mean pushing orders through to completion of the currently in progress process component, and then suspending the order once all current in progress tasks have been completed. A sample scenario is outlined below:
In the existing fulfillment system a plan is in execution. The plan snapshot occurs while process component PC_2 is in progress. This plan will be in an inconsistent state and cannot be migrated. Therefore the in progress process component must be pushed through to completion before migrating the order. At this point PC_2 will be completed and at this point the order will be suspended before PC_3 begins.
The partially completed order is submitted to Orchestrator just as a new order. During the callout for plan development a migration component will analyze the order and determine if it is partially completed or not. If it’s a new order it will be processed normally. If it’s partially completed then a partial execution plan is created and returned to Orchestrator. Orchestrator will then set the status of previously completed plan items to complete so that they do not execute again. Orchestration will then continue at the next steps in the execution plan when the plan is resumed.