15 Implementing the Provision Order and Update Fulfillment Order Business Flows

This chapter explains how the Oracle Application Integration Architecture (Oracle AIA) Oracle Communications Order to Cash Integration Pack (the integration) implements the Provision Order and Update Fulfillment Order business flows.

About the Provision Order and Update Fulfillment Order Business Flows

The following pre-built integration options enable the Provision Order and Update Fulfillment Order business flow:

  • Order to Cash for Oracle Communications Order and Service Management (OSM)

The Provision Order and Update Fulfillment Business Order business flows include the following integration flow:

  • OSM Fulfillment to OSM Provisioning integration flow

About the OSM Fulfillment to OSM Provisioning Integration Flow

This integration flow participates in both the Provision Order business flow and the Update Fulfillment Order business flow.

For the Provision Order business flow, this integration flow passes provision order requests from OSM in the central order management role (OSM COM) to OSM in the service order management role (OSM SOM).

For the Update Fulfillment Order business flow, this integration flow passes milestone, status, and data updates from OSM SOM to OSM COM.

This integration flow uses the following services:

  • ProcessProvisioningOrderOSMCFSCommsJMSConsumer

  • ProcessProvisioningOrderOSMPROVCommsJMSProducer

  • ProcessFulfillmentOrderUpdateOSMCFSCommsJMSProducer

  • ProcessFulfillmentOrderUpdateOSMPROVCommsJMSConsumer

Figure 15-1 shows the sequence of integration services for the OSM Fulfillment to OSM Provisioning integration flow.

Figure 15-1 OSM Fulfillment to OSM Provisioning Sequence

This image is described in the surrounding text.

The integration passes provisioning orders to OSM SOM and receives updates in OSM COM as follows:

  1. For each new provisioning order, OSM COM creates a ProcessProvisioningOrderEBM message and drops it into the AIA_CRTFO_OUT_JMSQ queue.

  2. The ProcessProvisioningOrderOSMCFSCommsJMSConsumer service picks up the ProcessProvisioningOrderEBM and sends it to the ProcessProvisioningOrderOSMPROVJMSProducer service.

  3. ProcessProvisioningOrderOSMPROVJMSProducer drops the message into the AIA_FOPROV_IN_JMSQ queue, where OSM SOM picks it up and processes it.

  4. While OSM SOM provisions the order, it sends updates by dropping the ProcessFulfillmentOrderUpdateEBM message into the AIA_FOPROV_OUT_JMSQ queue.

  5. The ProcessFulfillmentOrderUpdateOSMPROVCommsJMSConsumer service picks up ProcessFulfillmentOrderUpdateEBM and sends it to the ProcessFulfillmentOrderUpdateOSMCFSCommsJMSProducer service.

  6. ProcessFulfillmentOrderUpdateOSMCFSCommsJMSProducer service drops ProcessFufillmentOrderUpdateEBM into the AIA_FOCFS_IN_JMSQ queue where OSM COM picks it up to update the status of the order.

Defining Transaction Boundaries and Recovery Details

For this flow there are two transaction boundaries. Table 15-1 describes the transactions involved, the database operations, and what actions to take in case of an error.

See "Using Error Type to Control Response to Order Fallout" for more information about system and business errors.

The following services are involved:

  • ProcessProvisioningOrderOSMCFSCommsJMSConsumer

  • ProcessProvisioningOrderOSMPROVCommsJMSProducer

  • ProcessFulfillmentOrderUpdateOSMPROVCommsJMSConsumer

  • ProcessFulfillmentOrderUpdateOSMCFSCommsJMSProducer

Table 15-1 Transaction Boundaries and Recovery Details

Transaction DB Operations In Case of Error Recovery

ProcessProvisioningOrderOSMCFSCommsJMSConsumer routes the message to ProcessProvisioningOrderOSMPROVCommsJMSProducer, which produces message into AIA_FOPROV_IN_JMSQ. SAF puts message in OSM.

None

Rollback JMS message to originating queue AIA_CRTFO_OUT_JMSQ_ErrorQ

Resubmit the message from AIA_CRTFO_OUT_JMSQ_ErrorQ.

During provisioning, update messages are dequeued by OSM and eventually moves to AIA_FOPROV_OUT_JMSQ. ProcessFulfillmentOrderUpdateOSMPROVCommsJMSConsumer routes the message to ProcessFulfillmentOrderUpdateOSMCFSCommsJMSProducer, which produces the message to AIA_FOCFS_IN_JMSQ.

