22 Implementing the Create Trouble Ticket from Oracle AIA Business Flow

This chapter describes the Create Trouble Ticket from Oracle AIA business flow and explains how the Oracle Communications Order to Cash for Siebel CRM and Oracle Communications Billing and Revenue Management (BRM) pre-built integration options (the integration) implement the business flow using Siebel CRM interfaces, communications industry-specific Oracle Application Integration Architecture (Oracle AIA) components, integration services, and fallout-enabled services.

Create Trouble Ticket from Oracle AIA Business Flow Overview

After the Order Fallout Listener (AIACOMOrderFalloutNotificationConsumerProcess) picks up the fault message from the Oracle AIA Error JMS Topic based on an error notification from a downstream system or Oracle AIA service that has ended due to an error, an Oracle AIA Requestor Service provides an interface to invoke a Provider for the creation of trouble tickets in Siebel CRM.

This feature is composed of the following services:

  • CreateTroubleTicketAIACommsReqImpl - Oracle AIA Requestor application business connector service (ABCS)

  • CreateTroubleTicketSiebelCommsProvABCSImpl - Oracle AIA Provider ABCS invoked to create a trouble ticket in Siebel CRM.

On an error, the order fallout process (detection) within Oracle AIA passes the order fault message that is queued in the Oracle AIA Error JMS Topic to the CreateTroubleTicketAIACommsReqImpl ABCS. The service then routes the Oracle AIA message to the Siebel provider, which in turn calls the Siebel web service to create the trouble ticket in Siebel.

This business flow supports the following integration flows:

  • Creating a Trouble Ticket in Siebel CRM

Creating a Trouble Ticket in Siebel CRM Integration Flow

This integration flow uses the following interfaces:

  • AIAOrderFalloutJMSBridgeService

  • AIACOMOrderFalloutNotificationJMSConsumer

  • CreateTroubleTicketAIACommsReqImpl

  • CreateTroubleTicketSiebelCommsProvABCSImpl

Figure 22-1 illustrates the create trouble ticket integration flow.

Figure 22-1 Create Trouble Ticket Sequence Diagram

This image is described in the following text.

The integration creates a trouble ticket in Siebel CRM as follows:

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

  2. The AIACOMOrderFalloutNotificationJMSConsumer picks up the message and sends it to the CreateTroubleTicketAIACommsReqImpl service.

  3. CreateTroubleTicketAIACommsReqImpl transforms the fault message into the CreateTroubleTicketEBM message, and sends it to the CreateTroubleTicketSiebelCommsProvABCSImpl service.

  4. CreateTroubleTicketSiebelCommsProvABCSImpl calls the Siebel CRM SWITroubleTicketIO web service with the SWITroubleTicketInsert operation.

  5. The Siebel CRM web service operation responds with the trouble ticket ID in an application business message (ABM).

  6. Depending on the response code in CreateTroubleTicketEBM, CreateTroubleTicketSiebelCommsProvABCSImpl may transform the ABM into CreateTroubleTicketResponseEBM and send it to CreateTroubleTicketAIACommsReqImpl.

Defining Transaction Boundaries and Recovery Details

For this flow there are two transaction boundaries. Table 22-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 on system and business errors.

The following services are involved:

  • AIAOrderFalloutJMSBridgeService

  • AIACOMOrderFalloutNotificationJMSConsumer

  • CreateTroubleTicketAIACommsReqImpl

  • CreateTroubleTicketSiebelCommsProvABCSImpl

Table 22-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.

AIACOMOrderFalloutNotificationJMSConsumer picks up messages with the JMS Correlation ID AIA_ORDERFALLOUT_TTS and invokes CreateTroubleTicketAIACommsReqImpl, which parses fault message and routes to CreateTroubleTicketSiebelCommsProvABCSImpl.

AIA cross-reference entries.

Rollback the message to AIA_ORDERFALLOUT_JMSQ.

Resubmit from AIA_ORDERFALLOUT_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.

Exception Handling

These are the exception handling notes for creating trouble tickets in Siebel CRM:

  • If validation of the message fails because of missing mandatory data, incorrect formatting, or other problems, then an error message identifying the validation issue is returned to the invoking application.

  • In case of any errors in the flow, a standard Oracle AIA Error Handling Framework notification is posted to the Oracle AIA Error Handling Framework.

