5 Getting Started with Oracle BPEL Process Manager

This chapter describes how to get started with Oracle BPEL Process Manager. Key BPEL design features such as activities, partner links, and adapters are also described.

This chapter includes the following sections:

5.1 Introduction to the BPEL Process Service Component

This section provides an introduction to the BPEL process service component in the design environment.

5.1.1 How to Add a BPEL Process Service Component

You add BPEL process service components in the SOA Composite Editor.

To create a BPEL process service component:

  1. Follow the instructions in Table 5-1 to start Oracle JDeveloper.

    Table 5-1 Starting Oracle JDeveloper

    To Start... On Windows... On UNIX...

    Oracle JDeveloper

    Click JDev_Oracle_Home\jdeveloper\JDev\bin\jdev.exe or create a shortcut

    $ORACLE_HOME/jdev/bin/jdev


  2. Add a BPEL process service component through one of the following methods:

    As a service component in an existing SOA composite application:

    1. From the Component Palette, drag a BPEL Process service component into the SOA Composite Editor.

    In a new application:

    1. From the Application Navigator, select File > New > Applications > SOA Application.

      This starts the Create SOA Application wizard.

    2. In the Application Name dialog, enter an application name in the Application Name field.

    3. In the Directory field, enter a directory path in which to create the SOA composite application and project.

    4. Click Next.

    5. In the Project Name dialog, enter a name in the Project Name field.

    6. Click Next.

    7. In the Project SOA Settings dialog, select Composite with BPEL.

    8. Click Finish.

    Each method causes the Create BPEL Process dialog shown in Figure 5-1 to appear.

    Figure 5-1 Create BPEL Process Dialog

    Create BPEL process
    Description of "Figure 5-1 Create BPEL Process Dialog"

  3. Provide the required details (including BPEL process name). Click Help for details about the types of BPEL processes you can create.

    Always use completely unique names when creating BPEL processes. Do not create:

    • A process name that begins with a number (for example, 1SayHello)

    • A process name that includes a dash (for example, Say-Hello)

    • Two processes with the same name, but with different capitalization (for example, SayHello and sayhello)

    • A process name that exceeds 500 characters.

    • A non-ASCII process name such as that shown in Figure 5-2. The BPEL process name is used in directory and file names of the SOA project, which can cause problems.

      Figure 5-2 Non-ASCII BPEL Process Name

      Description of Figure 5-2 follows
      Description of "Figure 5-2 Non-ASCII BPEL Process Name"

  4. Click OK.

Oracle BPEL Designer displays the sections shown in Figure 5-3.

Figure 5-3 Oracle JDeveloper Sections

Description of Figure 5-3 follows
Description of "Figure 5-3 Oracle JDeveloper Sections"

Each section of Oracle BPEL Designer enables you to perform specific design and deployment tasks.

  • Application Navigator

  • Design window

  • Source window

  • History window

  • Component Palette

  • Property Inspector

  • Structure window

  • Log window

For a descriptions of these sections, see Section 2.1, "Introduction to the SOA Composite Editor."

Note:

To learn more about these sections, you can also place the cursor in the appropriate section and press F1 to display online Help.

5.2 Introduction to Activities

Activities are the building blocks of a BPEL process service component. Oracle BPEL Designer includes a set of activities that you drag into a BPEL process service component. You then double-click an activity to define its attributes (property values). Activities enable you to perform specific tasks within a BPEL process service component. For example, here are several key activities:

Figure 5-7 shows an example of a property window (for this example, an invoke activity). In this example, you invoke a partner link named StoreFrontService and define its attributes.

Figure 5-7 Invoke Activity Example

Description of Figure 5-7 follows
Description of "Figure 5-7 Invoke Activity Example"

The invoke activity enables you to specify an operation you want to invoke for the service (identified by its partner link). The operation can be one-way or request-response on a port provided by the service. You can also automatically create variables in an invoke activity. An invoke activity invokes a synchronous service or initiates an asynchronous web service.

The invoke activity opens a port in the process to send and receive data. It uses this port to submit required data and receive a response. For synchronous callbacks, only one port is needed for both the send and the receive functions.

For more information about activities, see Chapter A, "BPEL Process Activities and Services" and Oracle Fusion Middleware Tutorial for Running and Building an Application with Oracle SOA Suite.

5.3 Introduction to Partner Links

A partner link enables you to define the external services with which the BPEL process service component is to interact. You can define partner links as services or references (for example, through a JCA adapter) in the SOA Composite Editor or within a BPEL process service component in Oracle BPEL Designer. Figure 5-8 shows the partner link icon (in this example, named WriteRecord).

Figure 5-8 PartnerLink Icon

Description of Figure 5-8 follows
Description of "Figure 5-8 PartnerLink Icon"

A partner link type characterizes the conversational relationship between two services by defining the roles played by each service in the conversation and specifying the port type provided by each service to receive messages within the conversation.

