Automated Order Plan Development
In TIBCO® Fulfillment Order Management context, an order and the corresponding execution plan respectively represent the following:
Automated Order Plan Development (AOPD) is the core component of TIBCO Fulfillment Order Management, which transforms the What part, i.e. order into How - the execution plan.
Automated Order Plan Development (AOPD) receives orders from Orchestrator. AOPD decomposes an order into a plan. The plan is used to fulfill the corresponding order.
AOPD takes into account the specifications of the required products and the products currently provided to a customer.
AOPD uses a Product Catalog to decompose the orders. Typically, the Product Catalog can be TIBCO® Fulfillment Catalog (FC).
When an order is received, its order lines are decomposed using a Product model.
A Product Model contains Bundles and Products Services. A Product model also contains concepts such as sequencing and dependencies.
The product specification for each order line is extracted from a Product Catalog by the decomposition component.
The product specification is required to create execution plan fragments. These execution plan fragments define services, products, and resources required. For example, an order line may contain a bundle, which may be comprised of several products and services. Taking into consideration factors such as sequencing and dependencies, these execution plan fragments are then combined to create a single execution plan.
An incoming order to TIBCO® Fulfillment Order Management consists of one to many order lines, with each line requesting a product or service to be fulfilled. Orchestrator sends the order received from the OMS component to AOPD for the execution plan generation. AOPD component has the active reference of the product and the customer catalog.
AOPD generates the execution plan by applying various rules on the incoming order against the product, customer catalogs and the optional inventory for the customer coming along with the order in execution plan generation request. See figure Plan Generation by AOPD Inputs and Outputs
- Plan development performance is related to the size of the catalog and order being decomposed. Where possible, the size of both should be reduced to improve performance.
- Plan Fragments should not be modeled that do not do anything at execution time. Only plan items that do useful work should go into the plan.
- Milestones and overlapping sequencing should be used instead of empty plan items for dependencies.
For a product requested in an order line, AOPD creates a plan item and assigns the plan fragment corresponding to the action specified in the order line from the Product Catalog. All such plan items are added into the execution plan. The plan is further optimized by applying rules for features such as Affinity, Single Use, and so on. On completion, the generated execution plan is sent back to the Fulfillment Order Management Orchestrator for the order orchestration process.
The typical order fulfillment flow in TIBCO® Fulfillment Order Management is represented by the following sequence diagram:
Error Messages and Handling
AOPD provides error handling and returns meaningful responses in case of errors detected during the stages of plan development. During plan generation if any errors are reported, AOPD will stop the plan generation immediately and will return an error response. The error handling also takes care of circular dependency in the plan and returns an appropriate response.