Automated Order Plan Development
In TIBCO Order Management - Low Latency context, an order and the corresponding execution plan respectively represent the following:
Automated Order Plan Development is the core component of TIBCO Order Management - Low Latency, which transforms the What part, i.e. order into How - the execution plan.
Automated Order Plan Development receives orders from Orchestrator. Automated Order Plan Development decomposes an order into a plan. The plan is used to fulfill the corresponding order.
Automated Order Plan Development takes into account the specifications of the required products and the products currently provided to a customer.
Automated Order Plan Development uses a Product Catalog to decompose the orders. Typically, the Product Catalog can be TIBCO Product and Service Catalog.
When an order is received, its order lines are decomposed by 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 might contain a bundle, which might 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 Order Management - Low Latency 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 Order Management Server component to Automated Order Plan Development for the execution plan generation. Automated Order Plan Development component has the active reference of the product and the customer catalog.
Automated Order Plan Development generates the execution plan by applying rules on the incoming order against the product, and customer catalogs for the customer coming along with the order in execution plan generation request. See figure Plan Generation by Automated Order Plan Development Inputs and Outputs
- Plan development performance is related to the size of the catalog and order being decomposed. Where possible, the size of both must be reduced to improve performance.
- Plan Fragments must not be modeled that do not do anything at execution time. Only plan items that do useful work must go into the plan.
- Milestones and overlapping sequencing must be used instead of empty plan items for dependencies.
For a product requested in an order line, Automated Order Plan Development 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 and Single Use. On completion, the generated execution plan is sent back to the TIBCO Order Management - Low Latency Orchestrator for the order orchestration process.
The typical order fulfillment flow in TIBCO Order Management - Low Latency is represented by the following sequence diagram:
Error Messages and Handling
Automated Order Plan Development 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, Automated Order Plan Development stops the plan generation immediately and returns an error response. The error handling also takes care of circular dependency in the plan and returns an appropriate response.