15Defining Integration Workflows for Siebel Communications

Defining Integration Workflows for Siebel Communications

About Integration Workflows in Siebel Communications

A workflow process is a sequence of steps that automates a business function. Some workflow processes (also known as business processes) allow your company to integrate Siebel Communications with back-office applications and databases. You can implement integration with third-party applications by using the following resources and techniques:

  • Prebuilt workflows. Some prebuilt workflow processes are included in the sample database distributed with Siebel Communications, along with prebuilt integration objects in the Siebel Tools repository. If a workflow process mentioned in this chapter is not in your Siebel application’s sample database, then it might be available on request. For help with requesting a workflow process, contact your Oracle sales representative to request assistance from Oracle's Professional Services.

  • Manual integration. Your company can automate the integration between Siebel Communications and other applications manually. To automate the integration between Siebel Communications and other applications manually, you normally use both Oracle’s Siebel Business Process Designer and Siebel Enterprise Application Integration (Siebel EAI).

Note: Triggers for some business processes (for example, a button-push or workflow policy) are defined during implementation of the workflow process.

This chapter covers the following subjects:

  • Information about how sample integration workflow processes can be used to automate or partially automate a business process.

  • Descriptions of sample integration workflow processes that are available in the Siebel Communications sample database.

  • Details of sample workflow processes to help you understand how a workflow process is set up. Refer to these samples when you design your own integration workflow processes.

You can automate business processes using workflow processes in combination with Business Process Administration. This chapter does not give detailed information about Business Process Administration or application integration in general. For information about these topics, see Siebel Business Process Framework: Workflow Guide and the Siebel Enterprise Application Integration (Siebel EAI) guides, available on the Siebel Bookshelf.

Note: The integration workflow processes discussed in this chapter are not Application Services Interfaces (ASIs), although they serve a similar function.

Terminology for Integration Workflows in Siebel Communications

This topic describes some terms used in this chapter in the context of workflow processes.

Siebel EAI. Siebel Enterprise Application Integration (Siebel EAI) is a set of tools, technologies, and prebuilt functional integrations that facilitate application integration. It supports message-based integration with external applications. Using Oracle’s Siebel Enterprise Application Integration (Siebel EAI) module, a service provider can connect Siebel Communications directly to another application within the operational support architecture or connect to a hub or queue. This process allows middleware vendors to build their own Siebel-to-third-party connectors.

Note: Integration with specific back-office applications or middleware packages is performed by your company. Siebel Business Applications offer prebuilt connectors to some back-office applications.

Integration Objects. Integration objects define the content of the messages that are initiated or received by Siebel Communications. They are based on business objects. The repository stores both integration objects and the mapping between business objects and integration objects.

Business Services. Business services act on objects to move data, convert data formats, and perform calculations. The Siebel Communications repository contains some business services that specifically help with integration tasks. You can also build your own in Siebel Tools (at design time) or in the Siebel Web client (at run time).

Workflow Processes. Workflow processes are sequences of steps that are used by Business Process Administration to automate a business function. Workflow process steps call business services that perform the procedures needed to perform a business process.

Synchronizing Phone Number Data with an External System

End users create or modify a phone number in Siebel Communications, and the phone number is synchronized with one or more back-office systems using the CUT Send Phone Number Data workflow process. The workflow process used to perform this scenario is CUT Receive Phone Number Data Workflow.

Note: This process describes the exchange of phone number data. It is assumed that the phone number data are stored as Assets in the Siebel database. This process can be applied to any Asset data.

Synchronizing External Phone Number Data with Siebel Communications

End users create or modify a phone number in an external application, and the phone number data is synchronized with Siebel Communications using the CUT Receive Phone Number Data workflow process. The workflow process used to perform this scenario is CUT Receive Phone Number Data Workflow.

Note: This process describes the exchange of phone number data. It is assumed that the phone number data are stored as Assets in the Siebel database. This process can be applied to any Asset data.

Responding to an External Inquiry for Phone Number Data

The external system requires phone number (asset) data. The external application calls the CUT Get Phone Number Data workflow process using the available Siebel object interfaces. The external application retrieves the data from Siebel Communications using the workflow process as an API. The workflow process used to perform this scenario is CUT Get Phone Number Data Workflow.

