23 Implementing the Create and Manage Trouble Ticket from OSM Business Flow

This chapter explains how the Oracle Application Integration Architecture (Oracle AIA) Oracle Communications Order to Cash Integration Pack (the integration) implements the Create and Manage Trouble Ticket from OSM business flow.

About the Create and Manage Trouble Tickets from OSM Business Flow

The following pre-built integration options enable the Create and Manage Trouble Ticket from OSM business flow:

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

  • Order to Cash for Siebel CRM

The Create and Manage Trouble Ticket from OSM business flow includes the following integration flows:

  • Order Failure Notification to OSM integration flow

  • Creating a Trouble Ticket in Siebel CRM from OSM integration flow

  • Updating a Trouble Ticket in Siebel CRM from OSM integration flow

About the Order Failure Notification to OSM Integration Flow

The Oracle AIA order fallout listener, AIAOrderFalloutJMSBridgeService, listens to all messages published to the Oracle AIA Error JMS Topic, AIA_ERROR_TOPIC. Errors or faults with a correlation ID of AIA_ORDERFALLOUT_CFS are enriched and published to OSM.

This integration flow includes the following services:

  • AIAOrderFalloutJMSBridgeService

  • CreateOrderFalloutNotificationOSMCFSCommsJMSConsumer

  • CreateOrderFalloutNotificationOSMCFSCommsProvImpl

  • CreateOrderFalloutNotificationOSMCFSCommsJMSProducer

Figure 23-1 shows the sequence of integration services through which the fallout notification message passes for the Order Failure Notification to OSM integration flow.

Figure 23-1 Order Failure Notification to OSM Sequence

This image is described in the following text.

When this process initiates, the following events occur:

  1. The AIAOrderFalloutJMSBridgeService listener picks up an enriched fault message with a JMSCorrelationID value of AIA_ORDERFALLOUT_CFS from the AIA_ERROR_TOPIC topic and adds it to the AIA_ORDERFALLOUT_JMSQ queue.

  2. The CreateOrderFalloutNotificationOSMCFSCommsJMSConsumer service picks up the message and sends it to the CreateOrderFalloutNotificationOSMCFSCommsProvImpl service.

  3. CreateOrderFalloutNotificationOSMCFSCommsProvImpl transforms the message into the OrderFalloutNotificationEBM message and sends it to the CreateOrderFalloutNotificationOSMCFSCommsJMSProducer service.

  4. CreateOrderFalloutNotificationOSMCFSCommsJMSProducer adds the message to the AIA_FALLOUT_JMSQ queue, where OSM in the central order management role (OSM COM) picks it up.

  5. OSM COM marks the order as failed and initiates the request to create a trouble ticket for Siebel CRM.

About the Creating a Trouble Ticket in Siebel CRM from OSM Integration Flow

This integration flow includes the following services:

  • CreateTroubleTicketOSMCFSCommsJMSConsumer

  • CreateTroubleTicketSiebelCommsProvABCSImpl

  • CreateTroubleTicketOSMCFSCommsJMSProducer

Figure 23-2 shows the sequence of integration services through which the fallout notification message passes for the Creating a Trouble Ticket in Siebel CRM from OSM integration flow.

Figure 23-2 Creating a Trouble Ticket in Siebel CRM from OSM

This image is described in the following text.

The integration creates trouble tickets in Siebel CRM from OSM as follows:

  1. OSM COM adds the CreateTroubleTicketEBM message to the AIA_CRTTTREQ_JMSQ queue.

  2. The CreateTroubleTicketOSMCFSCommsJMSConsumer service picks up the message and sends it to the CreateTroubleTicketSiebelCommsProvABCSImpl service.

  3. CreateTroubleTicketSiebelCommsProvABCSImpl transforms CreateTroubleTicketEBM into an application business message (ABM) and sends it to the SWITroubleTicket Siebel CRM web service with the SWITroubleTicketInsert operation.

  4. SWITroubleTicket sends a response ABM that includes the trouble ticket ID to CreateTroubleTicketSiebelCommsProvABCSImpl.

  5. CreateTroubleTicketSiebelCommsProvABCSImpl transforms the ABM into the CreateTroubleTicketResponseEBM message and sends it to the CreateTroubleTicketRespOSMCFSCommsJMSProducer service.

  6. CreateTroubleTicketRespOSMCFSCommsJMSProducer adds CreateTroubleTicketResponseEBM to the AIA_CRTTTRESP_JMSQ queue.

  7. OSM COM picks up the message and stores the trouble ticket ID for reference.

Defining Transaction Boundaries and Recovery Details

