Working with Business Processes and Web Services

This chapter provides overviews of business processes and web services and discusses how to:

Click to jump to parent topicUnderstanding Business Processes

This section discusses:

Click to jump to top of pageClick to jump to parent topicBPEL and the Oracle BPEL Process Manager

BPEL is an industry standard language for defining business processes for orchestrating activities that can spawn across disparate systems. These activities could be exposed as web services. The Oracle BPEL Process Manager enables enterprises to model, deploy, and manage business processes. It includes a BPEL modeler, a scalable BPEL engine, an extensible WSDL binding framework, a monitoring console, and a set of built-in integration services.

This diagram illustrates how the Oracle BPEL Process Manager orchestrates and manages business processes involving operations that occur in multiple disparate systems:

Developing and managing business processes in Oracle BPEL Process Manager

See Oracle BPEL Process Manager documentation

Click to jump to top of pageClick to jump to parent topicCRM Integration with the Oracle BPEL Process Manager

Oracle BPEL Process Manager includes different components that are used to create (BPEL Designer) and execute (BPEL Engine) business processes. Because Oracle BPEL Process Manager and PeopleSoft CRM typically run on separate environments, an infrastructure is being built to integrate these two systems, allowing CRM transactions to invoke and monitor business processes from the PeopleSoft side without physically going to the other system. This infrastructure enables you to:

Note. The design and construction business processes take place on the Oracle BPEL Designer only.

Initiating Business Processes

CRM transactions can initiate both asynchronous and synchronous business process instances in one of these two ways:

If asynchronous business processes cannot be initiated due to issues on the server or network connectivity, you can resubmit the requests from the transaction directly.

Viewing Activity Status and Providing Input Data

The infrastructure provides the ability for business process activities to create manual worklist notifications in the CRM system. Users can provide outcome information as well as application-specific input that is expected by the associated activities. User response is returned to the corresponding activities to allow proper execution of the business process instances.

See Understanding Business Process Worklist Entries.

Monitoring Business Process Instances

The infrastructure includes a monitoring tool that provides status information for asynchronous business process instances. The tool displays business process instances in milestones and provides statuses both for the overall instance and at the milestone level, giving functional users a simple and effective snapshot of the current status. Users can access the monitor from initiating CRM transactions, the 360-Degree View, and My Worklist.

See Understanding the Business Process Monitor.

Business Process Initiation

This diagram illustrates the process flow on business process initiation:

Business process initiation

A transaction can initiate a business process by one of these methods: calling the LaunchBPEL method in the Initiate Business Process API, or using the AAF framework that triggers the Initiate Business Process action. When a business process is being initiated:

  1. The service operation name and optionally application-specific payload, which are passed to the API (or the action configuration, if AAF is used), are submitted to the Integration Gateway and hence the BPEL Engine as a request.

  2. If the request is submitted successfully:

    If the request cannot be submitted due to the occurrence of fatal errors, for example, the service operation points to an invalid node or the business process cannot be uniquely identified because it is registered multiple times using different nodes, the submission process stops. The infrastructure does not support the re-submission of business process instances as a result of fatal errors. Users need to re-initiate the business process.

  3. From the initiating transaction, users can view a list of initiated asynchronous process instances that pertain to it.

    They can access the status information of the instances using the business process monitor.

    For process instances that did not initiate successfully due to network or system outages, the infrastructure provides users the ability to resubmit the instances from the transaction directly.

    Note. Users can view a list of initiated process instances, both asynchronous and synchronous, for any given case on the Case component. In this scenario, synchronous process instances are not displayed in the business process monitor, which does not support synchronous process instances.

Click to jump to top of pageClick to jump to parent topicBusiness Process Monitoring

After business processes are initiated successfully, users can access their statuses from:

Users drill into process instances to view status information from the business process monitor on the CRM system. The monitor retrieves status information of process instances from the BPEL server and provides a functional, milestone-based presentation of the information to business users.

Statuses are represented numerically on the BPEL server. In order for the business process monitor to display business process and activity statuses in a user-friendly manner, the CRM system provides mapping between the codes and the corresponding status description, which is used by the monitor.

The Oracle BPEL Process Manager includes a monitoring tool that is intended for technical users.

See Also

Defining Business Process States

Click to jump to top of pageClick to jump to parent topicBusiness Process Development: Considerations

Here are some recommendations for developing business processes to work efficiently in the CRM system:

Passing Application-Specific Data Using AAF

If AAF is being used to initiate business processes and there is application-specific data that the infrastructure needs to have, that data should be passed as context variables. Available context variables are:

The use of context variables is optional.

Payload is set in the configuration of the Initiate Business Process action.