Note: This process describes the exchange of phone number data. It is assumed that the phone number data are stored as Assets in the Siebel database. This process can be applied to any Asset data.

Sample Integration Workflows for Siebel Communications

This topic describes the sample integration workflow processes.

Note: Sample workflows must be imported into your database. For information about importing these workflows, see Siebel Business Process Framework: Workflow Guide.

Some workflow process steps call other workflow processes. For example, the first step of the CUT Send Account Data workflow process calls the CUT Get Account Data workflow process. In this example, the CUT Get Account Data workflow process is a subprocess of the CUT Send Account Data workflow process.

Some sample workflow processes communicate using the EAI MQSeries Transport business service. If your company does not use MQ Series, then you can replace the appropriate step with one that uses either a custom transport business service, the provided HTTP business service, or the provided XML file business service. Business services are located in the Oracle’s Siebel Tools repository and are available for use when defining workflow processes.

The integration objects used in the samples follow:

  • CUT Sample Account IO

  • CUT Sample Asset IO

  • CUT Sample Credit Alert IO

  • CUT Sample Fraud Alert IO

  • CUT Sample Sales Order IO

  • CUT Sample Service Profile IO

  • CUT Sample Trouble Ticket IO

  • CUT Sample Work Order IO

Note: The Integration Object mentioned in this topic is specified in XML. It is not specified as a Business Service Input Argument.

CUT Send Account Data Workflow

This workflow sends to back-office applications the customer account data that end users create or modify in Siebel Communications.

Workflow Description. This workflow performs the following actions:

  1. Get Account Data. This step invokes the CUT Get Account Data subprocess. For more information, see CUT Get Account Data Workflow.

  2. Send Account Data. This step invokes the EAI MQSeries Server Transport business service.

CUT Get Account Data Workflow

This workflow retrieves account data from Siebel Communications to respond to a request from an external application. The external application calls the CUT Send Account Data workflow using the available Siebel object interfaces. The CUT Send Account Data workflow calls this workflow. The external application retrieves the data from Siebel Communications, using this workflow as an API.

Workflow Description

This workflow performs the following actions:
  1. Get Account Data. This step uses the Query method of the EAI Siebel Adapter business service and the CUT Sample Account IO.

  2. Convert to XML. This step uses the Integration Object Hierarchy to XML Document method of the EAI XML Converter business service.

CUT Receive Account Data Workflow

This workflow receives customer account data that is modified in a back-office application because the data must be updated in Siebel Communications.

Workflow Description

This workflow performs the following actions:
  1. Receive Account Update. This step uses the Receive method of the EAI MQSeries Server Transport business service.

  2. Convert to Internal. This step uses the XML Document to Integration Hierarchy method of the EAI XML Converter business service.

  3. Update Account. This step uses the Insert or Update method of the EAI Siebel Adapter business service.

CUT Send Service Profile Data Workflow

This workflow synchronizes the service profile data that end users create or modify in with the service profile data in back-office applications.

Workflow Description

This workflow performs the following actions:
  1. Get Service Profile Data. This step invokes the CUT Get Service Profile Data subprocess. For more information, see CUT Get Service Profile Data Workflow.

  2. Send Service Profile Data. This step uses the EAI MQSeries Server Transport business service.

CUT Get Service Profile Data Workflow

This workflow retrieves service profile data from Siebel Communications to respond to a request from an external application. The external application calls the CUT Send Service Profile Data workflow using the available Siebel object interfaces. The CUT Send Service Profile Data workflow calls this workflow. The external application retrieves the data from Siebel Communications, using this workflow as an API.

Note: A service profile contains the same information in the Installed Assets view of the Accounts screen.

Workflow Description

This workflow performs the following actions:
  1. Get Service Profile Data. This step uses the Query method of the EAI Siebel Adapter business service and the CUT Sample Service Profile IO.

  2. Convert to XML. This step uses the Integration Object Hierarchy to XML Document method of the EAI XML Converter business service.

CUT Receive Service Profile Data Workflow

This workflow synchronizes service profile data that end users create or modify in an external application with the service profile data in Siebel Communications.

