Oracle® Fusion Middleware Developer's Guide for Oracle SOA Suite 11g Release 1 (11.1.1.6.0) Part Number E10224-11 |
|
|
PDF · Mobi · ePub |
This chapter describes how to get started with Oracle BPEL Process Manager. BPEL process creation is described, along with key BPEL design features such as activities, partner links, adapters, and monitors.
This chapter includes the following sections:
This section provides an introduction to the BPEL process service component in the design environment.
You add BPEL process service components in the SOA Composite Editor.
To add a BPEL process service component:
Follow the instructions in Table 4-1 to start Oracle JDeveloper.
Add a BPEL process service component through one of the following methods:
As a service component in an existing SOA composite application:
From the Component Palette, drag a BPEL Process service component into the SOA Composite Editor.
In a new application:
From the Application Navigator, select File > New > Applications > SOA Application.
This starts the Create SOA Application wizard.
In the Application Name dialog, enter an application name in the Application Name field.
In the Directory field, enter a directory path in which to create the SOA composite application and project.
Click Next.
In the Project Name dialog, enter a name in the Project Name field.
Click Next.
In the Project SOA Settings dialog, select Composite With BPEL Process.
Click Finish.
Each method causes the Create BPEL Process dialog shown in Figure 4-1 to appear.
Provide the required details, as described in Table 4-2.
Note:
You cannot use BPEL 1.1 and BPEL 2.0 syntax in the same.bpel
file. However, you can include BPEL 1.1 and BPEL 2.0 projects in the same SOA composite application.Table 4-2 Create BPEL Process Dialog
Field | Description |
---|---|
BPEL Specification |
Select the type of BPEL process to create.
|
Name |
Enter a name for the BPEL process or accept the default name. The name you enter here becomes the file name for the BPEL, Web Services Description Language (WSDL), and Always use completely unique names when creating BPEL processes. Do not create
|
Namespace |
Use the default namespace path or enter a custom path. |
Template |
Select a template based on the type of BPEL process service component you want to design. A template provides a basic set of default files in the Application Navigator (
|
Service Name |
Accept the default value or enter the name of the service this process is exposing. When you open an invoke, receive, OnMessage, or reply activity, the service name appears by default in the Partner Link field. This name is the same name as the partner link. |
Expose as a SOAP Service |
Select this checkbox to create a BPEL process service component that is automatically connected (wired) to an inbound simple object access protocol (SOAP) web service binding component. If you do not select this checkbox, the BPEL process service component is created as a standalone component in the SOA Composite Editor. You can explicitly associate the BPEL process service component with a service at a later time. This checkbox is selected by default. |
Delivery |
Set the persistence policy of the process in the delivery layer. This list enables you to specify a value for the
For more information about deployment descriptor properties, see Appendix C, "Deployment Descriptor Properties." |
Transaction |
Set the transaction behavior of the BPEL instance for initiating calls. This list enables you to specify a value for the
Note: This property does not apply for midprocess receive activities. In those cases, another thread in another transaction is used to process the message. This is because a correlation is needed and it is always done asynchronously. For more information about deployment descriptor properties, see Appendix C, "Deployment Descriptor Properties." |
Input |
Accept the default input XSD schema or click the Search icon to select a different XSD. If you click the Search icon, the Type Chooser dialog appears. Browse the imported schemas and select the input element (for example, a purchase order). You can also import an existing schema or WSDL in the Type Chooser dialog |
Output |
Accept the default output XSD schema or click the Search icon to select a different XSD. If you click the Search icon, the Type Chooser dialog appears. Browse the imported schemas and select the output element (for example, a purchase order). |
Click OK.
Oracle BPEL Designer displays the sections shown in Figure 4-2.
Each section of this view enables you to perform specific design and deployment tasks. Table 4-3 identifies the sections listed in Figure 4-2.
Table 4-3 Oracle JDeveloper Sections
Element | Description |
---|---|
Displays the process files of a SOA project. Key files include the following:
|
|
Provides a visual view of the BPEL process service component that you design. This view displays when you perform one of the following actions:
As you design the BPEL process service component by dragging activities, creating partner links, and so on, the Design window changes. |
|
Displays the available activities to add to the BPEL process service component. Activities are the building blocks. The BPEL Constructs and Oracle Extensions selections of the Component Palette display a set of activities that you drag into the designer of the BPEL process service component. The Component Palette displays only those pages relevant to the state of the designer. BPEL Constructs or Oracle Extensions are nearly always visible. However, if you are designing a transformation in a transform activity, the Component Palette only displays selections relevant to that activity, such as String Functions, Mathematical Functions, and Node-set Functions. |
|
Provides a structural view of the data in the BPEL process service component currently selected in the designer. You can perform a variety of tasks from this section, including:
|
|
Displays messages about the status of validation and compilation. To ensure that a BPEL process service component validates correctly, you must ensure that the following information is correct:
If deployment is unsuccessful, messages appear that describe the type and location of the error. |
|
View the syntax inside the BPEL process service component files. As you drag activities and partner links, and perform other tasks, the syntax in these source files is immediately updated to reflect these changes. |
|
Displays the revision history of a file and read-only and editable versions of a file side-by-side. |
|
Displays details about an activity. Single-click an activity in the Design window to display details. |
Note:
To learn more about these sections, you can also place the cursor in the appropriate section and press F1 to display online Help.Click the icon above the Oracle BPEL Designer to view the BPEL project version (either 1.1 or 2.0). Figure 4-3 provides details.
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:
An assign activity enables you to manipulate data, such as copying the contents of one variable to another. Figure 4-4 shows an assign activity.
An invoke activity enables you to invoke a service (identified by its partner link) and specify an operation for this service to perform. Figure 4-5 shows an invoke activity.
A receive activity waits for an asynchronous callback response message from a service. Figure 4-6 shows a receive activity. A receive activity is also used when a process is started asynchronously through a partner link.
Figure 4-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.
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 Appendix A, "BPEL Process Activities and Services."
For information about copying and pasting activities in the same project or between projects, see Section A.2.2, "Copying and Pasting Activities in BPEL Projects."
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 4-8 shows the partner link icon (in this example, named CreditCardAuthorizationService).
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 4-9 shows an example of the attributes of a partner link for a service.
Table 4-4 describes the fields of this dialog.
Table 4-4 Create Partner Link Dialog Fields
Field | Description |
---|---|
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 WSDL file or Java interface 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 or Java interface to use. Java interfaces display for selection under the References folder with a name of javaEJB. If the component with which you are wiring this partner link uses WSDL files and you select a Java interface and click OK, a message displays indicating that this component requires a WSDL interface. If you click Yes, a compatible WSDL file is created based on the Java interface. For more information about integrating components that use Java interfaces into SOA composite applications, see Chapter 50, "Integrating the Spring Framework in SOA Composite Applications." |
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.Best Practice:
As a best practice, always create and wire Oracle Mediator and BPEL process service components in the SOA Composite Editor, instead of in Oracle BPEL Designer.If you add an Oracle Mediator or BPEL process partner link to your BPEL process in Oracle BPEL Designer and connect either partner link to your BPEL process through an invoke activity, the wiring is not automatically reflected above in the SOA Composite Editor. You must explicitly wire the Oracle Mediator or BPEL process service component to your BPEL process again in the SOA Composite Editor.
Note that this is not an issue with human task or business rule partner links in Oracle BPEL Designer; both are also automatically wired in the SOA Composite Editor.
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.
To create a partner link:
In the SOA Composite Editor, double-click the BPEL process service component.
Oracle BPEL Designer is displayed.
In the Component Palette, expand BPEL Constructs.
Drag a Partner Link into the appropriate Partner Links swimlane, as shown in Figure 4-10.
Figure 4-10 Partner Link Creation in Oracle BPEL Designer
The Create Partner Link dialog appears.
Complete the fields for this dialog, as described in Table 4-4.
The following sections describe the impact of partner link creation on the SOA Composite Editor.
Table 4-5 describes the impact on the SOA Composite Editor.
Table 4-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 for an outbound adapter |
|
Figure 4-11 shows how this method of creation appears in the SOA Composite Editor.
Table 4-6 describes the impact on the SOA Composite Editor.
Table 4-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 for an inbound adapter |
|
Figure 4-12 shows how this method of creation appears in the SOA Composite Editor.
Table 4-7 describes the impact on the SOA Composite Editor.
Table 4-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 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 |
Table 4-8 describes the impact on the SOA Composite Editor.
Table 4-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 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 4-13 shows how this method of creation appears in the SOA Composite Editor.
Table 4-9 describes the impact on the SOA Composite Editor.
Table 4-9 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 |
|
Figure 4-14 shows how this method of creation appears in the SOA Composite Editor.
Table 4-10 describes the impact on the SOA Composite Editor.
Table 4-10 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 into the BPEL process |
|
Figure 4-15 shows how this method of creation appears in the SOA Composite Editor.
The Partner Link dialog shown in Figure 4-9 also enables you to take advantage of another key feature that Oracle BPEL Process Manager and Oracle JDeveloper provide. Click the Service Wizard icon shown in Figure 4-16 to access the Adapter Configuration wizard.
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), and MQ. You can also integrate with services such as HTTP binding, direct binding, EJB, and others. This wizard enables you to configure the types of services and adapters shown in Figure 4-17 for use with the BPEL process service component:
For information about the service and adapter types, see Chapter 35, "Getting Started with Binding Components."
When you select an adapter type, the Service Name window shown in Figure 4-18 prompts you to enter a name. For this example, File Adapter was selected in Figure 4-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 USPSShipment.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.
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 technology adapters, see Oracle Fusion Middleware User's Guide for Technology Adapters.
You can configure BPEL process monitors in Oracle BPEL Designer by selecting Monitor at the top of Oracle BPEL Designer. Figure 4-19 provides details. BPEL process monitors can send data to Oracle BAM for analysis and graphical display through the Oracle BAM adapter.
For more information, see Section 51.3, "Using Oracle BAM Monitor Express With BPEL Processes."