Preparing Messages for the Upgrade

This topic describes all the necessary steps that must be carried out before starting the upgrade to TIBCO Fulfillment Order Management 4.0.

The messages, corresponding to the in-process orders in 3.0.2 HF-4, will not be allowed to remain in the pending state on the respective queues. These messages must be processed using TIBCO Fulfillment Order Management 3.0.2 HF-4 before upgrading. However there are couple of queues on which messages will be pending.

  1. Stop the northbound system (for example, Siebel CRM) which sends the order request messages to TIBCO Fulfillment Order Management for fulfillment. Doing this ensures that there will not be any new order messages coming on the queue tibco.aff.oms.ordersService. All the existing messages must be processed by the OMS server component in 3.0.2 HF-4.
  2. Stop the southbound process component systems which are integrated with Fulfillment Order Management for processing various requests for plan items such as execute request, suspend request, activate request, and milestone release request. Doing this ensures that there will be no new messages coming on the following queues. All the existing messages must be processed by Orchestrator in 3.0.2 HF-4.
    • tibco.aff.orchestrator.planItem.execute.reply
    • tibco.aff.orchestrator.planItem.suspend.reply
    • tibco.aff.orchestrator.planItem.milestone.notify.request
    This also ensures that there will not be any new messages coming from process components on the following queues associated with the JMS based data access interfaces which are used to get the order data and get or set the plan/plan item data from OMS. All the existing messages must be processed by OMS server in 3.0.2 HF-4.
    • tibco.aff.tds.order.read.request
    • tibco.aff.tds.plan.request
    • tibco.aff.tds.plan.read.request

Keep the TIBCO Fulfillment Order Management 3.0.2 HF-4 components running for the appropriate time duration to let them process all pending messages associated with the in-flight orders on their inbound queues. The details for all the important queues are as follows:

  1. Ensure that there are no messages pending on the following queues related to the various types of order requests submitted to Orchestrator:
    • tibco.aff.orchestrator.order.submit
    • tibco.aff.orchestrator.order.suspend
    • tibco.aff.orchestrator.order.activate
    • tibco.aff.orchestrator.order.withdraw
  2. If the order feasibility check is enabled in the Orchestrator configuration, ensure that there are no messages pending on the following queues. The external feasibility provider component should process all the request messages and Orchestrator should process all the reply messages.
    • tibco.aff.orchestrator.provider.order.feasibility.request
    • tibco.aff.orchestrator.provider.order.feasibility.reply
  3. Ensure that there are no messages pending on any of the following queues that are used for the integration between Orchestrator and the standalone AOPD components for execution plan generation. There will not be messages on any of these queues if AOPD component is deployed in AOPD_colocated mode which is specified as default in the $AF_HOME/config/profiles.properties file.
    • tibco.aff.orchestrator.provider.order.opd.request
    • tibco.aff.ocv.events.plan.new.request
    • tibco.aff.ocv.events.plan.amend.request
    • tibco.aff.ocv.events.newplan.reply
    • tibco.aff.ocv.events.amendplan.reply
    • tibco.aff.orchestrator.provider.order.opd.reply
  4. If order prequalification handling is enabled in Orchestrator configuration, ensure that there are no messages pending on the following queues. The external prequalification failed request handler should process all the request messages and Orchestrator should process all the reply messages.
    • tibco.aff.orchestrator.provider.order.prequal.failed.request
    • tibco.aff.orchestrator.provider.order.prequal.failed.reply
  5. Ensure that there are no messages pending on any of the following queues that are used for integration between Orchestrator and the external plan item error handler component for processing the failed plan item requests.
    • tibco.aff.orchestrator.provider.planItem.failed.request
    • tibco.aff.orchestrator.provider.planItem.failed.reply
  6. Ensure that there are no messages pending on the following queue that is used by the external systems to release the external dependencies on the plan items. All the messages must be processed by Orchestrator.
    • tibco.aff.orchestrator.planItem.externalDependency.release.request
  7. Ensure that there are no messages pending on the following queue that are used by Orchestrator for internal processing.
    • tibco.aff.orchestrator.cache.addEvent
    • tibco.aff.orchestrator.cache.cleanup
Considering the pending messages on all the earlier mentioned queues are processed by the respective TIBCO Fulfillment Order Management components, there will be messages pending only on the following queues. These are the outbound queues for Orchestrator to send various requests for plan items to the process components. The messages on these queues will be processed once the process component systems are started after the upgrade.
  • tibco.aff.orchestrator.planItem.execute.request
  • tibco.aff.orchestrator.planItem.suspend.request
  • tibco.aff.orchestrator.planItem.activate.request
  • tibco.aff.orchestrator.planItem.milestone.release.request
If the requestReply header property was set to false in the GetOrder, GetPlan, GetPlanItem, SetPlan or SetPlanItem data access requests, there will be messages pending on either of the following queues or on the queues passed as replyTo destinations in the requests. These are also the outbound queues for the OMS server and the pending messages on these queues will also be processed once the process component systems are started after the upgrade.
  • tibco.aff.tds.order.reply
  • tibco.aff.tds.plan.reply

After ensuring that no further processing is going on in any of the servers of TIBCO Fulfillment Order Management 3.0.2 HF-4, they can be shut down. Also, shutdown all the external components, such as feasibility provider, pre-qualification failed request handler, external OPD, plan item error handler component, and so on.