Figure 5-9 shows an example of the attributes of a partner link for a service.

Figure 5-9 Partner Link Dialog

Description of Figure 5-9 follows
Description of "Figure 5-9 Partner Link Dialog"

Table 5-2 describes the fields of this dialog.

Table 5-2 Create Partner Link Dialog Fields

Field Description

Name

A unique and recognizable name you provide for the partner link.

Process

Displays the BPEL process service component name.

WSDL URL

The name and location of the Web Services Description Language (WSDL) file that you select for the partner link. Click the SOA Service Explorer icon (second icon from the left above the WSDL URL field) to access a window for selecting the WSDL file to use.

Partner Link Type

The partner link defined in the WSDL file.

Partner Role

The role performed by the partner link.

My Role

The role performed by the BPEL process service component. In this case, the BPEL process service component does not have a role because it is a synchronous process.


Note:

The Partner Link Type, Partner Role, and My Role fields in the Create Partner Link dialog are defined and required by the BPEL standard.

5.4 Creating a Partner Link

The method by which you create partner links within the BPEL process in Oracle BPEL Designer impacts how the partner link displays above in the SOA Composite Editor. This section describes this impact. The WSDL file can be on the local operating system or hosted remotely (in which case you need a URL for the WSDL).

Likewise, creating and wiring a service or reference binding component to a BPEL process service component in the SOA Composite Editor causes a partner link to display in Oracle BPEL Designer.

5.4.1 How to Create a Partner Link

To create a partner link:

  1. In the SOA Composite Editor, double-click the BPEL process service component.

    Oracle BPEL Designer is displayed.

  2. In the Component Palette, expand BPEL Services.

  3. Drag a Partner Link into the appropriate Partner Links swim lane, as shown in Figure 5-10.

    Figure 5-10 Partner Link Creation in Oracle BPEL Designer

    Description of Figure 5-10 follows
    Description of "Figure 5-10 Partner Link Creation in Oracle BPEL Designer"

    The Create Partner Link dialog appears.

  4. Complete the fields for this dialog, as described in Table 5-2.

For more information about creating a partner link in the SOA Composite Editor, see Chapter 4, "Introduction to the Functionality of the SOA Composite Editor."

The following sections describe the impact of partner link creation on the SOA Composite Editor.

5.4.1.1 Partner Links for an Outbound Adapter

Table 5-3 describes the impact on the SOA Composite Editor.

Table 5-3 Impact of Partner Link Creation on the SOA Composite Editor

Creating the Following for a BPEL Process in Oracle BPEL Designer... Displays the Following in the SOA Composite Editor...

A partner link for an outbound adapter

  • A reference handle for the BPEL service component

  • A reference representing the outbound adapter in the composite

  • A wire connecting the BPEL service component to the adapter reference


Figure 5-11 shows how this method of creation appears in the SOA Composite Editor.

Figure 5-11 SOA Composite Editor Impact

Description of Figure 5-11 follows
Description of "Figure 5-11 SOA Composite Editor Impact"

5.4.1.2 Partner Links for an Inbound Adapter

Table 5-4 describes the impact on the SOA Composite Editor.

Table 5-4 Impact of Partner Link Creation on the SOA Composite Editor

Creating the Following for a BPEL Process in Oracle BPEL Designer... Displays the Following in the SOA Composite Editor...

A partner link for an inbound adapter

  • A service for the BPEL service component

  • A service representing the inbound adapter in the composite

  • A wire connecting the inbound adapter service to the BPEL service component


Figure 5-12 shows how this method of creation appears in the SOA Composite Editor.

Figure 5-12 SOA Composite Editor Impact

Description of Figure 5-12 follows
Description of "Figure 5-12 SOA Composite Editor Impact"

5.4.1.3 Partner Links from an Abstract WSDL to Call a Service

Table 5-5 describes the impact on the SOA Composite Editor.

Table 5-5 Impact of Partner Link Creation on the SOA Composite Editor

Creating the Following for a BPEL Process in Oracle BPEL Designer... Displays the Following in the SOA Composite Editor...

A partner link from an abstract WSDL to call a service

A reference handle with an interface and callback interface defined for the BPEL service component


5.4.1.4 Partner Links from an Abstract WSDL to Implement a Service

Table 5-6 describes the impact on the SOA Composite Editor.

Table 5-6 Impact of Partner Link Creation on the SOA Composite Editor

Creating the Following for a BPEL Process in Oracle BPEL Designer... Displays the Following in the SOA Composite Editor...

A partner link is created from an abstract WSDL to implement a service

A service with an interface and callback interface for the BPEL service component is created.

Note: If an external Simple Object Access Protocol (SOAP) reference with the specified interface and callback interface exists in the SOA Composite Editor, you can either create a new external SOAP reference and wire to it or wire to the existing external SOAP reference.


Figure 5-13 shows how this method of creation appears in the SOA Composite Editor.