Workflow Description

This workflow performs the following actions:
  1. Receive Service Profile Update. This step uses the Receive method of the EAI MQSeries Server Transport business service.

  2. Convert to Internal. This step uses the XML Document to Integration Hierarchy method of the EAI XML Converter business service.

  3. Update Service Profile. This step uses the Insert or Update method of the EAI Siebel Adapter business service.

CUT Send Sales Order Data Workflow

This workflow sends to back-office applications the sales order data that end users create in Siebel Communications.

Workflow Description

This workflow performs the following actions:
  1. Get Sales Order Data. This step invokes the CUT Get Sales Order Data subprocess. For more information, see CUT Get Sales Order Data Workflow.

  2. Send Sales Order Data. This step uses the EAI MQSeries Server Transport business service.

CUT Get Sales Order Data Workflow

This workflow retrieves sales order data from Siebel Communications to respond to a request from an external application. The external application calls this workflow using the available Siebel object interfaces. The external application retrieves the data from Siebel Communications directly, using this workflow as an API.

Workflow Description

This workflow performs the following actions:
  1. Get Sales Order Data. This step uses the Query method of the EAI Siebel Adapter business service and the CUT Sample Sales Order IO.

  2. Convert to XML. This step uses the Integration Object Hierarchy to XML Document method of the EAI XML Converter business service.

CUT Receive Sales Order Data Workflow

This workflow receives sales order data that is modified in a back-office application because the data must be updated in Siebel Communications.

Workflow Description

This workflow performs the following actions:
  1. Receive Sales Order Update. This step uses the Receive method of the EAI MQSeries Server Transport business service.

  2. Convert to Internal. This step uses the XML Document to Integration Hierarchy method of the EAI XML Converter business service.

  3. Update Sales Order. This step uses the Insert or Update method of the EAI Siebel Adapter business service.

CUT Send Work Order Data Workflow

This workflow sends to back-office applications the work order data that end users create in Siebel Communications.

Workflow Description

This workflow performs the following actions:
  1. Get Work Order Data. This step invokes the CUT Get Work Order Data subprocess. For more information, see CUT Get Work Order Data Workflow.

  2. Send Work Order Data. This step uses the EAI MQSeries Server Transport business service.

CUT Get Work Order Data Workflow

This workflow retrieves work order data from Siebel Communications to respond to a request from an external application. The external application calls this workflow using the available Siebel object interfaces. The external application retrieves the data from Siebel Communications directly, using this workflow as an API.

Workflow Description

This workflow performs the following actions:
  1. Get Work Order Data. This step uses the Query method of the EAI Siebel Adapter business service and the CUT Sample Work Order IO.

  2. Convert to XML. This step uses the Integration Object Hierarchy to XML Document method of the EAI XML Converter business service.

CUT Receive Work Order Data Workflow

This workflow receives work order data that is modified in a back-office application because the data must be updated in Siebel Communications.

Workflow Description

This workflow performs the following actions:
  1. Receive Work Order Update. This step uses the Receive method of the EAI MQSeries Server Transport business service.

  2. Convert to Internal. This step uses the XML Document to Integration Hierarchy method of the EAI XML Converter business service.

  3. Update Work Order. This step uses the Insert or Update method of the EAI Siebel Adapter business service.

CUT Send Trouble Ticket Data Workflow

This workflow sends to back-office applications the trouble ticket data that customers create through a Siebel Communications customer application or through a phone call to a CSR.

Note: Customers have different requirements, and only certain types of trouble tickets must be sent to back-office applications. Some trouble tickets can be managed entirely within Siebel Communications. The supporting integration process is designed for trouble tickets that are sent to the back office. During implementation of a workflow process, the trigger must be implemented in such a way that the workflow process is invoked only for trouble tickets that are sent to the back office.

Workflow Description

This workflow performs the following actions:
  1. Get Trouble Ticket Data. This step invokes the CUT Get Trouble Ticket Data subprocess. For more information, see CUT Get Trouble Ticket Data Workflow.

  2. Send Trouble Ticket Data. This step uses the EAI MQSeries Server Transport business service.

CUT Get Trouble Ticket Data Workflow