Table 23-1 describes the transactions, the database operations, and what actions to take in case of an error for these flows.

The following services are involved:

  • AIAOrderFalloutJMSBridgeService

  • CreateOrderFalloutNotificationOSMCFSCommsJMSConsumer

  • CreateOrderFalloutNotificationOSMCFSCommsProvImpl

  • CreateOrderFalloutNotificationOSMCFSCommsJMSProducer

  • CreateTroubleTicketOSMCFSCommsJMSConsumer

  • CreateTroubleTicketSiebelCommsProvABCSImpl

  • CreateTroubleTicketRespOSMCFSCommsJMSProducer

Table 23-1 Transaction Boundaries and Recovery Details

Transaction DB Operations In Case of Error Recovery

The AIAOrderFalloutJMSBridgeService picks up the messages with the JMSCorrelationID and publishes to AIA_ORDERFALLOUT_JMSQ.

Message added to AIA_ORDERFALLOUT_JMSQ.

Roll back JMS message to AIA_ERROR_TOPIC.

Resubmit from AIA_ERROR_TOPIC.

CreateOrderFalloutNotificationOSMCFSCommsJMSConsumer picks up messages with the JMS Correlation ID AIA_ORDERFALLOUT_CFS and sends it to CreateOrderFalloutNotificationOSMCFSCommsProvImpl, which parses fault message and sends it to CreateOrderFalloutNotificationOSMCFSCommsJMSProducer.

Message is submitted to OSM through AIA_FALLOUT_JMSQ.

Roll back the message to AIA_ORDERFALLOUT_JMSQ.

Resubmit from AIA_ORDERFALLOUT_JMSQ.

CreateTroubleTicketOSMCFSCommsJMSConsumer picks up message and sends the EBM to CreateTroubleTicketSiebelCommsProvABCSImpl. The ABCS invokes a Siebel web service., which sends a response message with the trouble ticket ID to CreateTroubleTicketSiebelCommsProvABCSImpl. The ABCS sends the response to CreateTroubleTicketRespOSMCFSCommsJMSProducer.

AIA cross-references created.

Message added to AIA_CRTTTRESP_JMSQ.

Roll back the message to AIA_CRTTTREQ_JMSQ.

Resubmit from AIA_CRTTTREQ_JMSQ.


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.

Updating a Trouble Ticket in Siebel CRM from OSM Integration Flow

This integration flow uses the following interfaces:

  • UpdateTroubleTicketOSMCFSCommsJMSConsumer

  • UpdateTroubleTicketSiebelCommsProvABCSImpl

Figure 23-3 shows the sequence of integration services through which the trouble ticket update message passes for the Updating a Trouble Ticket in Siebel CRM from OSM integration flow.

Figure 23-3 Updating a Trouble Ticket in Siebel CRM from OSM

This image is described in the following text.

The integration updates trouble tickets in Siebel CRM from OSM as follows:

  1. OSM COM adds the UpdateTroubleTicketEBM message to the AIA_UPDTTREQ_JMSQ queue.

  2. The UpdateTroubleTicketOSMCFSCommsJMSConsumer services picks up the message and sends it to the UpdateTroubleTicketSiebelCommsProvABCSImpl service.

  3. UpdateTroubleTicketSiebelCommsProvABCSImpl service transforms UpdateTroubleTicketEBM into an ABM and sends it to SWITroubleTicket with the SWITroubleTicketInsertorUpdate operation.

  4. SWITroubleTicket sends a response ABM to UpdateTroubleTicketSiebelCommsProvABCSImpl.

Defining Transaction Boundaries and Recovery Details

For this flow there is one transaction boundary. Table 23-2 describes the transaction 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:

  • UpdateTroubleTicketOSMCFSCommsJMSConsumer

  • UpdateTroubleTicketSiebelCommsProvABCSIm

Table 23-2 Transaction Boundaries and Recovery Details

Transaction DB Operations In Case of Error Recovery

UpdateTroubleTicketOSMCFSCommsJMSConsumer picks up the message from the queue and invokes UpdateTroubleTicketSiebelCommsProvABCSImpl, which invokes the Siebel web service to update the trouble ticket.

AIA cross-references updated.

Trouble Ticket updated in Siebel.

Message goes back to the originating queue AIA_UPDTTREQ_JMSQ.

Resubmit from AIA_UPDTTREQ_JMSQ.


See "Configuring Oracle AIA Processes for Error Handling and Trace Logging", Configuring Fault Policies to Not Issue Rollback Messages in Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack for more information about rollback procedures.

Siebel CRM Interfaces