None

Rollback JMS message to the originating queue AIA_FOPROV_OUT_JMSQ_ErrorQ.

Resubmit the order from AIA_FOPROV_OUT_JMSQ_ErrorQ.


See the discussion of configuring Oracle AIA processes for error handling and trace logging in Oracle Fusion Middleware Developer's Guide for Oracle SOA Core Extension for more information about rollback procedures.

Industry Oracle AIA Components

The Provision Order and Update Fulfillment Order business flows use the following communications industry-specific Oracle AIA components:

  • ProvisioningOrderEBO

  • ProcessProvisioningOrderEBM

  • FulfillmentOrderEBO

  • ProcessFulfillmentOrderUpdateEBM

The following directories contain the industry component files:

  • Enterprise business object (EBO) and enterprise business message (EBM) XML schema files:

    Oracle_home/comms_home/source/soainfra/apps/AIAMetaData/AIAComponents/EnterpriseObjectLibrary/Industry/Communications/EBO/

  • Enterprise business service (EBS) WSDL files:

    Oracle_home/comms_home/source/soainfra/apps/AIAMetaData/AIAComponents/EnterpriseBusinessServiceLibrary/Industry/Communications/EBO/

For detailed documentation of individual EBOs and EBMs, click the AIA Reference Doc link on EBO and EBM detail pages in the Oracle Enterprise Repository (OER).

EBOs can be extended, for instance, to add new data elements. These extensions are protected and remain intact after a patch or an upgrade, so long as the extensibility guidelines are followed.

See the discussion of Oracle AIA assets extensibility patterns in Oracle Fusion Middleware Developer's Guide for Oracle SOA Core Extension for more information about extending EBOs.

Integration Services

The following services are delivered with the Provision Order and Update Fulfillment Order business flows:

  • ProcessProvisioningOrderOSMCFSCommsJMSConsumer

  • ProcessProvisioningOrderOSMPROVCommsJMSProducer

  • ProcessFulfillmentOrderUpdateOSMPROVCommsJMSConsumer

  • ProcessFulfillmentOrderUpdateOSMCFSCommsJMSProducer

ProcessProvisioningOrderOSMCFSCommsJMSConsumer

For interacting with OSM Provisioning, OSM Fulfillment pushes ProcessProvisioningOrderEBM message into AIA_CRTFO_OUT_JMSQ using store-and-forward.

The ProcessProvisioningOrderOSMCFSCommsJMSConsumer is a Mediator process that has a JMS Adapter Service. This Mediator service continuously polls the AIA_CRTFO_OUT_JMSQ. The ProcessProvisioningOrderOSMCFSCommsJMSConsumer dequeues the ProcessProvisioningOrderEBM and routes it to the ProcessProvisioningOrderOSMPROVCommsJMSProducer.

This service has one operation: Consume_Message.

ProcessProvisioningOrderOSMPROVCommsJMSProducer

The ProcessProvisioningOrderOSMPROVCommsJMSProducer is a BPEL process that has a JMS Adapter Service. This BPEL process is responsible for pushing the ProcessProvisioningOrderEBM message into the AIA_FOPROV_IN_JMSQ using store-and-forward. OSM Provisioning then consumes this message and processes it further.

This service has one operation: Initiate.

ProcessFulfillmentOrderUpdateOSMPROVCommsJMSConsumer

For interacting with OSM COM, OSM SOM pushes ProcessFulfillmentOrderUpdateEBM message into AIA_FOPROV_OUT_JMSQ using store-and-forward.

The ProcessFulfillmentOrderUpdateOSMPROVCommsJMSConsumer is a Mediator process with a JMS Adapter Service. The ProcessFulfillmentOrderUpdateOSMPROVCommsJMSConsumer dequeues the ProcessFulfillmentOrderUpdateEBM from AIA_FOPROV_OUT_JMSQ and routes it to ProcessFulfillmentOrderUpdateOSMCFSCommsJMSProducer.

This service has one operation: Consume_Message.

ProcessFulfillmentOrderUpdateOSMCFSCommsJMSProducer

The ProcessFulfillmentOrderUpdateOSMCFSCommsJMSProducer is a BPEL process that has a JMS Adapter Service. This BPEL process is responsible for pushing the ProcessFulfillmentOrderUpdateEBM Message into the AIA_FOCFS_IN_JMSQ. Using the SAF mechanism, it gets into the appropriate OSM queue.

This service has one operation: Initiate