This workflow retrieves trouble ticket data from Siebel Communications to respond to a request from an external application. The external application calls this workflow using the available Siebel object interfaces. The external application retrieves the data from Siebel Communications directly, using this workflow as an API.

Workflow Description

This workflow performs the following actions:
  1. Get Trouble Ticket Data. This step uses the Query method of the EAI Siebel Adapter business service and the CUT Sample Trouble Ticket IO.

  2. Convert to XML. This step uses the Integration Object Hierarchy to XML Document method of the EAI XML Converter business service.

CUT Receive Trouble Ticket Data Workflow

This workflow creates a trouble ticket in a back-office application and sends it to Siebel Communications. Updates to trouble tickets stored in a back-office application are communicated to Siebel Communications in the same way, allowing CSRs to see the latest information about externally generated trouble tickets.

Workflow Description

This workflow performs the following actions:
  1. Receive Trouble Ticket Update. This step uses the Receive method of the EAI MQSeries Server Transport business service.

  2. Convert to Internal. This step uses the XML Document to Integration Hierarchy method of the EAI XML Converter business service.

  3. Update Trouble Ticket. This step uses the Insert or Update method of the EAI Siebel Adapter business service.

CUT Receive Fraud Alert Data Workflow

This workflow creates a fraud alert record in a back-office application and sends it to Siebel Communications. Updates to fraud alert information stored in the back-office application are communicated toSiebel Communications in the same way, allowing CSRs to see the latest information about externally generated alerts.

Workflow Description

This workflow performs the following actions:
  1. Receive Fraud Alert Update. This step uses the Receive method of the EAI MQSeries Server Transport business service.

  2. Convert to Internal. This step uses the XML Document to Integration Hierarchy method of the EAI XML Converter business service.

  3. Update Fraud Alert. This step uses the Insert or Update method of the EAI Siebel Adapter business service.

CUT Receive Credit Alert Data Workflow

This workflow creates a credit alert record in a back-office application and sends it to Siebel Communications. Updates to credit alert information stored in the back-office application are communicated toSiebel Communications in the same way, allowing CSRs to see the latest information about externally generated alerts.

Workflow Description

This workflow performs the following actions:
  1. Receive Credit Alert Update. This step uses the Receive method of the EAI MQSeries Server Transport business service.

  2. Convert to Internal. This step uses the XML Document to Integration Hierarchy method of the EAI XML Converter business service.

  3. Update Trouble Ticket. This step uses the Insert or Update method of the EAI Siebel Adapter business service.

CUT Send Phone Number Data Workflow

This workflow sends to back-office applications the phone number data that end users create in Siebel Communications.

Workflow Description

This workflow performs the following actions:
  1. Get Phone Number Data. This step invokes the CUT Get Phone Number Data subprocess. For more information, see CUT Get Phone Number Data Workflow.

  2. Send Phone Number Data. This step uses the EAI MQSeries Server Transport business service.

CUT Get Phone Number Data Workflow

This workflow retrieves phone number data from Siebel Communications to respond to a request from an external application. The external application calls this workflow using the available Siebel object interfaces. The external application retrieves the data from Siebel Communications directly, using this workflow as an API.

Workflow Description

This workflow performs the following actions:
  1. Get Phone Number Data. This step uses the Query method of the EAI Siebel Adapter business service and the CUT Sample Asset IO.

  2. Convert to XML. This step uses the Integration Object Hierarchy to XML Document method of the EAI XML Converter business service.

CUT Receive Phone Number Data Workflow

This workflow receives phone number data that is modified in a back-office application because the data must be updated in Siebel Communications.

Workflow Description

This workflow performs the following actions:
  1. Receive Phone Number Update. This step uses the Receive method of the EAI MQSeries Server Transport business service.

  2. Convert to Internal. This step uses the XML Document to Integration Hierarchy method of the EAI XML Converter business service.

  3. Update Phone Number. This step uses the Insert or Update method of the EAI Siebel Adapter business service.

Sample Integration Workflow: CUT Send Account Data

This topic examines a send-type sample workflow process to help you understand how the workflow process is set up.

