Oracle® Application Integration Architecture Oracle Communications Order to Cash Integration Pack Implementation Guide for Siebel CRM, Oracle Order and Service Management, and Oracle Billing and Revenue Management Release 11.1 Part Number E22651-03 |
|
|
PDF · Mobi · ePub |
This chapter provides an overview of the Create Trouble Ticket by Oracle AIA business flow and discusses Siebel Customer Relationship Management (Siebel CRM) interfaces, industry Oracle Application Integration Architecture (Oracle AIA) components, integration services, and fallout-enabled services for this business flow.
This chapter includes the following sections:
Section 22.1, "Creating Trouble Tickets in Siebel CRM by Oracle AIA Overview"
Section 22.2, "Creating a Trouble Ticket in Siebel CRM Integration Flow"
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 an enterprise business service (EBS) for the creation of trouble tickets in Siebel CRM.
The implementation of this feature enables Oracle AIA to invoke the TroubleTicketEBS so that a trouble ticket can be created.
This feature is composed of the following services:
CreateTroubleTicketAIACommsReqImpl - Oracle AIA Requestor application business connector service (ABCS)
CreateTroubleTicketSiebelCommsProvABCSImpl - Oracle AIA Provider ABCS invoked by the TroubleTicketEBS to create a trouble ticket in Siebel CRM.
CommunicationsTroubleTicketEBSV1 - Oracle AIA EBS invoked to call the Siebel Provider ABCS to create the trouble ticket.
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 invokes the CommunicationsTroubleTicketEBSV1, which 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 integration flow uses the following interfaces:
AIAOrderFalloutJMSBridgeService
AIACOMOrderFalloutNotificationJMSConsumer
CreateTroubleTicketAIACommsReqImpl
CommunicationsTroubleTicketEBSV1 with the CreateTroubleTicket operation
CreateTroubleTicketSiebelCommsProvABCSImpl
Figure 22-1 illustrates the create trouble ticket integration scenario.
This flow creates a trouble ticket and has the following set of activities:
The enriched fault messages that contain the details of the order are pushed to the AIA_ERROR_TOPIC using the Oracle AIA Error Handling Framework. These messages are stamped with a JMS Correlation ID = AIA_ORDERFALLOUT_TTS in case the trouble tickets are created by Oracle AIA directly, based on the ERROR_TYPE set in the AIA Error Notifications page.
The AIAOrderFalloutJMSBridgeService picks up the messages with the JMSCorrelationID such as AIA_ORDERFALLOUT (AIA_ORDERFALLOUT_TTS in this case) and publishes them to the AIA_ORDERFALLOUT_JMSQ JMS Queue.
The AIACOMOrderFalloutNotificationJMSConsumer picks up the messages stamped with the JMS Correlation ID AIA_ORDERFALLOUT_TTS from the AIA_ORDERFALLOUT_JMSQ.
The AIACOMOrderFalloutNotificationJMSConsumer invokes the CreateTroubleTicketAIACommsReqImpl.
The CreateTroubleTicketAIACommsReqImpl service parses the fault message, prepares the CreateTroubleTicketEBM, and invokes the CommunicationsTroubleTicketEBSV1 with the CreateTroubleTicket operation.
The EBS routes the message to the CreateTroubleTicketSiebelCommsProvABCSImpl.
The CreateTroubleTicketSiebelCommsProvABCSImpl synchronously invokes the Siebel web service (SWITroubleTicketIO.wsdl: SWITroubleTicketInsert) and the response trouble ticket ID is received in the form of SWITroubleTicketInsert_Output message. This application business message (ABM) is transformed to the CreateTroubleTicketResponseEBM depending on the Response Code set in the EBM.
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.
The Create Trouble Ticket by Oracle AIA business flow uses this 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.
For more information, see the Siebel Order Management Guide Addendum for Communications, "Web Services Reference."
The Create Trouble Ticket by Oracle AIA business flow uses these industry components:
TroubleTicketEBO
CreateTroubleTicketEBM
CreateTroubleTicketResponseEBM
CommunicationsTroubleTicketEBSV1.wsdl
The industry EBO and EBM XML schema (XSD) files are located here: $AIA_HOME/apps/AIAMetaData/AIAComponents/EnterpriseObjectLibrary/Industry/Communications/EBO/TroubleTicket/V1/
The industry EBS web service description language (WSDL) files are located here: $AIA_HOME/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).
For more information about using the OER and configuring it to provide the AIA Reference Doc link, see Oracle Application Integration Architecture - Foundation Pack: Integration Developer's Guide, "Configuring and Using Oracle Enterprise Repository as the Oracle SOA Repository."
EBOs can be extended, for instance, to add new data elements. These extensions are protected, and remain intact after a patch or an upgrade.
For more information, see Oracle Application Integration Architecture - Foundation Pack: Integration Developer's Guide, "Extensibility for Oracle AIA Artifacts," Extending EBOs.
These services are delivered with this integration:
CommunicationsTroubleTicketEBSV1
CommunicationsTroubleTicketResponseEBSV1
CreateTroubleTicketSiebelCommsProvABCSImpl
AIAOrderFalloutJMSBridgeService
AIACOMOrderFalloutNotificationJMSConsumer
CreateTroubleTicketAIACommsReqImpl
AIAOrderFalloutErrorHandlerExtension.java
Some of these services have been enabled to use Session Pool Manager.
For more information about Session Pool Manager, see Oracle Application Integration Architecture Pre-Built Integrations Utilities Guide, "Session Pool Manager."
The CommunicationsTroubleTicketEBSV1 service is implemented as a Mediator service. It provides the basic request operations that can be performed against the TroubleTicketEBO. This service is invoked as part of the create trouble ticket flow. It has one operation: CreateTroubleTicket
For more information about this EBS, see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Designing and Developing Enterprise Business Services" and Oracle Fusion Middleware Concepts and Technologies Guide for Oracle Application Integration Architecture Foundation Pack, "Understanding Enterprise Business Services."
The CommunicationsTroubleTicketResponseEBSV1 service is implemented as a Mediator service. It provides the basic request operations that can be performed against the TroubleTicketEBO. This service is invoked as part of the create trouble ticket flow. It has one operation: CreateTroubleTicketResponse.
For more information about this EBS, see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Designing and Developing Enterprise Business Services" and Oracle Fusion Middleware Concepts and Technologies Guide for Oracle Application Integration Architecture Foundation Pack, "Understanding Enterprise Business Services."
The CreateTroubleTicketSiebelCommsProvABCSImpl 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.
This service acts as the provider for the CreateTroubleTicket operation of the CommsTroubleTicketEBS. When complete, this service invokes the CreateTroubleTicketResponse operation of the CommuinicationsTroubleTicketResponseEBS.
This process acts either as a fire-and-forget one-way flow or a request response flow depending on a couple of configurable parameters. CreateTroubleTicketSiebelCommsProvABCSImpl creates a trouble ticket response message (creates a cross-reference for the trouble ticket ID with the Siebel ID) and invokes the CommunicationsTroubleTicketResponseEBSV1 if the property TroubleTicket.GenerateTroubleTicketResponse is set to True or if the response code attribute (CreateTroubleTicketEBM/DataArea/Create/@responseCode) is not null. Otherwise, this service just acts as a fire-and-forget flow and ignores the response.
This service is SPM enabled.
For more information about Session Pool Manager, see Oracle Application Integration Architecture Pre-Built Integrations Utilities Guide, "Session Pool Manager."
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 is introduced to persist the enhanced fault message into a fallout queue and retry in case of errors in the downstream process. The message can either be picked from this queue by Oracle AIA to directly create a trouble ticket in Siebel CRM or to send an order failure notification to Oracle Order and Service Management Central Fulfillment System (Oracle OSM CFS).
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.
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.
It invokes the CreateTroubleTicket operation of the CommunicationsTroubleTicketEBSV1.
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.
The following Create Trouble Ticket by Oracle AIA business flow services are fallout-enabled:
ProcessFulfillmentOrderBillingBRMCommsAddSubProcess
ProcessFulfillmentOrderBillingBRMCommsDeleteSubProcess
ProcessFulfillmentOrderBillingBRMCommsMoveAddSubProcess
ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl
ProcessFulfillmentOrderBillingBRMCommsSuspendResumeSubProcess
ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess
CommsProcessFulfillmentOrderBillingAccountListEBF
CommsProcessBillingAccountListEBF
QueryCustomerPartyListSiebelProvABCSImplV2
EBS.CommunicationsCustomerPartyResponseEBSV2
SyncCustomerPartyListBRMCommsProvABCSImpl
EBS.CustomerPartyEBSV2
EBS.CommunicationsCustomerPartyEBSV2
EBS.CommunicationsCustomerPartyEBSV2Resequencer