Passing Application-Specific Data Using API

Similarly, you can pass the same kind of information to the infrastructure if you are calling the LaunchBPEL method to initiate business processes. Available properties are:

Payload, if expected by the BPEL Engine, can be passed in the form of a message object (created using the Message Container) to the LaunchBPEL method.

Click to jump to top of pageClick to jump to parent topicBusiness Process Initiation: Considerations

To initiate a business process successfully, make sure to:

  1. Deploy the business process on a BPEL domain successfully from the BPEL Designer.

  2. Register the business process on the CRM system as service operations using the node that points to the BPEL Console.

  3. Define transaction types for components that use business processes.

    See Setting Up CRM and BPEL Integration.

  4. Specify business process and activity statuses.

    See Defining Business Process States.

  5. Use the Initiate Business Process action in the AAF policy, if the business process is initiated using AAF.

    See Configuring Actions in Policies.

See Also

PeopleTools 8.52: PeopleSoft Integration Broker PeopleBook

Click to jump to parent topicUnderstanding Web Services

This section discusses:

Click to jump to top of pageClick to jump to parent topicWeb Service Basics

A web service is a standards-based web application that can be used to interact with other internet applications over a network. It is a standard way of exposing some operation or group of operations so external clients can make use of them. Common CRM transactions are exposed as web services through the service oriented architecture (SOA) so that an external system (such as the Oracle BPEL Process Manager) can perform various CRM actions without having to create system-specific integration points.

A web service can include one or multiple operations (actions that a web service can perform). For example, the CRM system delivers case as a web service and it contains a number of operations: create case, update case, get case, and search case.

Note. Oracle delivers web services for use with business processes. Some, but not all, of the delivered web services are used in the delivered business processes.

See Also

PeopleTools 8.52: PeopleSoft Integration Broker PeopleBook

Click to jump to top of pageClick to jump to parent topicDelivered Web Services

Oracle delivers web services for common CRM transactions (for example, customer, case, order, quote, service management, product, billing account, number management, agreement, service order, installed product, task, financial account, policy, claim, correspondence management, and so on) so that business processes can call these web services and be able to leverage CRM features that are readily available. External systems can use delivered web services to perform typical operations such as creating, updating transactions, and retrieving transaction information, each of which exists in the online system as well. Note that some web service operations may not provide the full functionality that is available in the online system. For example, the Create Task operation of the Task web service does not support the creation of recurring tasks. Refer to the appendix chapter in each application PeopleBook for more information about delivered web services.

Note. PeopleBooks provide functional descriptions of the web services (for example, list of operations and their descriptions) delivered by their applications. For technical information of these web services, refer to the web services documentation that is available after the installation of the application CD. Locate the Web Services Doc folder under %PSHOME% and open the index.html file in that folder to access information about various web services.

Service Operation Activation

As delivered, service operations in CRM-delivered web services are set to be inactive. You need to reactivate service operations for the web services that you use. To do so:

Note. The functional description of delivered business processes is available in the peoplebook of the corresponding application as an appendix chapter. This chapter references the web services that are used in each business process. For each business process you want to implement in your system, activate all service operations of the web services that are used in that business process.

  1. Navigate to PeopleTools, Integration Broker, Integration Setup, Service Operations.

    Select the service operation you want to reactivate.

  2. On the General page that appears, select the Active field.

  3. On the Routings page, make sure that the routing (the one that has PSFT_WEB_SERVICE as the sender node) is activated.

  4. On the Handlers page, make sure that the listed handler are activated.

    Most service operations have handlers; typically it is one for each service operation.

  5. (For asynchronous service operations only) Navigate to PeopleTools, Integration Broker, Service Operations Monitor, Administration, Queue Status.

    On the Queue Status page, make sure that the queue that the service operation uses is in Running mode.

    You can find the name of the queue that an asynchronous service operation uses on the General page.

See Also

Order Capture Delivered Business Processes and Web Services

Delivered Web Service and Service Operations

Sales Delivered Business Processes and Web Services

Delivered Web Service and Service Operations for CRM Common Components

Delivered Web Services and Service Operations

Business Object Delivered Web Services

Product Delivered Web Services

Delivered Web Service and Service Operations

Delivered Web Services and Service Operations

Delivered Web Services and Service Operations

PeopleTools 8.52: PeopleSoft Integration Broker PeopleBook

PeopleTools 8.52: PeopleSoft Integration Broker Administration PeopleBook

Click to jump to parent topicSetting Up Business Process Security

This section discusses how to:

Click to jump to top of pageClick to jump to parent topicEnabling Security for Delivered Business Processes

