Processing New Order with MOPD Enabled

The sequence diagram for processing a new order with MOPD enables is as follows:

Sequence Diagram for Processing New Order with MOPD Enabled

For a newly submitted order, a template plan is generated which can be edited by the user from TIBCO Fulfillment Order Management UI. This template plan can be generated using following template implementation:

  • No Template
  • Default Template
  • Custom Template
  • JMS Template
  • Using AOPD

The following table provides the implementation details for generating template plan. Some of these implementations are supported by the application and user customization of implementation is also supported.

Property Name Property Value Usage
com.tibco.fom.orch.mopd.templatePlan No No Template Implementation will be used.
Default Default Template Implementation will be used.
Custom Custom Template Implementation will be used. Fully qualified class name of custom implementation will be used by specifying property com.tibco.fom.orch.mopd.customTemplatePlanCreator.
JMS JMS Template Implementation will be used
AOPD AOPD will be used to generate template plan

No Template Implementation

No Template Implementation is supported by the application. The template plan generated will only have a plan wrapper without any plan item details. Configure the property using the following code:

<ConfValue description="Template for Mopd plan generation" isHotDeployable="true" name="Template for Mopd plan generation" propname="com.tibco.fom.orch.mopd.templatePlan" readonly="false" sinceVersion="3.0" visibility="Basic">
   <ConfString default="AOPD" value="No" />
</ConfValue>

Default Template Implementation

Default Template Implementation is also supported by the application. The template plan generated will have plan details with one plan item details for each order line mentioned in the order details. Configure the property using the following code:

<ConfValue description="Template for Mopd plan generation" isHotDeployable="true" name="Template for Mopd plan generation" propname="com.tibco.fom.orch.mopd.templatePlan" readonly="false" sinceVersion="3.0" visibility="Basic">
   <ConfString default="AOPD" value="Default" />
</ConfValue>

Custom Template Implementation

Custom Template Implementation can be implemented by the user. The details for implementing custom template to generate plan are as follows:

  • Create a new java project in IDE with omsCommon.jar in build path.
  • Implement an interface with name com.tibco.aff.oms.server.jms.orch.mopd.MOPDTemplate.
  • Build the code and include the .class/jar file in WEB-INF/classes(.class) or WEB-INF/lib(jar) folder of omsServer.war.
  • Configure the following property through the Configurator:
    <ConfValue description="Template for Mopd plan generation" isHotDeployable="true" name="Template for Mopd plan generation" propname="com.tibco.fom.orch.mopd.templatePlan" readonly="false" sinceVersion="3.0" visibility="Basic">
       <ConfString default="AOPD" value="Custom" />
    </ConfValue>
  • Configure the implemented class name through Configurator:
    <ConfValue description="Template for Mopd plan generation" isHotDeployable="true" name="Template for Mopd plan generation" propname="com.tibco.fom.orch.mopd.templatePlan" readonly="false" sinceVersion="3.0" visibility="Basic">
       <ConfString default="" value="" />
    </ConfValue>
  • Redeploy the OMS Server.
  • A sample do-nothing implementation is included with distribution in omsCommon.jar with the name com.tibco.aff.oms.server.jms.orch.mopd.custom.CustomMOPDTemplateImpl. This is only for testing and will not generate a valid plan to proceed further. If enabled, the following logs will be generated:
    Generate template plan through {} for orderID {}.
  • By default, blank value is present in the Configurator that indicates no plan generation by custom implementation.

JMS Template Implementation

JMS Template Implementation is also supported by application. The request to generate plan will be publish to a JMS destination and the generated plan will be published back to the JMS destination. Configure the property using the following code:
<ConfValue description="Template for Mopd plan generation" isHotDeployable="true" name="Template for Mopd plan generation" propname="com.tibco.fom.orch.mopd.templatePlan" readonly="false" sinceVersion="3.0" visibility="Basic">
   <ConfString default="AOPD" value="Jms" />
</ConfValue>

You can configure the JMS destination for publishing request payload to generate plan using the following property:

<ConfValue description="Queue for sending orderrequest to generate template plan for MOPD" isHotDeployable="true" name="Queue for sending orderrequest to generate template plan for MOPD" propname="com.tibco.fom.oms.orch.mopd.template.orderrequest.sender.queue" readonly="false" sinceVersion="3.0" visibility="Basic">
   <ConfString default="" value="" />
</ConfValue>

You can configure JMS destination for receiving the template plan payload using the following property:

<ConfValue description="Queue to receive response of generated template plan for MOPD" isHotDeployable="true" name="Queue to receive response of generated template plan for MOPD" propname="com.tibco.fom.oms.orch.mopd.template.orderresponse.response.queue" readonly="false" sinceVersion="3.0" visibility="Basic">
   <ConfString default="" value="" />
</ConfValue>

The default value is always blank for the configuration.

Using AOPD

The plan will be generated by AOPD. Configure the property using the following code:

<ConfValue description="Template for Mopd plan generation" isHotDeployable="true" name="Template for Mopd plan generation" propname="com.tibco.fom.orch.mopd.templatePlan" readonly="false" sinceVersion="3.0" visibility="Basic">
   <ConfString default="AOPD" value="AOPD" />
</ConfValue>

This is the default configuration to generate template plan.