This sample workflow process sends an XML string, created from an account record, to an IBM MQSeries queue. For more information about profiles, see Profiles in Siebel Communications.

The following shows this workflow.

This image is described in the surrounding text.

Workflow Description

This workflow performs the following actions:
  1. Get Account Data. This step invokes the Get Account Data subprocess. For more information about this workflow, see Sample Integration Workflow: CUT Get Account Data.

  2. Send Account Data. This step invokes the EAI MQSeries Server Transport business service to put the XML message onto the MQSeries queue, called Employee. The message is represented by the Message Text argument.

    The Queue Manager Name and Physical Queue Name are defined during the MQSeries setup. The Account XML message is sent to the queue specified by the Physical Queue Name property, which is managed by the queue manager specified in the Queue Manager Name property.

CUT Send Account Data Workflow Properties

Properties that apply to all steps of a workflow process are called workflow process properties. These properties apply to all workflow processes. These properties follow:

  • Error Message

  • Error Code

  • Object Id

  • Siebel Operation Object Id

The CUT Send Account Data workflow has the following additional properties:

  • Account XML. Specifies the Siebel object that has been converted to XML.

  • Input: Siebel Int Object Name. Specifies the input Integration Object used in send workflows.

  • Process Instance Id. Specifies the process instance and is automatically populated when a process is executed and persistence is enabled.

Sample Integration Workflow: CUT Get Account Data

The sample workflow subprocess retrieves account data.

The following shows this subprocess.

This image is described in surrounding text.

Workflow Description

This workflow performs the following actions:
  1. Get Account Data. This step uses the query method of the EAI Siebel Adapter business service to get an instance of an account record from the Siebel database. The CUT Sample Account IO describes the structure of the Account business object and was created using the Integration Object Builder. The other part of the query criteria is the Object Id, which is a process property that contains the row ID for the account in the sample DB.

    Note: The CUT Sample Account IO value is actually specified as a process property that is used as the input argument for the process step.
  2. Convert to XML. This step uses the Integration Object Hierarchy to XML Document method of the Siebel EAI XML Converter business service to convert the outbound Siebel Message to XML and store it in the Account XML output argument.

Sample Integration Workflow: CUT Receive Account Data

This topic examines a receive-type sample workflow process to help you understand how the workflow process is set up.

This sample workflow process receives an XML string from an IBM MQSeries queue and updates the Account instance in the Siebel database.

The following shows this workflow.

This image is described in surrounding text.

Workflow Description

This workflow performs the following actions:
  1. Receive Account Update. This step uses the Receive method of the EAI MQSeries Server Transport business service to retrieve the inbound message from the Account physical queue. This queue is named in the Physical Queue Name argument.

    In this case, the output from the receive step is put into the Account XML process property. The assumption is that the inbound message is already in XML format.

  2. Convert to Internal. This step uses the XML Document to Integration Object Hierarchy method of the Siebel EAI XML Converter business service to convert the inbound message to the Siebel business object format.

    The output argument from this step is stored in the Account Message process property, in the Siebel Message format.

  3. Update Account. This step uses the Insert or Update method of the EAI Siebel Adapter business service to perform the updating task. The EAI Siebel Adapter business service checks the Siebel database for an Account record that matches the current instance of Account in the Account Message property, and completes the following actions:

    • If an Account record matching the current instance does not appear in the database, then the adapter inserts the record into the database.

    • If an Account record in the database matches the current instance, then the adapter updates the record with the instance.

CUT Receive Account Data Workflow Properties

Set workflow process properties when you need a property to be true for the entire workflow. For example, the CUT Receive Account Data workflow process has five properties. The Error Message, Error Code, Object Id, and Siebel Operation Object Id properties are included in each workflow process by default. The Account XML property defines the MQSeries message as XML recognizable by Oracle’s Siebel Business Applications.

The CUT Receive Account Data workflow process has the following additional properties:

  • Account Message. Contains the object in its Siebel Communications hierarchical format when converted. It must be in this format before it can be inserted or updated in Siebel Communications.

  • Account XML. Specifies the Siebel object that has been converted to XML.

  • Process Instance Id. Specifies the process instance and is automatically populated when a process is executed and persistence is enabled.