As a means to enforce security, delivered business processes are built to be invoked only by users that belong to the ECRM_BPEL role.

Important! The ECRM_BPEL role is defined in the Oracle Application Server or the BPEL Server but not in the PeopleSoft CRM system.

Oracle delivers this role and a user (ECRM_BPEL_USER) that belongs to this role in the BPEL server. Delivered business processes are secured—the initiation of these business processes is limited only to users who belong to the ECRM_BPEL role, and the instantiation of these business processes are done on behalf of the ECRM_BPEL_USER user. You can add a new user with the same role to be used in your environment as needed.

This procedure outlines the steps that are required to enable security for delivered business processes in any given BPEL domain. Some of them are performed at the BPEL server level and some are at the BPEL domain level.

Note. Make sure to perform these steps before the deployment of business processes on a domain.

Suppose that you have just created a new BPEL domain. Then:

  1. Open the message-handlers.xml file of that BPEL domain.

    This file is located at <BPEL_Home>\bpel\domains\<BPEL domain name>\config. Note that changes made on this file impacts only the business processes that belong to this particular domain. Edit the file as follows:

  2. Add the ECRM_BPEL_USER user and the ECRM_BPEL role to the <BPEL_Home>\j2ee\oc4j_bpel\config\jazn-data.xml file (this is performed once on the BPEL server if you have the full server version), like so:

    <user> <name>ECRM_BPEL_USER</name> <display-name>PeopleSoft Enterprise Integration User</display-name> <description>User ID for activating secured services from within PeopleSoft⇒ Enterprise</description> <credentials>!ECRM_BPEL_USER</credentials> </user> <roles> <role> <name>ECRM_BPEL</name> <display-name>PeopleSoft Enterprise Integration Role</display-name> <description>Secured Service Integration Role for PeopleSoft Enterprise<⇒ /description> <members> <member> <type>user</type> <name>ECRM_BPEL_USER</name> </member> </members> </role> [unchanged roles not listed] </roles>

    You can add a new user to be used in your environment if needed. Make sure this new user is a member of the ECRM_BPEL role. Refer to BPEL security in the Oracle BPEL Process Manager documentation for information on configuring users and roles.

    The password of the user is specified in this line (preceded by an exclamation point): <credentials>!ECRM_BPEL_USER</credentials>. Restarting the BPEL server encrypts the password in this file.

  3. Add the user and the user role (as described in the above step) to the jazn-data.xml file under <BPEL_HOME>\integration\orabpel\system\appserver\oc4j\j2ee\home\config.

    This step is performed once on the BPEL server if you have the light server version.

  4. Apply a BPEL tools patch.

    The patch number is 5139817.

  5. Stop and start the Oracle Application Server and BPEL Process Manager.

  6. On the CRM system, navigate to PeopleTools, Integration Broker, Integration Setup, Nodes. Open the BPEL node.

  7. On the Node Definitions page, enter ECRM_BPEL_USER (or the new user you created) as the external user ID and the user password (specified in the jazn-data.xml file, ECRM_BPEL_USER in the above example) as the external password.

    Note. The user specified here must match the user that is specified for the ECRM_BPEL role in the jazn-data.xml.

  8. On the WS Security page, select Username Token for the authentication token type and select the Use External User ID check box.

  9. Deploy business processes using obant or Jdev.

Click to jump to top of pageClick to jump to parent topicDeveloping Secured Business Processes

This procedure outlines the steps needed to develop secured business processes.

Oracle delivers in the BPEL server a role (ECRM_BPEL) and a user (ECRM_BPEL_USER), a member of that role, which is used to invoke business processes. To secure business processes that you develop, make sure to:

  1. Include the ECRM_BPEL role in the BPEL suitcase by clicking the Deployment Descriptor Properties button.

    On the Configurations tab, create the role property and enter ECRM_BPEL to be the property value. After the role property is added, the line <property name="role">ECRM_BPEL</property> is available on the BPEL.XML file:

    <?xml version = '1.0' encoding = 'UTF-8'?> <BPELSuitcase> <BPELProcess id="" src="SecureSyncCalc.bpel"> <partnerLinkBindings> <partnerLinkBinding name="client"> <property name="wsdlLocation">SecureSyncCalc.wsdl</property> </partnerLinkBinding> </partnerLinkBindings> <configurations> <property name="role">ECRM_BPEL</property> </configurations> </BPELProcess> </BPELSuitcase>

    By specifying this role property, any user who is a member of this role can invoke instances of this business process, as well as any service on any instance of this business process.

  2. Open the message-handlers.xml file in $BPEL_HOME/domains/default/config.

    See step 1 in the Enabling Security for Delivered Business Processes section in this chapter for edits that need to be made.

  3. Add delivered user and role to the jazn-data.xml file.

    See steps 2 and 3 in the Enabling Security for Delivered Business Processes section.

    See Enabling Security for Delivered Business Processes.

  4. Repeat steps 4 to 9 in the Enabling Security for Delivered Business Processes section.

    See Enabling Security for Delivered Business Processes.