Siebel CRM Interfaces

The Create Trouble Ticket from Oracle AIA business flow uses the following Siebel CRM interface:

  • SWI Trouble Ticket Service: This 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, a new trouble ticket is created and the trouble ticket number is returned. If the request is to update a particular trouble ticket, typically to close the trouble ticket, the trouble ticket is updated.

See "Web Services Reference" in Siebel Order Management Guide Addendum for Communications for more information.

Industry Oracle AIA Components

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

  • TroubleTicketEBO

  • CreateTroubleTicketEBM

  • CreateTroubleTicketResponseEBM

  • CommunicationsTroubleTicketEBSV1.wsdl

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 Trouble Ticket from Oracle AIA business flow:

  • CreateTroubleTicketSiebelCommsProvABCSImpl

  • AIAOrderFalloutJMSBridgeService

  • AIACOMOrderFalloutNotificationJMSConsumer

  • CreateTroubleTicketAIACommsReqImpl

  • AIAOrderFalloutErrorHandlerExtension.java

Some of these services have been enabled to use Session Pool Manager.

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

CreateTroubleTicketSiebelCommsProvABCSImpl

The CreateTroubleTicketSiebelCommsProvABCSImpl service is implemented as an asynchronous business process execution language (BPEL) process. This service takes CreateTroubleTicketEBM as the input. It invokes the Siebel web service to create the trouble ticket and after the trouble ticket is created in Siebel CRM, the trouble ticket ID is passed back to this service.

If the TroubleTicket.GenerateTroubleTicketResponse configuration property is set to True or if the response code attribute is specified on the EBM, this process creates a trouble ticket response message and a cross-reference for the trouble ticket ID with the Siebel ID. Otherwise, this process ignores any response.

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.

AIAOrderFalloutJMSBridgeService

The AIAOrderFalloutJMSBridgeService service is a mediator service that picks up the fault message from the AIA Error Topic and publishes the 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 by Oracle AIA to create a trouble ticket in Siebel CRM.

AIACOMOrderFalloutNotificationJMSConsumer

The AIAOrderFalloutNotificationJMSConsumer service is implemented as a Mediator service and picks up the fault message from the AIA Error Topic. The fault message is passed to the CreateTroubleTicketAIACommsReqImpl process. This service acts as the consumer, listening to the messages produced in the AIA Error Topic.

CreateTroubleTicketAIACommsReqImpl

The CreateTroubleTicketAIACommsReqImpl service is implemented as a one-way asynchronous BPEL process. This service picks up the fault message from the AIACOMOrderFalloutNotificationJMSConsumer. The fault message is parsed and then the CreateTroubleTicketEBM is constructed.

AIAOrderFalloutErrorHandlerExtension - Java Class

This module is the Java action that is specified for enhancing the fault message. In case of a Java action in the bpel/esb fault policy, the control is handed to this application module to enrich the fault message with business-specific content. The enriched fault message is returned to the AIA Error Handling Framework Common Error Handler.

  • oracle.apps.aia.industry.comms.eh.AIAOrderFalloutErrorHandlerExtension.java implements oracle.apps.aia.core.eh. IAIAErrorHandlerExtension interface.

  • This class implements the IAIAErrorHandlerExtension interface, which has two methods exposed: one for treating a BPEL fault and the other for a Mediator fault.

This class constructs the ApplicationFaultData element of the fault message with the order-related details.

Business Flow Fallout-Enabled Services

The following Create Trouble Ticket from Oracle AIA business flow services are fallout-enabled:

  • ProcessFulfillmentOrderBillingBRMCommsAddSubProcess

  • ProcessFulfillmentOrderBillingBRMCommsDeleteSubProcess

  • ProcessFulfillmentOrderBillingBRMCommsMoveAddSubProcess

  • ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl

  • ProcessFulfillmentOrderBillingBRMCommsSuspendResumeSubProcess

  • ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess

  • CommsProcessFulfillmentOrderBillingAccountListEBF

  • CommsProcessBillingAccountListEBF

  • QueryCustomerPartyListSiebelProvABCSImplV2

  • SyncCustomerPartyListBRMCommsProvABCSImpl