This chapter describes the Create and Manage Trouble Ticket from OSM business flow and explains how the Oracle Communications Order to Cash Integration Pack for Siebel customer relationship management (Siebel CRM), Oracle Communications Order and Service Management (OSM), and Oracle Communications Billing and Revenue Management (BRM) (the integration) implements the business flow using Siebel CRM interfaces, communications industry-specific Oracle Application Integration Architecture (Oracle AIA) components, integration services, and fallout-enabled services.
The following Pre-Built Integration options enable the Create and Manage Trouble Ticket from OSM business flow:
Oracle Communications Order to Cash for Siebel CRM, OSM, and BRM Pre-Built Integration option
Oracle Communications Order to Cash for Siebel CRM and OSM Pre-Built Integration option
The Create and Manage Trouble Ticket from OSM business flow supports the following integration flows:
Order Failure Notification to OSM:
Listens to the common error topic used in the Oracle AIA Error Handling Framework (AIA_ERROR_TOPIC) for errors or faults specific to orders, enriches these fault messages, and then publishes them to the central order fallout management in OSM.
Creating a Trouble Ticket in Siebel CRM from OSM:
Creates trouble tickets in Siebel CRM for individual and batch or bulk orders from OSM.
Updating a Trouble Ticket in Siebel CRM from OSM:
Updates trouble tickets in Siebel CRM from OSM.
The Oracle AIA order fallout listener (AIAOrderFalloutJMSBridgeService), listens to all messages published to the Oracle AIA Error JMS Topic (AIA_ERROR_TOPIC) for errors or faults specific to order fallout by looking at the correlation ID. These fault messages are enriched and published to the central OFM in OSM.
This integration flow uses the following interfaces:
AIAOrderFalloutJMSBridgeService
CreateOrderFalloutNotificationOSMCFSCommsJMSConsumer
CreateOrderFalloutNotificationOSMCFSCommsProvImpl
CreateOrderFalloutNotificationOSMCFSCommsJMSProducer
Figure 23-1 illustrates how OSM initiates the request to create a trouble after receiving an order failure notification.
When this process initiates, the following events occur:
The AIAOrderFalloutJMSBridgeService listener picks up an enriched fault message with a JMSCorrelationID value of AIA_ORDERFALLOUT_CFS from the AIA_ERROR_TOPIC topic and drops it into the AIA_ORDERFALLOUT_JMSQ queue.
The CreateOrderFalloutNotificationOSMCFSCommsJMSConsumer service picks up the message and sends it to the CreateOrderFalloutNotificationOSMCFSCommsProvImpl service.
CreateOrderFalloutNotificationOSMCFSCommsProvImpl transforms the message into the OrderFalloutNotificationEBM message and sends it to the CreateOrderFalloutNotificationOSMCFSCommsJMSProducer service.
CreateOrderFalloutNotificationOSMCFSCommsJMSProducer drops the message into AIA_FALLOUT_JMSQ, where OSM in the central order management role (OSM COM) picks it up.
OSM COM marks the order as failed and initiates the request to create a trouble ticket.
This integration flow uses these interfaces:
CreateTroubleTicketOSMCFSCommsJMSConsumer
CreateTroubleTicketSiebelCommsProvABCSImpl
CreateTroubleTicketOSMCFSCommsJMSProducer
Figure 23-2 describes the creation of trouble tickets in Siebel CRM from OSM.
The integration creates a trouble ticket in Siebel CRM from OSM as follows:
OSM COM drops the CreateTroubleTicketEBM message into the AIA_CRTTTREQ_JMSQ queue.
The CreateTroubleTicketOSMCFSCommsJMSConsumer service picks up the message and sends it to the CreateTroubleTicketSiebelCommsProvABCSImpl service.
CreateTroubleTicketSiebelCommsProvABCSImpl transforms CreateTroubleTicketEBM into an application business message (ABM) and sends it to the SWITroubleTicket Siebel CRM web service with the SWITroubleTicketInsert operation. and the response trouble ticket ID is received in the form of a SWITroubleTicketInsert_Output message.
SWITroubleTicket sends a response ABM that includes the trouble ticket ID to CreateTroubleTicketSiebelCommsProvABCSImpl. This ABM is
CreateTroubleTicketSiebelCommsProvABCSImpl transforms the ABM into the CreateTroubleTicketResponseEBM message and sends it to the CreateTroubleTicketRespOSMCFSCommsJMSProducer service.
CreateTroubleTicketRespOSMCFSCommsJMSProducer drops CreateTroubleTicketResponseEBM into the AIA_CRTTTRESP_JMSQ queue.
OSM COM picks up the message and stores the trouble ticket ID for reference.
For the Order Failure Notification to OSM and Creating a Trouble Ticket in Siebel CRM from OSM flows there are three transaction boundaries. Table 23-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:
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 enqueued in AIA_ORDERFALLOUT_JMSQ. |
Rollback JMS message to AIA_ERROR_TOPIC. |
Resubmit from AIA_ERROR_TOPIC. |
CreateOrderFalloutNotificationOSMCFSCommsJMSConsumer picks up messages with the JMS Correlation ID AIA_ORDERFALLOUT_CFS and invokes CreateOrderFalloutNotificationOSMCFSCommsProvImpl, which parses fault message and invokes CreateOrderFalloutNotificationOSMCFSCommsJMSProducer. |
Message is submitted to OSM through AIA_FALLOUT_JMSQ. |
Rollback the message to AIA_ORDERFALLOUT_JMSQ. |
Resubmit from AIA_ORDERFALLOUT_JMSQ. |
CreateTroubleTicketOSMCFSCommsJMSConsumer picks up message and routes it to CreateTroubleTicketSiebelCommsProvABCSImpl, which invokes Siebel web service. Response trouble ticket ID is received. Response message is created, which invokes CreateTroubleTicketSiebelCommsProvABCSImpl, which routes message to CreateTroubleTicketRespOSMCFSCommsJMSProducer. |
AIA cross-references created. Message goes to queue AIA_CRTTTRESP_JMSQ. |
Rollback the message to AIA_CRTTTREQ_JMSQ. |
Resubmit from AIA_CRTTTREQ_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.
This integration flow uses the following interfaces:
UpdateTroubleTicketOSMCFSCommsJMSConsumer
UpdateTroubleTicketSiebelCommsProvABCSImpl
Figure 23-3 describes the Trouble Ticket Update flow from OSM to Siebel CRM.
The integration updates trouble tickets in Siebel CRM from OSM as follows:
OSM COM drops the UpdateTroubleTicketEBM message into the AIA_UPDTTREQ_JMSQ queue.
The UpdateTroubleTicketOSMCFSCommsJMSConsumer services picks up the message and sends it to the UpdateTroubleTicketSiebelCommsProvABCSImpl service.
UpdateTroubleTicketSiebelCommsProvABCSImpl service transforms UpdateTroubleTicketEBM into an ABM and sends it to SWITroubleTicket with the SWITroubleTicketInsertorUpdate operation.
SWITroubleTicket sends a response ABM to UpdateTroubleTicketSiebelCommsProvABCSImpl.
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.
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.
The Create and Manage Trouble Ticket from OSM business flow uses the following communications industry-specific Oracle AIA components:
TroubleTicketEBO
CreateTroubleTicketEBM
CreateTroubleTicketResponseEBM
UpdateTroubleTicketEBM
The industry enterprise business object (EBO) and EBM XSD files are located in: $AIA_HOME/AIAMetaData/AIAComponents/EnterpriseObjectLibrary/Industry/Communications/EBO/TroubleTicket/V1/
The industry EBS WSDL files are located in: $AIA_HOME/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 Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack for more information about:
Configuring and using OER as the Oracle SOA Repository to provide the AIA Reference doc link
Extending existing schemas and EBOs
The following services are delivered with the Create and Manage Trouble Ticket from OSM business flow:
CreateTroubleTicketSiebelCommsProvABCSImpl
UpdateTroubleTicketSiebelCommsProvABCSImpl
AIAOrderFalloutJMSBridgeService
AIACOMOrderFalloutNotificationJMSConsumer
CreateTroubleTicketAIACommsReqImpl
CreateOrderFalloutNotificationOSMCFSCommsProvImpl
CreateOrderFalloutNotificationOSMCFSCommsJMSConsumer
CreateOrderFalloutNotificationOSMCFSCommsJMSProducer
CreateTroubleTicketOSMCFSCommsJMSConsumer
CreateTroubleTicketRespOSMCFSCommsJMSProducer
UpdateTroubleTicketOSMCFSCommsJMSConsumer
CreateFaultNotificationLFCommsJMSConsumer
Some of these services have been 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.
See "Configuring the Process Integration for Order Fallout Management" for more information.
The UpdateTroubleTicketSiebelCommsProvABCSImpl is a service that acts as the provider for Siebel CRM Update Trouble Ticket functionality. This service does not return any response.
The UpdateTroubleTicketSiebelCommsProvABCSImpl service. transforms the EBM to TroubleTicketInsertorUpdate_Input ABM, and the Siebel web service is invoked to update the trouble ticket.
Updating open trouble tickets to Closed or adding additional failed order lines to an existing open trouble ticket are the scenarios in which an update to trouble ticket request originates from OSM CFS.
The CreateOrderFalloutNotificationOSMCFSCommsProvImpl service is a BPEL process that picks up the Fault message from CreateOrderFalloutNotificationOSMCFSCommsJMSConsumer. It parses the Fault message and then constructs the OrderFalloutNotification message.
Next, the CreateOrderFalloutNotificationOSMCFSCommsJMSProducer service is invoked to enqueue the order fallout notification message in the AIA_FALLOUT_JMSQ SAF queue for OSM CFS. This action consumes and triggers a fallout event for the particular order.
The CreateOrderFalloutNotificationOSMCFSCommsJMSConsumer service is a Mediator service that picks up the Fault message from the AIA_ORDERFALLOUT_JMSQ. It passes 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.
The CreateOrderFalloutNotificationOSMCFSCommsJMSProducer is a BPEL process that enqueues the OrderFalloutNotification message to the AIA_FALLOUT_JMSQ SAF queue. OSM then picks the message from this queue and triggers a fallout event in OSM. The CreateOrderFalloutNotificationOSMCFSCommsProvImpl service invokes this service.
The CreateTroubleTicketOSMCFSCommsJMSConsumer is a Mediator service that picks up the CreateTroubleTicketEBM message from the AIA_CRTTTREQ_JMSQ SAF queue. It routes the message to the CreateTroubleTicketSiebelCommsProvABCSImpl service. This service acts as a consumer, listening to the messages produced in the AIA_CRTTTREQ_JMSQ SAF queue.
The CreateTroubleTicketRespOSMCFSCommsJMSProducer is a BPEL process that enqueues the CreateTroubleTicketResponseEBM message to the AIA_CRTTTRESP_JMSQ SAF queue. OSM then picks up the message from this queue and then updates the order task with the created trouble ticket ID.
The UpdateTroubleTicketOSMCFSCommsJMSConsumer is a Mediator service that picks up the UpdateTroubleTicketEBM message from the AIA_UPDTTREQ_JMSQ SAF queue and invokes the UpdateTroubleTicketSiebelCommsProvABCSImpl service. This service acts as a consumer, listening to the messages produced in the AIA_UPDTTREQ_JMSQ SAF queue.
The CreateFaultNotificationLFCommsJMSConsumer is a Mediator service that picks up the Fault message from the AIA_LFERROR_JMSQ queue. It routes this message to the BPEL service AIAAsyncErrorHandlingBPELProcess, which queues the message in the AIA_ERROR_TOPIC.
Line Fulfillment (provisioning) systems that want to notify the central fulfillment system about an error in processing the order creates an enriched fault message (fault message with order details). This enriched fault message is queued to the AIA_LFERROR_JMSQ to get the fault processed by the order fallout framework. This fault message is processed by the Order Fallout Management framework, and OSM CFS is notified about the errors in the Line Fulfillment system for a particular order.
This service acts as a consumer, listening to the messages produced in the AIA_LFERROR_JMSQ.
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