Model Loading Process

The models mentioned in Data Models must be loaded into TIBCO Order Management - Long Running database so that they can be used by different components. These data models are modeled as catalogs using repositories and relationships readily available in TIBCO Fulfillment Subscriber Inventory. After modeling the catalogs in TIBCO Fulfillment Subscriber Inventory, they can be made available to TIBCO Order Management - Long Running and swagger REST API catalog service, either by publishing them on JMS topics, or by writing them into offline XML files, which can be used by TIBCO Order Management - Long Running at a later point in time.

Note: When model loading, Orchestrator does not process any incoming order events for orchestration when the existing flag com.tibco.fom.oms.modelLoadingMaxIdle is set to true. When the flag is set to false, Orchestrator processes the order when the model loading is in progress.
Use the following ways to load the models into TIBCO Order Management - Long Running:

After the models are received in TIBCO Order Management - Long Running, one member is assigned a task of loading models. This member is identified by the designated model loading member instance property com.tibco.af.oms.model.loading.member in the configuration file. This member is responsible for completing the model loading process and coordination with the rest of the members in the cluster.

The following steps are performed on receiving the model:
  1. A designated model loading member starts sending an advisory message on the topic tibco.aff.orchestrator.cluster.advisory.heartbeat indicating that the model loading has started. All the members listen to this message and set the modelLoadingStarted flag to true. This member keeps sending an advisory message until the loading is complete.
  2. If no advisory message is received by other members in the cluster, the members set the modelLoadingStarted flag to false after the threshold idle time.
  3. If there are any incoming requests to Orchestrator, it checks the modelLoadingStarted flag. If this flag is true, Orchestrator keeps waiting until the flag is set to false to proceed further. Once this flag becomes false, the Orchestrator request is processed.
  4. Catalog Web Service Model Loading is used for Product and Planfragment Model loading.