Processing New Order with MOPD Enabled
The sequence diagram for processing a new order with MOPD enables is as follows:
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:
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
<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.