Oracle® Fusion Middleware Developer's Guide for Oracle SOA Suite 11g Release 1 (11.1.1) Part Number E10224-03 |
|
|
View PDF |
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:
Section 4.1, "Introduction to the BPEL Process Service Component"
Section 4.7, "Migrating Custom SOA Composite Applications in Oracle JDeveloper"
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.
Click Finish.
Each method causes the Create BPEL Process dialog shown in Figure 4-1 to appear.
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 4-2. The BPEL process name is used in directory and file names of the SOA project, which can cause problems.
Click OK.
Oracle BPEL Designer displays the sections shown in Figure 4-3.
Each section of this view enables you to perform specific design and deployment tasks. Table 4-2 identifies the sections listed in Figure 4-3.
Table 4-2 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 Activities selection of the Component Palette displays 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 Activities or BPEL Services 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.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.
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."
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-3 describes the fields of this dialog.
Table 4-3 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 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.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 Services.
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-3.
The following sections describe the impact of partner link creation on the SOA Composite Editor.
Table 4-4 describes the impact on the SOA Composite Editor.
Table 4-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 outbound adapter |
|
Figure 4-11 shows how this method of creation appears in 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 inbound adapter |
|
Figure 4-12 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 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-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 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-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 human task or business rule is created |
|
Figure 4-14 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 partner link by dragging an existing human task, business rule, or mediator service component from the Resource Palette to 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 Define Service 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), MQ, and Oracle E-Business Suite. This wizard enables you to configure the types of adapters shown in Figure 4-17 for use with the BPEL process service component:
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 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 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 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.
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 from the dropdown list above the Designer window. 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 47.3, "Instrumenting BPEL Processes With Monitors."
When you open Oracle JDeveloper for the first time, you are prompted to migrate existing applications. If you click Yes to migrate custom SOA composite applications to the current release, you must change the metadata namespace and store ID. Not performing these actions causes migration compilation to fail.
Open the ads-config.xml
file.
Update the metadata-namespaces
and metadata-store-usage
information shown in Example 4-1.
Example 4-1 Metadata Namespace and Store ID
<metadata-namespaces> <namespace metadata-store-usage="soa-shared-usage" path="/soa/shared"/> </metadata-namespaces> <metadata-store-usages> <metadata-store-usage id="soa-shared-usage"> <metadata-store class-name="oracle.mds.persistence.stores.file.FileMetadataStore"> <property value="${oracle.home}/integration" name="metadata-path"/> <property value="seed" name="partition-name"/> </metadata-store> </metadata-store-usage> </metadata-store-usages>