Functional Product Initializer

There are some business scenarios where you cannot use a standard TIBCO Order Management - Long Running pattern. In these cases, there is a workaround pattern available to address your particular scenario.

Pattern Rationale

The standard TIBCO Order Management - Long Running plan development specifies that for any action ordered on a parent product, plan items (such as process components) for children must be executed first, before the parent. This can create a problem in some scenarios because you might have to operate for the parent before performing operations related to the children. For example, initializing an inventory entry for the parent product that the children have to refer to.

In this case, because the process component for the parent product is always executed last, you cannot use this pattern.

Pattern Realization

The workaround for this is to create a helper child product (functional product initializer) for the functional product, whose process components for any given action are always executed first in the plan for an order. The process component for the functional product initializer helper could, for example, create an entry for the functional product in an inventory system.

To maximize reusability, this pattern could define two helper products, one for create and one for update, which enables you to reuse the entire product across multiple functional products directly.

Through splitting by action, maximum flexibility in specifying process components is achieved. For example, if you require a create and an update process component in the same action, you could use this pattern.