Click to jump to parent topicSetting Up CRM and BPEL Integration

To set up CRM and BPEL integration, use the Transaction Type (RBB_TRNSTYP_DFN) component.

To update business process end points, use the Update End Point Addresses (RBB_MSGUPD) component.

This section discusses how to:

Click to jump to top of pageClick to jump to parent topicPage Used to Set Up CRM and BPEL Integration

Page Name

Definition Name

Navigation

Usage

Transaction Type

RBB_TRNSTYP_DFN

Set Up CRM, Common Definitions, Business Process, Infrastructure, Define Transaction Types, Transaction Type

Specify the transaction ID with which business process instances initiated from this transaction can associate. In addition, specify the database table in which relationships between this transaction and its business process instances are stored.

Update End Points

RBB_MSGUPD

Set Up CRM, Common Definitions, Business Process, Infrastructure, Update End Point Addresses, Update End Points

Update business process end points.

Click to jump to top of pageClick to jump to parent topicSpecifying Unique Transaction IDs

Access the Transaction Type page (Set Up CRM, Common Definitions, Business Process, Infrastructure, Define Transaction Types, Transaction Type).

As delivered in the CRM system, several common transactions are enabled to initiate business processes. Enabling additional transactions is a consulting effort and is not supported by Oracle.

Transaction Type ID

Displays the unique ID of the transaction that supports business processes. The CRM system uses this ID to associate with asynchronous business process instances that are initiated from this transaction and displays process statuses on the business process monitor.

Association Table

Select the table to store the relationship between the transaction (using the transaction type ID) and its business process instances.

Record (Table) Name

Select the primary record of the transaction that is used to derive key values for the association.

Component Transfer Details

Information in this group box assists the CRM system to identify the appropriate association tables and transaction key values for the association. The system also uses this information to transfer users from the business process monitor or worklist outcome pages to the transaction page.

Click to jump to top of pageClick to jump to parent topicUpdating Business Process End Points

Access the Update End Points page (Set Up CRM, Common Definitions, Business Process, Infrastructure, Update End Point Addresses, Update End Points).

In delivered business processes, a generic token (such as ID) is used to represent end points because end points refer to the BPEL Server from which business processes initiate, and the server is certainly different from one implementation to another.

Use this page to update the end points in delivered business processes by specifying a BPEL node.

BPEL Node

Enter the name of the node that points to the BPEL Server where business processes can be initiated. The system-delivered node is BPEL.

Base URL

Displays the URL of the BPEL Server to which the BPEL node points.

This link appears after a BPEL node is selected. Clicking this link transfers you to the Oracle Application Server home page (indicating that the URL mentioned in the BPEL node is valid).

Domain

Displays the domain on which the CRM system runs.

It appears after a BPEL node is selected.

Replace All (Untokenized Messages also)

Select to allow the system to update all generic token references in business processes, including those that are referenced in messages.

Continue

Click to save the change.

Click to jump to parent topicDefining Business Process States

This section discusses how to:

Click to jump to top of pageClick to jump to parent topicPages Used to Define Business Process States

Page Name

Definition Name

Navigation

Usage

Instance Details

RBB_INST_STATES

Set Up CRM, Common Definitions, Business Process, Infrastructure, Define BPEL States, Instance Details

Specify user-friendly names for process states.

Activity Details

RBB_ACT_STATES

Set Up CRM, Common Definitions, Business Process, Infrastructure, Define BPEL States, Activity Details

Specify user-friendly names for activity states.

Click to jump to top of pageClick to jump to parent topicDefining Process Statuses

Access the Instance Details page (Set Up CRM, Common Definitions, Business Process, Infrastructure, Define BPEL States, Instance Details).

The BPEL Console maintains the states of business process instance using numeric codes and they are not descriptive. This page lists user-friendly names for various business process statuses as delivered in the system. The business process monitor uses these names to represent statuses of business processes that are executed by the BPEL Engine.

Click to jump to top of pageClick to jump to parent topicDefining Activity States

Access the Activity Details page (Set Up CRM, Common Definitions, Business Process, Infrastructure, Define BPEL States, Activity Details).

Enter user-friendly names for various activity states. The business process monitor uses these names to represent statuses of activities that occurred in external systems.

See Also

Monitoring Business Processes