The Create and Manage Trouble Ticket from OSM business flow uses the following Siebel CRM interface:

  • SWI Trouble Ticket Service

This inbound web service is invoked by the Siebel ABCS to create or update a trouble ticket in Siebel CRM. If the request is for creating a new trouble ticket, then a new trouble ticket is created and the trouble ticket number is returned. If the request is to update a specific trouble ticket, typically to close the trouble ticket, then the trouble ticket is updated.

See Siebel Order Management Guide Addendum for Communications for more information on web services.

Industry Oracle AIA Components

The Create and Manage Trouble Ticket from OSM business flow uses the following communications industry-specific Oracle AIA components:

  • TroubleTicketEBO

  • CreateTroubleTicketEBM

  • CreateTroubleTicketResponseEBM

  • UpdateTroubleTicketEBM

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/TroubleTicket/V1

  • Enterprise business service (EBS) WSDL files:

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

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 Create and Manage Trouble Ticket from OSM business flow:

AIAOrderFalloutJMSBridgeService

The AIAOrderFalloutJMSBridgeService service is a mediator service that does the following:

  1. Picks up the fault message from the AIA Error Topic.

  2. Adds the fault message to the AIA_ORDERFALLOUT_JMSQ.

This service persists the enhanced fault message into a fallout queue so that it can be retried in case of errors in the downstream process. In this business flow, the messages in this queue are used to send an order failure notification to OSM.

CreateOrderFalloutNotificationOSMCFSCommsJMSConsumer

The CreateOrderFalloutNotificationOSMCFSCommsJMSConsumer service is a Mediator service that does the following:

  1. Picks up the fault message from the AIA_ORDERFALLOUT_JMSQ.

  2. Sends the fault message to the CreateOrderFalloutNotificationOSMCFSCommsProvImpl process based on the JMS Correlation ID.

This service acts as a consumer, listening to the messages produced in AIA_ORDERFALLOUT_JMSQ.

CreateOrderFalloutNotificationOSMCFSCommsProvImpl

The CreateOrderFalloutNotificationOSMCFSCommsProvImpl service is a business process execution language (BPEL) process that does the following:

  1. Picks up the fault message from CreateOrderFalloutNotificationOSMCFSCommsJMSConsumer.

  2. Transforms the fault message into the OrderFalloutNotificationEBM message.

  3. Sends OrderFalloutNotificationEBM to the CreateOrderFalloutNotificationOSMCFSCommsJMSProducer service.

CreateOrderFalloutNotificationOSMCFSCommsJMSProducer

The CreateOrderFalloutNotificationOSMCFSCommsJMSProducer is a BPEL process that does the following:

  1. Receives OrderFalloutNotificationEBM from CreateOrderFalloutNotificationOSMCFSCommsProvImpl.

  2. Adds the EBM to the AIA_FALLOUT_JMSQ queue from which OSM picks up the message to trigger an OSM fallout event

CreateTroubleTicketOSMCFSCommsJMSConsumer

The CreateTroubleTicketOSMCFSCommsJMSConsumer is a Mediator service that does the following:

  1. Picks up the CreateTroubleTicketEBM message from the AIA_CRTTTREQ_JMSQ queue.

  2. Checks the value of the target ID on the EBM and does one of the following:

    • If the target ID is CPQ_01, sends the EBM to CreateTroubleTicketCQCommsJMSProducer.

    • If the target ID is SEBL_01, sends the EBM to CreateTroubleTicketSiebelCommsProvABCSImpl.

This service acts as a consumer, listening to the messages produced in the AIA_CRTTTREQ_JMSQ SAF queue.

CreateTroubleTicketSiebelCommsProvABCSImpl

The CreateTroubleTicketSiebelCommsProvABCSImpl service is an asynchronous BPEL process that does the following:

  1. Receives CreateTroubleTicketEBM from CreateTroubleTicketOSMCFSCommsJMSConsumer.

  2. Transforms CreateTroubleTicketEBM into the Siebel CRM web service input.

  3. Invokes the Siebel web service to create the trouble ticket.

  4. Receives a response from the web service with the trouble ticket ID.

  5. If the TroubleTicket.GenerateTroubleTicketResponse configuration property is set to True or if the response code attribute is specified on the EBM, transforms the response ABM into the CreateTroubleTicketResponseEBM and sends it to CreateTroubleTicketRespOSMCFSCommsJMSProducer.

This service is enabled to use Session Pool Manager.

See Oracle Application Integration Architecture Pre-Built Integrations 11.1: Utilities Guide for more information about Session Pool Manager.

CreateTroubleTicketRespOSMCFSCommsJMSProducer