Figure 5-13 SOA Composite Editor Impact

Description of Figure 5-13 follows
Description of "Figure 5-13 SOA Composite Editor Impact"

5.4.1.5 Partner Links and Human Tasks or Business Rules

Table 5-7 describes the impact on the SOA Composite Editor.

Table 5-7 Impact of Partner Link Creation on the SOA Composite Editor

Creating the Following for a BPEL Process in Oracle BPEL Designer... Displays the Following in the SOA Composite Editor...

A human task or business rule is created

  • A human task or business rule in the composite

  • A reference for the BPEL service component

  • A wire connecting the BPEL service component to the new human task or decision service


Figure 5-14 shows how this method of creation appears in the SOA Composite Editor.

Figure 5-14 SOA Composite Editor Impact

Description of Figure 5-14 follows
Description of "Figure 5-14 SOA Composite Editor Impact"

5.4.1.6 Partner Links from an Existing Human Task, Business Rule, or Oracle Mediator

Table 5-8 describes the impact on the SOA Composite Editor.

Table 5-8 Impact of Partner Link Creation on the SOA Composite Editor

Creating the Following for a BPEL Process in Oracle BPEL Designer... Displays the Following in the SOA Composite Editor...

A partner link by dragging an existing human task, business rule, or mediator service component from the Resource Palette to the BPEL process

  • A reference for the BPEL service component

  • A wire connecting the BPEL service component to the existing human task, business rule, or mediator


Figure 5-15 shows how this method of creation appears in the SOA Composite Editor.

Figure 5-15 SOA Composite Editor Impact

Description of Figure 5-15 follows
Description of "Figure 5-15 SOA Composite Editor Impact"

5.5 Introduction to Technology Adapters

The Partner Link dialog shown in Figure 5-9 also enables you to take advantage of another key feature that Oracle BPEL Process Manager and Oracle JDeveloper provide. Click the Define Service icon shown in Figure 5-16 to access the Adapter Configuration wizard.

Figure 5-16 Defining an Adapter

Description of Figure 5-16 follows
Description of "Figure 5-16 Defining an Adapter"

Adapters enable you to integrate the BPEL process service component (and, therefore, the SOA composite application as a whole) with access to file systems, FTP servers, database tables, database queues, sockets, Java Message Services (JMS), MQ, and Oracle E-Business Suite. This wizard enables you to configure the types of adapters shown in Figure 5-17 for use with the BPEL process service component:

Figure 5-17 Adapter Types

Description of Figure 5-17 follows
Description of "Figure 5-17 Adapter Types"

The following adapter types are available:

  • Advanced Queuing (AQ)

    For interaction with a queue. AQ provides a flexible mechanism for bidirectional, asynchronous communication between participating applications.

  • Oracle Business Activity Monitoring (BAM)

    For publishing data to data objects in an Oracle BAM Server.

  • Database

    For interaction with Oracle and non-Oracle databases through JDBC and Oracle Business Intelligence (which is a special data source type).

  • FTP and File

    For file exchange (read and write) on local file systems and remote file systems (through use of the file transfer protocol (FTP)).

    Note:

    When calling the file adapter, Oracle BPEL Process Manager may process the same file twice when run against Oracle Real Application Clusters planned outages. This is because a file adapter is a non-XA compliant adapter. Therefore, when it participates in a global transaction, it may not follow the XA interface specification of processing each file once and only once.
  • Java Messaging Service (JMS)

    For interaction with JMS. The JMS architecture uses a one client interface to many messaging servers architecture.

  • Message Queue (MQ)

    For message exchange with WebSphere MQ queuing systems.

  • Oracle Applications

    For interaction with Oracle Application's set of integrated business applications.

  • Oracle B2B

  • For browsing B2B metadata in the metadata service (MDS) repository and selecting document definitions.

  • Sockets

    For modeling standard or nonstandard protocols for communication over TCP/IP sockets.

When you select an adapter type, the Service Name window shown in Figure 5-18 prompts you to enter a name. For this example, File Adapter was selected in Figure 5-17. When the wizard completes, a WSDL file by this service name appears in the Application Navigator for the BPEL process service component (for this example, named ReadFile.wsdl). The service name must be unique within the project. This file includes the adapter configuration settings you specify with this wizard. Other configuration files (such as header files and files specific to the adapter) are also created and display in the Application Navigator.

Figure 5-18 Adapter Service Name

Description of Figure 5-18 follows
Description of "Figure 5-18 Adapter Service Name"

The Adapter Configuration wizard windows that appear after the Service Name window are based on the adapter type you selected.

You can also add adapters to your SOA composite application as services or references in the SOA Composite Editor.

For more information about adding adapters to SOA composite applications, see Chapter 4, "Introduction to the Functionality of the SOA Composite Editor."

For more information about technology adapters, see Oracle Fusion Middleware User's Guide for Technology Adapters.