Other Considerations

When you are designing your system architecture there are several general recommendations and best practices you might consider. These best practices cover end-to-end order tracking and ensure that you do not lose any data.

OrderRef

OrderRef, an external order ID, must be unique in all TIBCO Order Management - Long Running orders. If you submit an order without a unique OrderRef, the Order Management System does not treat it as a new order and attempts to amend the previous order.

If you are using a non-unique external ID to map to OrderRef or an external ID that you can use with different TIBCO Order Management - Long Running orders, it is a good practice to add the external ID as a header User Defined Format in the order.

Note: User Defined Formats in the TIBCO Order Management - Long Running have limited out-of-the-box searchability.

General Recommendations

It is important when you are designing your architecture to incorporate procedures that prevent order data loss. It is a good practice to review the following procedures before designing your architecture solution:

  • Ensure that your architecture solution includes end-to-end order tracking capability and visibility similar to that used in the order system of the TIBCO Order Management - Long Running.
  • Include recovery and repair capabilities in your design. For example, you need a plan for handling a situation when a fulfillment process call fails to connect to a back-end system. Having a plan in place prevents you from having to stop the order.
  • Determine the interfaces that the operation needs to complete this work. Resending an order might not be a viable or reasonable option.
  • Include target group representatives when planning manual steps and activities.
  • Validate your error and exception handling approach with other representatives in the order processing chain from front-end solutions to back-end systems.
  • Ensure that your solution architecture accounts for the different capabilities in each system area. For example, a front-end system might not be able to resubmit an order after it is submitted, when a back-end system can receive order data again without considering it an amendment.