The CreateTroubleTicketRespOSMCFSCommsJMSProducer is a BPEL process that does the following:

  1. Receives CreateTroubleTicketResponseEBM from CreateTroubleTicketSiebelCommsProvABCSImpl.

  2. Adds CreateTroubleTicketResponseEBM to the AIA_CRTTTRESP_JMSQ SAF queue from which OSM picks up the message and updates the order task with the created trouble ticket ID.

UpdateTroubleTicketOSMCFSCommsJMSConsumer

The UpdateTroubleTicketOSMCFSCommsJMSConsumer is a Mediator service that does the following:

  1. Picks up the UpdateTroubleTicketEBM message from the AIA_UPDTTREQ_JMSQ queue.

  2. Sends UpdateTroubleTicketEBM to UpdateTroubleTicketSiebelCommsProvABCSImpl.

This service acts as a consumer, listening to the messages produced in the AIA_UPDTTREQ_JMSQ queue.

UpdateTroubleTicketSiebelCommsProvABCSImpl

The UpdateTroubleTicketSiebelCommsProvABCSImpl is a BPEL process that does the following:

  1. Receives UpdateTroubleTicketEBM from UpdateTroubleTicketOSMCFSCommsJMSConsumer.

  2. Transforms the EBM into the TroubleTicketInsertorUpdate_Input ABM.

  3. Invokes the Siebel CRM web service to update the trouble ticket.

CreateFaultNotificationLFCommsJMSConsumer

The CreateFaultNotificationLFCommsJMSConsumer is a Mediator service that does the following:

  1. Picks up the fault message from the AIA_LFERROR_JMSQ queue.

  2. Sends the fault message to the AIAAsyncErrorHandlingBPELProcess service, which adds the message to the AIA_ERROR_TOPIC topic.

Provisioning systems that want to notify the central fulfillment system about an error in processing the order create a fault message that includes order details which is added to the AIA_LFERROR_JMSQ. This fault message is processed by the Order Fallout Management framework, and OSM is notified about the errors in the provisioning system for the order.

This service acts as a consumer, listening to the messages produced in the AIA_LFERROR_JMSQ.

Business Flow Fallout-Enabled Services

The following Create and Manage Trouble Ticket from OSM business flow services are fallout-enabled:

  • UpdateSalesOrderSiebelCommsProvABCSImpl

  • ProcessSalesOrderFulfillmentSiebelCommsReqABCSImpl

  • ProcessSalesOrderFulfillmentOSMCFSCommsJMSProducer

  • ProcessFOBillingAccountListRespOSMCFSCommsJMSProducer

  • ProcessFulfillmentOrderBillingResponseOSMCFSCommsJMSProducer

  • TestOrderOrchestrationEBF

  • Siebel.ProcessSalesOrderFulfillmentSiebelCommsJMSConsumer

  • Siebel.ProcessSalesOrderFulfillmentSiebelCommsJMSConsumer_RS

    default.ProcessSalesOrderFulfillmentSiebelCommsReqABCSImpl.ProcessSalesOrderFulfillmentSiebelCommsReqABCSImpl_1_0

  • OSM.ABCS.ConsumeCustomerCFO_JMSAdapter

  • OSM.ABCS.ConsumeCustomerCFO_JMSAdapter_RS

  • OSM.ABCS.ConsumeBillingCFO_JMSAdapter

  • OSM.ABCS.ConsumeBillingCFO_JMSAdapter_RS

  • OSM.ABCS.ConsumeUpdateFulfillmentOrder_JMSAdapter_RS

  • OSM.ABCS.ConsumeUpdateFulfillmentOrder_JMSAdapter

  • OSM.ABCS.BillingResponseConsumer

  • OSM.ABCS.BillingResponseConsumer_RS

  • OSM.ABCS.CustomerResponseConsumer

  • OSM.ABCS.CustomerResponseConsumer_RS

  • OSM.ABCS.OrderOrchestrationConsumer

  • OSM.ABCS.OrderOrchestrationConsumer_RS

  • default.TestOrderOrchestrationEBF.TestOrderOrchestrationEBF_1_0

  • Siebel.ProcessSalesOrderFulfillmentSiebelCommsSequencer

  • ProcessProvisioningOrderOSMPROVCommsJMSProducer

  • ProcessFulfillmentOrderUpdateOSMCFSCommsJMSProducer

  • OSMPROV

  • OSM.ABCS.ConsumeProvUpdate_RS

  • OSM.ABCS.ConsumeProvUpdate

  • OSM.ABCS.Consume_ProcessProvOrder

  • OSM.ABCS.Consume_ProcessProvOrder_RS