| Oracle® SOA Suite Installation Guide for IBM WebSphere Application Server 10g Release 3 (10.1.3.4) for UNIX and Microsoft Windows Part Number E13971-01 |
|
|
View PDF |
This chapter provides the requirements and procedures for installing Oracle SOA Suite with IBM WebSphere Application Server.
This chapter contains these topics:
See Also:
The following documentation after completing installation:Oracle BPEL Process Manager Quick Start Guide
Oracle BPEL Process Manager Order Booking Tutorial
Oracle BPEL Process Manager Developer's Guide
Oracle Application Server Adapter for Files, FTP, Databases, and Enterprise Messaging User's Guide
Oracle Application Server Adapter Concepts
You can install and use Oracle SOA Suite with the IBM WebSphere Application Server.
The IBM WebSphere Application Server enables you to set up, operate, and integrate e-business applications across multiple computing platforms using Web technologies. The IBM WebSphere Application Server includes both the run-time components and the tools to develop and design applications.
Oracle SOA Suite provides a complete set of service infrastructure components for designing, deploying, and managing composite applications. Oracle SOA Suite enables services to be created, managed, and orchestrated into composite applications and business processes. Composites enable you to easily assemble multiple technology components into one SOA composite application. Oracle SOA Suite plugs into heterogeneous IT infrastructures and enables enterprises to incrementally adopt SOA.
Oracle Business Rules (Business Rules) and Oracle Adapters plug into the Service Infrastructure, a normalized transport infrastructure, make up the Enterprise Service Bus (ESB). With the addition of the Oracle BPEL Process Manager (BPEL) and Human Task service components, the suite forms a complete Business Process Management (BPM) platform.
The following components comprise Oracle SOA Suite:
Oracle Enterprise Service Bus (ESB)
Oracle BPEL Process Manager (BPEL)
Human Task
Oracle Web Services Manager (OWSM)
Oracle Business Rules
The installation of Oracle SOA Suite for IBM WebSphere Application Server consists broadly of the following steps:
Create the Oracle SOA Suite Schema in the Oracle Database
This step involves installation of Oracle Database and creation of the required DB schemas for the Oracle SOA Suite on Oracle Database.
Installation of the Oracle SOA Suite 10.1.3.1 for OC4J
This comes with an embedded OC4J J2EE container. Further steps will configure this Oracle SOA Suite to work on top of the IBM WebSphere Application Server.
Apply Oracle SOA Suite Patchset 10.1.3.4 on Oracle SOA Suite 10.1.3.1
This patchset upgrades the existing 10.1.3.1.0 installation to 10.1.3.4.0.
Apply Patchset and Upgrade
This patchset upgrades to Oracle SOA Suite 10.1.3.4 on WebSphere.
Configure Oracle SOA Suite on IBM WebSphere Application Server Version 6.1.0.15
This step involves running a command-based script, which will configure the Oracle SOA Suite installed earlier to run on IBM WebSphere Application Server. The script performs the following:
Creates application server - oracleSOAServer
Configures the oracleSOAServer shared libraries with Oracle SOA Suite Binaries
Creates and configures the required dataSources/JMS resources.
Deploys the required J2EE applications for BPEL Console, BPEL Admininstration, Human WorkFlow, ESB, OWSM, and Business Rules.
The above steps, which are further detailed in Installation and Configuration, summarize the installation and configuration of Oracle SOA Suite on IBM WebSphere 6.1.0.15 platform.
Table 1-1 describes the system requirements for using Oracle SOA Suite with the IBM WebSphere Application Server.
Table 1-1 Oracle SOA Suite System Requirements
| Element | Requirement |
|---|---|
|
IBM WebSphere Application Server |
Version 6.1.0.15 or newer |
|
Design Time |
Oracle JDeveloper version 10.1.3.3 |
|
Oracle SOA Suite for OC4J |
Apply SOA Suite patchset 10.1.3.4 on Oracle SOA Suite 10.1.3.1 Note: Refer to Step 2: Install Oracle SOA Suite Basic 10.1.3.1.0 for OC4J for installing Oracle SOA Suite for OC4J. |
|
Web browsers |
Internet Explorer 6.0 or Mozilla Firefox 2.0 |
|
Operation systems |
Microsoft Windows XP, Microsoft Windows 2003, Red Hat Enterprise Linux release 3, and Red Hat Enterprise Linux release 4 Note: See the IBM Web site for additional details about using these operating systems with the IBM WebSphere Application Server. |
|
Dehydration store database |
Oracle Database 10g (10.2.0.2) or higher Note: This certification matrix reflects the Oracle SOA Suite certification on Oracle Application Server, and may vary with the application server being used. Confirm the certification matrix of the application server with Oracle Database version. |
This section describes the steps involved in installing and configuring the Oracle Database, creating a schema in the Database, and installing and configuring IBM WebSphere Application Server.
This section contains the following topics:
Step 3: Create the Oracle SOA Suite Schema in the Oracle Database
Step 6: Apply Opatch for Oracle SOA Suite 10.1.3.4 on WebSphere 6.1.0.15
Step 7: Install and Configure IBM WebSphere Application Server Version 6.1.0.15
Follow these instructions to install Oracle Database 10g.
Note:
These instructions assume that you have obtained Oracle Database 10g version 10.1.0.2 and Oracle Database 10g Patch version 10.1.0.5.For all other Database versions, refer to http://www.oracle.com/technology/documentation/index.html.
Install Oracle Database 10g 10.1.0.2.
Open SQL*Plus and log in as a user with the SYSDBA privilege.
Shut down the database:
SQL> SHUTDOWN IMMEDIATE
Install the Oracle Database 10g 10.1.0.5 patch in the same Oracle home in which you installed Oracle Database 10g.
If using Linux only, then log in as the root user and run the following command from the operating system command prompt:
/etc/init.d/init.cssd stop
Start the database in upgrade mode in SQL*Plus:
SQL> STARTUP UPGRADE
Run the following script:
SQL> @ORACLE_HOME/rdbms/admin/catpatch.sql;
Shut down the database:
SQL> SHUTDOWN IMMEDIATE
Restart the database:
SQL> STARTUP
Run the following script:
SQL> @ORACLE_HOME/rdbms/admin/utlrp.sql;
The install instructions to install basic Oracle SOA Suite 10.1.3.1 for OC4J is available at
http://www.oracle.com/technology/software/tech/soa/index.html
You must install Oracle SOA Suite into it's own directory outside of WebSphere. The WebSphere installation will refer to binaries and property files from this installation. This external installation must be there permanently, it's not a temporary staging area. Even though it also contains OC4J, you will not be starting and stopping it. This is an important prerequisite prior to the WebSphere install.
Note:
In this step, you are required to install only the basic installation of Oracle SOA Suite 10.1.3.1, and not the advanced.WARNING:
Do not start Oracle SOA Server from the Windows Start Menu or by running the Oracle_Home\bpel\bin\startorabpel script. These actions are not supported.
Note:
The scripts to configure Oracle SOA Suite on the IBM WebSphere Application Server require that theJAVA_HOME environment parameter be set prior to running the script.Navigate to the Disk1\install\soa_schemas\irca folder in the Oracle SOA Suite Installation Setup files directory.
Set ORACLE_HOME to point to the Oracle Database Installation location. For example,
set ORACLE_HOME=c:\Oracle10g
Enter irca.bat on Windows and ./irca.sh in Linux.
This runs the irca script to create the schemas required for BPEL, ESB, and OWSM.
Enter sys password when prompted.
The orabpel, oraesb, and orawsm schemas are loaded on the Oracle Database.
In this step, you will apply the SOA Suite Patchset 10.1.3.4 and also upgrade ORABPEL and ORAESB schemas to 10.1.3.4.
Step 4-1: Upgrade ORABPEL and ORAESB Schemas to 10.1.3.4
To upgrade ORABPEL and ORAESB schemas to 10.1.3.4, perform the following steps:
Run the 10.1.3.4 SOA Schema upgrade scripts for orabpel/oraesb schemas that are available in the SOA Suite 10.1.3.4 Patchset Installation pack.
Execute the following script to upgrade the ORABPEL schema:
Disk1\install\soa_schema_upgrade\bpel\scripts\upgrade_10133_10134_oracle.sql
Execute the following script to upgrade the ORAESB schema:
Disk1\install\soa_schema_upgrade\esb\sql\oracle\upgrade_10131_10134_oracle.sql
To apply SOA Suite Patchset 10.1.3.4, perform the following steps:
You can download the SOA Suite Patchset 10.1.3.4 from OTN at http://www.oracle.com/technology/software/products/ias/htdocs/101310.html
Follow the instructions in the patchset to install the patchset on the Oracle SOA Suite 10.1.3.1.
Caution:
You should not start/restart the Oracle SOA Suite instance of OC4J server after applying the patch.Shutdown the SOA Suite Post patch upgrade as follows:
| For... | Run... |
|---|---|
| Windows XP | SOA_HOME\opmn\bin> opmnctl stopall |
| Linux | SOA_HOME\opmn\bin> ./opmnctl stopall |
You must download the Opatch for Bug 7446145 (HOTPLUG: SOASUITE 10.1.3.4 ON WEBSPHERE 6.1.0.15 - CHANGES FOR HOTPLUGGABILITY) from ARU and then apply the patch on Oracle SOA Suite 10.1.3.4.
Download the OPatch p7446145_101340_GENERIC.zip for Bug 7446145.
Follow the instructions given in the Readme.txt file of the patch and apply the patch on Oracle SOA Suite 10.1.3.4.
Shutdown the Oracle SOA Suite post patch upgrade as follows:
| For... | Run... |
|---|---|
| Windows XP | XP SOA_HOME\opmn\bin> opmnctl stopall |
| Linux | SOA_HOME/opmn/bin> ./opmnctl stopall |
Perform the following steps to install and configure IBM WebSphere application server version 6.1.0.15:
Install IBM WebSphere Application Server version 6.1.0.15.
Note:
If installing on Linux, then WebSphere should be installed as the root user.Download the Oracle SOA Suite 10.1.3.4 IBM WebSphere Application Server 6.1.0.15 from OracleMetaLink
metalink.oracle.com and unzip to your local machine and then apply the patch 7566941. The contents of this zip file are extracted to WAS_SOA10134_Installables folder.
Note:
The directory to which you download the Oracle SOA Suite should be the same host on which the IBM WebSphere Application Server is installed.
Unzip the WAS_SOA10134_Installables folder as a non-root user (same user as used to install Oracle SOA Suite 10.1.3.1 for OC4J). For example, Oracle.
If installing on Linux, then change the permissions to the WAS_SOA10134_Installables folder using the chmod -R 755 WAS_SOA10134_Installables command.
Ensure that Nodeagent on which the SOA Server will be configured is running, else start Nodeagent as follows:
| For... | Run... |
|---|---|
| Windows XP | WAS_HOME\profiles\<ProfileName>\bin\startNode.bat |
| Linux | WAS_HOME/profiles/<ProfileName>/bin/startNode.sh |
Modify the following mandatory installation properties in the WAS_SOA10134_Installables\cfg\config.properties file:
Note:
Mandatory properties cannot have a comment tag or contain blank values. Failure to follow this requirement results in errors during installation. Also, ensure that you enter the appropriate information for each of the fields. Any typo will cause errors during installation.However, the proxy settings properties, such as PROXY_HOST is non-mandatory.
| Property | Description |
|---|---|
WAS_HOME |
The directory path in which WebSphere is installed. |
CELL_NAME |
Name of the WebSphere Cell (<host>Node01Cell). |
NODE_NAME |
Name of the WebSphere Node (<host>Node01). |
PROFILE_NAME |
Name of the Profile (AppSrv01 by default). |
SOA_HOME |
The directory path in which Oracle SOA Suite is installed. |
SERVER_NAME |
The name of the WebSphere instance that runs Oracle SOA Suite. The default value is oracleSOAServer, but this can be any valid name. |
SOA.DS.DRIVERTYPE |
The JDBC driver type (thick or thin). |
SOA.DS.HOSTNAME |
The name or IP address of the host on which Oracle Database 10g is installed. |
SOA.DS.PORTNUMBER |
The port number of the host on which Oracle Database 10g is installed. |
SOA.DS.SID |
The service name of Oracle Database 10g. |
BPEL.JAASAUTHUSERID |
The user name for accessing the BPEL schema. |
BPEL.JASAUTHPASSWD |
The password of the user name for accessing the BPEL schema. |
ESB.JAASAUTHUSERID |
The user name for accessing the ESB schema. |
ESB.JASAUTHPASSWD |
The password of the user name for accessing the ESB schema. |
AQ.JAASAUTHUSERID |
The user name for accessing the AQ schema that is similar to the ESB schema. |
AQ.JASAUTHPASSWD |
The password of the user name for accessing the AQ schema that is similar to the ESB schema. |
VHPORTS1 |
The virtual host or HTTP port number. |
VHPORTS2 |
The virtual host or HTTP port number. |
VHPORTS1 - DEFAULT PORT |
The default port on which the Oracle SOA Suite will run. |
DMGR_HOST |
The host name of the machine where the deployment manager is running. |
DMGR_SOAP_CONNECTOR_PORT |
The port on which the deployment manager is running. |
If you want to use the following optional properties, remove the <comment> tag from the properties, and then specify values.
Note:
Optional properties have the <comment> tag, by default. If you remove the <comment> tag for these properties, then they cannot contain blank values. Change the default values for the four properties. Failure to follow this requirement results in errors during installation.| Property | Description |
|---|---|
PROXYSET |
Indicates whether a proxy server is being used (true or false). |
PROXYHOST |
The name or IP address of the host on which the proxy server is installed. |
PROXYPORT |
The port your host uses to access the proxy server. |
NONPROXYHOSTS |
The addresses for which the proxy server must be bypassed. |
CLUSTER_NAME |
Name of the WebSphere cluster for hosting SOA Server. |
LOAD_BALANCER_HOST |
The host name of the machine where the load balancer server is running. |
LOAD_BALANCER_PORT |
The port on which the load balancer server is running. |
Run the following script from WAS_SOA10134_Installables folder at the operating system command prompt:
| For... | Run... |
|---|---|
| Windows XP | configureStandAloneServer.bat -secure |
| Linux | configureStandAloneServer.sh -secure |
The configuration scripts mentioned in the table execute in two parts:
The first part creates all the artifacts required for the SOAServer such as DataSources, ConnectionFactories, and Shared-Libraries on the WebSphere Application Server. (On Linux environments, this part needs to be executed as a 'root' user.) The second part of the script modifies configuration values under SOA_HOME. (On Linux environments, this part needs to be executed as a 'non-root' user.)
After you execute the script, this script prompts you to enter the WebSphere username and password. If the authentication is successful, then the Deployment Manager artifacts will be installed/configured into WebSphere application server.
Installation progress is logged to the WAS_SOA10134_Installables\bin\logs\output.log and WAS_SOA10134_Installables\bin\logs\output-copy.log files.
Note:
While running the configureStandAloneServer.bat or configureStandAloneServer.sh file, set the environment variable WAS_HOME to WAS folder. For example, C:\WebSphere in Microsoft Windows or \opt\IBM\WebSphere in Linux.
Set the JAVA_HOME path to WAS_HOME/java.
If JAVA_HOME path does not exist, then setup file throws a message asking to set the JAVA_HOME before running the setup file.
If WAS_HOME path does not exist, then setup file throws a message asking to set the WAS_HOME before running the setup file.
Refer to Upgrade Path for SOA Suite 10.1.3.3 on WebSphere 6.1.0.15 Installation for existing SOA Suite 10.1.3.4 on WebSphere 6.1.0.15 customers.
The above scripts can be run without the "-secure" option, if security is disabled in the WebSphere environment.On Linux environments, the above script needs to be executed as a 'root' user. Also, the script will prompt for the SOA username while executing the second phase of the configuration.
Stop and start the NodeAgent after the script run is completed.
Start the oracleSOAServer server by following the startup instructions as follows:
Log in to http://localhost:9060/console. The IBM WebSphere Application Server Administrative Console window is displayed.
Select Servers -> Application Servers -> oracleSOAServer. Select the server and click Start.

Note:
Do not start Oracle SOA Server from the Windows Start Menu or by running theSOA_HOME\bpel\bin\startorabpel script. These actions are not supported.Once the server starts, log in to the BPEL console at the following URL:
http://localhost:9700/BPELConsole
This section describes the various design-time support functions available on IBM WebSphere Application Server, for the deployment of J2EE applications in JDeveloper. You can deploy BPELPM components on IBM WebSphere Application Server by using the following two methods:
You can use ant in the BPELPM developer prompt to deploy J2EE applications. This section contains the following topics:
Ensure that bpelPlatform is set to websphere_5 in the BPEL_HOME\bpel\system\config\collaxa-config.xml file.
Ensure that the following properties are set in BPEL_HOME\bpel\utilities\ant-orabpel.properties file:
platform to websphere_5
admin.user to valid user in WebSphere security realm
admin.encrypted.password to admin.password of the above user
jndi.url to iiop://<dmgr_host>:<dmgr_port>
jndi.InitialContextFactory to com.ibm.websphere.naming.WsnInitialContextFactory
Note:
If theadmin.user property is not set correctly, then the deployment may throw authentication errors.Follow these instructions to deploy BPELPM from the developer prompt using ant:
Open a BPELPM Developer prompt.
Run ant.sh/bat from the BPEL_HOME\bpel\system\appserver\oc4j\ant\bin directory of the BPEL application.
Note:
For more information, refer toC:\product\10.1.3.1\OraBPEL_OC4J\bpel\GETTING_STARTED.html.The only exceptions to be noted are as follows:
If the BPEL Process contains any Decision Service applications, UI applications, or Work Flow applications, then these applications will not be automatically deployed in WebSphere Application Server by the ant script.
The corresponding EAR/WAR files is custom built for WebSphere platform but must be manually deployed on the target server oracleSOAServer.
Use WebSphere Admin console (http://<hostname>:9060/console) to deploy the EAR/WAR files to oracleSOAServer.
Note:
Refer to Auto Loan Demo for more details.You can also deploy J2EE applications from JDeveloper. This section contains the following topics:
Download JDeveloper Studio 10.1.3.4 (jdevstudio10134.zip) from
For Windows - http://www.oracle.com/technology/software/products/jdev/htdocs/soft10134.html.
Copy the bpm-services.jar file from the SOA_HOME\bpel\system\services\lib directory to JDEV_HOME\integration\lib directory.
Copy the orabpel-ant.jar and orabpel.jar files from the SOA_HOME\bpel\lib directory to the JDEV_HOME\integration\lib directory.
Ensure that the following properties are set in in SOA_HOME\bpel\utilities\ant-orabpel.properties file: Ensure that bpelPlatform is set to websphere_5 in the SOA_HOME\bpel\system\config\collaxa-config.xml file.
platform to websphere_5
admin.user to valid user in WebSphere realm
admin.encrypted.password to admin.password of the above user
jndi.url to iiop://<dmgr_host>:<dmgr_port>
jndi.InitialContextFactory to com.ibm.websphere.naming.WsnInitialContextFactory
Creating Connections to Oracle SOA Server
Follow the steps below to create an application server connection and an integration server connection:
Create an application server connection of the Standalone OC4J 10.1.3 type.
Choose OC4J standalone as server type as there is no plugin available for WebSphere
Ignore errors when testing this connection. This is due to OPMN absent on WebSphere
Create an Integration Server connection to hostname:<default_port>. The default port is as mentioned in the config.properties file.
Choose the above-created AppServer connection
BPEL and ESB should pass when this connection is tested
Follow these instructions to deploy BPELPM from the developer prompt using JDeveloper:
From JDeveloper, right-click and deploy the BPEL application into the required domain.

The only exceptions to be noted are as follows:
If the BPEL Process contains any Decision Service applications, UI applications, or Work Flow applications, then these applications will not be automatically deployed in WebSphere Server by JDeveloper.
The corresponding EAR/WAR files is custom built for WebSphere platform but must be manually deployed on the target server oracleSOAServer in WebSphere.
Use WebSphere Admin console (http://<hostname>:9060/console) to deploy the EAR/WAR files to oracleSOAServer.
Note:
Refer to Auto Loan Demo for more details.This section describes steps to deploying the human task form ear and decision services ear:
To deploy human task form war:
Change to the …\public_html\…\form in the directory of the sample.
Make a note of the <context-root> from the application.xml file.
Log in to WebSphere Admin Console and navigate to the Application page.
Choose bpel-[nodename].ear and click Update. The Update page is displayed.
Choose the Replace or add a single module option and enter workflowform.war in the text field.
Click Browse and navigate to the folder where the workflowform.war is available.
Provide the <context-root> as in application.xml.
Click Next, until the Map Modules to Servers page is displayed.
Associate the application to oracleSOAServer and complete the installation procedure.
Note :
Due to an existing bug in WebSphere, Update Applications removes the shared-library references.After the update procedure, reassociate the soa_bepl_sl to the bpel-[nodename] application.
To deploy decision services ear:
Change to the ..\decisionservices\.. directory of the sample.
Note the ear file created in the directory.
See Also:
For deploying the ear please look up the section under "Deploying J2EE Applications on WebSphere".This section describes the postinstallation verification tasks to be performed, and it contains the following topics:
Verifying Installation from the IBM WebSphere Application Server Console
Verifying the SelectAllByTitle Sample for the Database Adapter
Perform the following steps to check if the IBM Admin console has started:
Navigate to http://localhost:9060/Console. The Oracle IBM WebSphere Application Server Admin Console window is displayed.

Log in using the valid username and password credentials.
Verify that you can view the SOAServer Home page by selecting Servers -> Application Servers -> SOAServer.

Verify that the summaries of the JMS resources that have been created for the JMS module are displayed under Resources -> JMS -> Queue connection factories.

Verify that the BPELServerDataSource and BPELServerDataSourceWorkflow are the two JDBC data sources that are created under Resources -> JDBC -> Data sources.

Perform the following steps to check if the BPEL, ESB, OWSM consoles have started:
Navigate to http://localhost:<default_port>/BPELConsole/ (Or to the location where the software is installed, for example, http://<machine-name>:<default_port>/BPELConsole/. The BPEL Console window is displayed as shown in Figure 1-1.
Navigate to the http://localhost:<default_port>/esb/. The ESB Console window is displayed, as shown in Figure 1-2.
Navigate to the http://localhost:<default_port>/ccore/Login.jsp. The OWSM Console window is displayed, as shown in Figure 1-3.
Log in to the BPEL Console using the username and password, the Oracle Enterprise Manager BPEL Control page is displayed, as shown in Figure 1-4.
Figure 1-4 Oracle Enterprise Manager BPEL Control

Log in to the ESB Console using the username and password, the Oracle Enterprise Manager ESB Control page is displayed, as shown in Figure 1-5.
Figure 1-5 Oracle Enterprise Manager ESB Control

Log in to the OWSM Console using the username and password, the Oracle Enterprise Manager Web Services Manager Control page is displayed, as shown in Figure 1-6.
Figure 1-6 Oracle Enterprise Manager OWSM Control

Verify that the esbprotocol.jar file is copied to <WAS_HOME>\jdk\jre\lib\ext directory.
Log in to the database and start SQL*Plus.
Run the setup.sql script:
SQL> @Oracle_Home/samples/tutorials/122.DBAdapter/sql/setup.sql;
This script creates and populates the movies table in the database.
Point the database adapter to your database in the WebSphere Console under Resources, Resource Adapters, DB Adapter, J2C Connection Factories, BPEL Samples, Custom Properties, Connection String. Also, set the username and password.
Restart oracleSOAServer.
Select Start, All Programs, Oracle - Oracle_Home, Oracle SOA Suite, Developer Prompt.
Change to the following directory:
tutorials\122.DBAdapter\SelectAllByTitle
Run the following command:
ant
This compiles and deploys all projects dependent on this tutorial. Projects are deployed into Oracle_Home\bpel\domains\domain_name\deploy.
Select Start, All Programs, Oracle - Oracle_Home, Oracle SOA Suite, BPEL Console.
Click SelectAllByTitle in the Deployed BPEL Processes list.
Refer to the MOVIES table, and enter the movie title on the Initiate page. For example, 'The Aviator'.
Click Post XML Message.
View the results and inspect the instance.
Note:
Refer to for http://www.oracle.com/technology/products/integration/esb/index.html ESB Samples. You can try and deploy the samples following the instructions in the samples.The web application DTD link in the web.xml files included with Oracle SOA Suite must be modified before deployment to WebSphere.
Search for the web.xml files in the Oracle_Home\bpel\samples directory.
Make the following change in each web.xml file related to the sample to run:
Change:
http://java.sun.com/j2ee/dtds/web-app_2_3.dtd
To:
http://java.sun.com/dtd/web-app_2_3.dtd
Select Start, All Programs, Oracle - Oracle_Home, Oracle SOA Suite, Developer Prompt.
Change directories to the following:
tutorials\127.OrderBookingTutorial
Start SQL*Plus and run the following script:
SQL> @PracticeFiles\insertTable.sql;
This creates the required sample tables in the database.
Change all the BPEL partner links in the bpel.xml files to update to the default port, as defined in the constants.properties file.
Run the following command:
ant
This compiles and deploys all projects dependent upon this tutorial. However, WAR files for CreateOrderBookingUI and SelectManufacturingUI must be manually deployed into WebSphere.
Change to the <ORACLE_HOME>\j2ee\home\applications directory.
Note the CreateOrderBookingUI.war file that was created when you ran ant in Step 7.
Change to the OrderApproval\public_html\OrderApproval\form directory.
Note the default_OrderApproval_1_0_OrderApproval.war file that was created when you ran ant in Step 7.
Select Install Application in the WebSphere Administrative console to deploy the war files to WebSphere.
Access the WebSphere Administrative console at the following URL:
http://hostname:9060/ibm/console
Note:
For deploying the WAR files alone, you will have to supply the context root as follows:CreateOrderBookingUI
Select oracleSOAServer as the deployment target.
Restart oracleSOAServer from the IBM console.
Run the following OrderBooking Tutorial steps:
Initiate the process using http://localhost:<default_port>/CreateOrderBookingUI where default_port is as defined in the constants.properties file.
Open the console in audit or flow mode. Follow the steps that appear on the console and click task links to complete the task.
After the process moves beyond supplier selection, the human workflow is added, for manual user approval (or rejection). This process has a timeout of 5 minutes and defaults to order status is rejected. Follow this step by opening the worklist URL at
http://localhost:default_port/integration/worklistapp/Login
where default_port is as defined in the constants.properties file.
Log in as jcooper/welcome, and you will be presented with a list of tasks. Acquire the task first, then view it, and approve or reject the task. Then, logout of the jcooper page.
Log in as jstein/welcome and you will be presented with a list of Approved tasks only. View it, and approve or reject it. Then, logout of the jstein page. This completes the human workflow part of the process. You can return to main process to audit the process.
To run the process in batch mode with file read, copy the provided practice files\OrderBookingPO_*.xml in the \temp directory, and observe the batch process read the file and process it.
Ensure that J2C connection factory's custom properties are modified.
You should create the required outbound connection pools that are used by BPEL Process Partnerlinks before deploying BPEL Processes using adapters. Perform the following steps to create the required J2C connection factories:
Log in to http://localhost:9060/ibm/console.
Select Resource Adapters -> Resource Adapters and the change the scope to Cell level. The available resource providers are displayed.
Select the appropriate resource provider and navigate to J2C Connection Factories. The J2C Connection Factories Creation page is displayed.
Click New. The Create a New J2C Connection Factories page is displayed.
Enter the required name and JNDI name as referenced by the partnerlink WSDL of the BPEL process under jca:address location.
Click Apply.
Click Custom properties and update the the respective property value column.
Click Save to save the changes.
Ensure that admin.user and admin.password in SOA_HOME\bpel\utilities\ant-orabpel.properties are updated with the credentials of a valid user from the authentication store setup for authentication.Samples can be deployed from the developer prompt using the ant script following the above step.The samples containing only BPEL processes can be fully deployed using the ant script.Samples containing additional components such as Decision Service applications, workflow forms, and UI applications must be deployed in the following manner.
Use the ant script to deploy the BPEL process of the sample.
For each Decision Service application, refer to Deploying Decision Services EAR under Deploying Human Task and Decision Services EAR Files. Start the application.
For each workflow form application, generate the war or ear file, and deploy into oracleSOAServer. Start the application.
Note:
When deploying BPEL processes intooracleSOAServer on WebSphere 6.1.0.15, you only must specify the following two properties in build property files:
http.hostname = <SOA_hostname>
http.port = 9700
These properties can be either defined in the build.properties file in your project or in the ant-orabpel.properties file. You can also create a customized build property file, which will overwrite the other two build propery files when properties get loaded by ant.
Once properties are loaded by ant, the order in which the properties are loaded are as follows:
Customized build property file
To use this file when deploying a BPEL project, use the following command:
ant -propertyfile <name>, where <name> is the build property filename created by users.
build.properties file in your BPEL project
If BPEL_HOME environment variable is specified, then BPEL_HOME/utilities/ant-orabpel.properties will be used, otherwise, JDEV_HOME/integration/bpel/utilities/ant-orabpel.properties is loaded by ant, where JDEV_HOME is the JDeveloper installation directory.
It is recommended using build.properties file or customized build property files when deploying BPEL processes using ant.
This appendix describes how to run Auto Loan Demo on Oracle SOA Suite 10.1.3.4 on WebSphere 6.1.0.15 application server. It contains these sections:
The following one-time changes should be performed on JDeveloper:
Replace the bpm-services.jar within JDeveloper at jdev\integration\lib with the updated jar from SOA_HOME\bpel\system\services\lib
Replace the orabpel-ant.jar and orabpel.jar files within JDeveloper at jdev\integration\lib with the updated jar from SOA_HOME\bpel\lib.
Modify the following properties in jdev\integration\bpel\utilities\ant-orabpel.properties file:
Platform to websphere_5
admin.user to a valid user in websphere realm
admin.password to the password of the above user
jndi.url to iiop://<dmgr_host>:<dmgr_port>
jndi.InitialContextFactory to com.ibm.websphere.naming.WsnInitialContextFactory
On JDeveloper, create an Application Server connection of type "Standalone OC4J 10.1.3".
On JDeveloper, create an Integration Server connection to "<hostname>:9700"
Note:
Ignore errors during test connection regarding Mediator at this stage.The Auto Loan Flow sample has the following components:
BPEL Process: AutoLoanFlow BPEL Process <bpel jar>
Decision Service Applications (Business Rules Applications)
CreditRatingAgent <ear>
LoanAdvisorAgent <ear>
UI Application: AutoLoanFlowUI <ear>
HWF Tform application: AutoLoanflow LoanApproval <war>
Since the AutoLoanFlow sample that is bundled with Oracle SOA Suite standalone is written for OC4J Application Server, it cannot be run as is on WebSphere 6.1.0.15 Application Server. Specifically, the Decision Service applications must be regenerated for WebSphere platform, using JDeveloper.
The java-wsdl-mapping file needs WebSphere specific modifications.
The next section describes the steps to regenerate the Decision Services Applications in Auto Loan Flow for WebSphere.
Perform the following steps to modify the AutoLoanFlow sample for WebSphere:
Delete the following file from the filesystem:
SOA_HOME\bpel\samples\demos\AutoLoanDemo\AutoLoanFlow\bpel\decisionservices.decs
Open the AutoLoanFlow sample from JDeveloper Studio as a JDeveloper project using the following file:
SOA_HOME\bpel\samples\demos\AutoLoanDemo\AutoLoanFlow\AutoLoanFlow.jpr
Open the AutoLoanFlow.bpel file from the Applications Navigator (found within the AutoLoanFlow project).
From the Services swim lane of AutoLoanFlow.bpel, delete the following decision service partnerlinks:
CreditRatingAgent
LoanAdvisorAgent
Follow the steps II, III, IV and V of "Modelling Auto Loan Broker Process" from SOA_HOME\bpel\samples\demos\AutoLoanDemo\AutoLoanBroker.pdf to re-create the two Decision Service applications.
The AutoLoanFlow BPEL process has two Decision Service applications as partnerlinks (CreditRatingAgent and LoanAdvisorAgent). By default, the context-root generated for both these J2EE applications are same with the value - /rules/${domain_id}/${process_id}/${process_revision}
The ${} attributes are replaced by actual values during the build and deploy of the Auto Loan Flow. However, as the context-root is not unique for these two applications, these cannot be deployed on WebSphere. When the second application is deployed/started on WebSphere it would complain that the context-root is already in use.This is an issue on non-Oracle application servers when a BPEL Process references more than one Decision Service partnerlinks generated from JDeveloper Studio. As a workaround, after generating the Decision Service applications on JDeveloper and before doing a build and deploy, perform the following:
Modify the AutoLoanFlow\decisionservices\CreditRatingAgent\ear\META-INF\application.xml file.
Change <context-root>/rules/${domain_id}/${process_id}/${process_revision}</context-root> to <context-root>/rules/${domain_id}/${process_id}/${process_revision}/CreditRatingAgent</context-root>
Modify the AutoLoanFlow\decisionservices\CreditRatingAgent\war\WEB-INF\web.xml file.
Change <url-pattern>CreditRatingAgent</url-pattern> to <url-pattern>/</url-pattern>
Finally, build and deploy the Auto Loan Flow using the Integration Server Connection. In the application navigator, right-click the BPEL project and select Deploy.
This would automatically deploy the BPEL process into BPEL engine running at the Integration Server connection.
The following J2EE applications should be manually deployed into WebSphere using the WebSphere Admin console:
CreditRatingAgent.ear
LoanAdvisorAgent.ear
AutoLoanFlowUI.ear
workflowform.war
See Also:
For deploying the ear, look up the section under "Deploying J2EE Applications on WebSphere".For deploying the decision service/human task form war, look up the section under "Deploying Human Task Form WAR".
Perform the following steps to deploy the applications to WebSphere:
Log in to WebSphere Admin console using http://<hostname>:9060/console.
Navigate to the Install New Application page under Applications.
Choose Browse and navigate to the directory where the target ear file is located on the file system.
Select the ear file. Ensure that the Prompt me only when additional information is required option is selected.
Click Next, until the Map Modules to Servers page is displayed.
Associate the application to oracleSOAServer and complete the installtion procedure.
Click Finish on the Summary page.
Once the installation procedure is complete, click Save.
Start the deployed application from list of enterprise applications.
When the process is deployed, perform the following steps to test the sample:
Open the AutoLoanFlow UI at http://<hostname>:9700/AutoLoanFlowUI.
Click the Initiate New BPEL Loan Flow link.
Accept the default payload and click Submit Loan Application.
Log in to the worklist at http://<hostname>:9700/integration/worklistapp using jstein/welcome1 as the username and password.
Click the Task title (Loan Approval for Irving Stone).
Examine the task payload, the credit rating for that loan should be 500 with "Medium" risk and a Credit Max Amount of 50000.0.
The provider for the Loan Offer should be "Premium Bank" with an APR of 4.0
Approve the task.
Verify the AutoLoanFlow instance.
This section describes the limitations, known issues, and troubleshooting tips for Oracle SOA Suite 10.1.3.1 on IBM WebSphere Application Server version 6.1.0.15.
Note the following limitations:
IBM WebSphere Application Server 6.1.0.15 and Oracle SOA Suite 10.1.3.1 should be installed as the same user on Linux and the user should not be a root user.
Human Workflow API is not supported.
Human Workflow API's cannot be invoked from standalone Java clients. There are issues between WebSphere classloaders and SOAServer classloaders.
ESB Binding not supported between colocated BPEL-ESB.
When BPEL processes invokes a co-located ESB service, then the SOAP port should be specified as the preferred port for the partner link.
Security is disabled for the RuleAuthor application.
Note the following known issues:
JMS Adapter throws the following NullPointerException during initialization on non-Oracle platforms:
JmsConnectionFactory: Unable to set connectionparameters for OracleConnectionManager java.lang.NullPointerException at oracle.tip.adapter.jms.JmsConnectionFactory.<init>(JmsConnectionFactory.java:91) at oracle.tip.adapter.jms.JmsManagedConnectionFactory.createConnectionFactory (JmsManagedConnectionFactory.java:80)
This is a benign error and does not stop the JMS connection factory from initializing.
The following data type binding warnings and errors are displayed during deployment and start of Decision Service (Business Rules) Applications. These errors and warnings can be ignored.
<WS data binding error>could not find schema type '{http://www.w3.org/2001/XMLSchema}NCName
<WS data binding error>could not find schema type
'{http://websphere.ibm.com/webservices/}SOAPElement
java.lang.IllegalStateException
at weblogic.wsee.bind.runtime.internal.AnonymousTypeFinder$GlobalElementNode.
getSchemaProperty(AnonymousTypeFinder.java:253)
at
weblogic.wsee.bind.runtime.internal.AnonymousTypeFinder.getHiddenArrayElement
ComponentTypeNamed(AnonymousTypeFinder.java:104)
<WS data binding error>could not find schema type
'{http://www.w3.org/2001/XMLSchema}long
<WS data binding error>could not find schema type
'{http://xml.apache.org/xml-soap}Element
<WS data binding error>could not find schema type
'{http://www.w3.org/2001/XMLSchema}anyType
<WS data binding error>could not find schema type
'{http://www.w3.org/2001/XMLSchema}string
could not identify anonymous schema type named 'http://xmlns.oracle.com/AutoLoanFlow/CreditRatingAgent:tProperty[0,unbounded]', ignoring
<WS data binding error>While processing <exception-mapping> for
wsdlMessageName='{http://xmlns.oracle.com/AutoLoanFlow/CreditRatingAgent}decis
ionServiceError',
wsdlMessagePartElement='{http://xmlns.oracle.com/AutoLoanFlow/CreditRatingAgen
t}errorInfo'. Unable to find a BindingType in the binding file for
javaTypeName ='oracle.bpel.services.rules.DecisionServiceError',
xmlTypeName='e=errorInfo@http://xmlns.oracle.com/AutoLoanFlow/CreditRatingAgent'. The cause of this error is likely because an <exception-mapping> specified
for {http://xmlns.oracle.com/AutoLoanFlow/CreditRatingAgent}decisionServiceErrorrequires that a <java-xml-type-mapping> exist for java
type='oracle.bpel.services.rules.DecisionServiceError',
xmlTypeName='e=errorInfo@http://xmlns.oracle.com/AutoLoanFlow/CreditRatingAgent', with a <root-type-qname> of
{http://xmlns.oracle.com/AutoLoanFlow/CreditRatingAgent}errorInfo
<WS data binding error>oracle.bpel.services.rules.DecisionServiceError is not understood because there is no type mapping for exception class
ESB Shutdown Error
The following errors may be displayed during ESB shutdown due to the fact that JMS modules are shutdown prior to ESB attempting to cleanup of JMSDequeuer:
[9/23/08 18:54:37:439 IST] 00000031 javaURLContex E NMSV0310E: A JNDI operation on a "java:" name cannot be completed because the server runtime is not able to associate the operation's thread with any J2EE application component. This condition can occur when the JNDI client using the "java:" name is not executed on the thread of a server application request. Make sure that a J2EE application does not execute JNDI operations on "java:" names within static code blocks or in threads created by that J2EE application. Such code does not necessarily run on the thread of a server application request and therefore is not supported by JNDI operations on "java:" names. Exception stack trace: javax.naming.ConfigurationException [Root exception is javax.naming.NameNotFoundException: Name "comp/UserTransaction" not found in context "java:".] at com.ibm.ws.naming.java.javaURLContextImpl.throwConfigurationExceptionWithDefaultJavaNS(javaURLContextImpl.java:411) at com.ibm.ws.naming.java.javaURLContextImpl.lookup(javaURLContextImpl.java:388) at com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:204) at com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:144) at javax.naming.InitialContext.lookup(InitialContext.java:363) at oracle.tip.esb.server.common.JTAHelper.getUserTransaction(JTAHelper.java:70) at oracle.tip.esb.server.dispatch.agent.ESBWork.run(ESBWork.java:113) at com.ibm.ejs.j2c.work.WorkProxy.run(WorkProxy.java:497) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469) Caused by: javax.naming.NameNotFoundException: Name "comp/UserTransaction" not found in context "java:". at com.ibm.ws.naming.ipbase.NameSpace.lookupInternal(NameSpace.java:1095) at com.ibm.ws.naming.ipbase.NameSpace.lookup(NameSpace.java:991) at com.ibm.ws.naming.urlbase.UrlContextImpl.lookup(UrlContextImpl.java:1263) at com.ibm.ws.naming.java.javaURLContextImpl.lookup(javaURLContextImpl.java:384) ... 7 more
Human Workflow Warnings
The following warnings will appear in the SystemErr.log file:
WSWS3441W: Warning: The WSDL2Java emitter cannot find the corresponding java-xml-type-mapping construct for the exception-mapping with wsdl-message
({http://xmlns.oracle.com/bpel/workflow/taskService}workflowErrorMessage) and exception-type (oracle.bpel.services.workflow.task.soap.WorkflowErrorMessage) in file WEB-INF/TaskService-java-wsdl-mapping.xml..
[9/23/08 18:54:37:361 IST] 00000031 agent E Global transaction rollback oracle.tip.esb.server.common.exceptions.BusinessEventRetriableException: Failed to get transaction status
at oracle.tip.esb.server.common.JTAHelper.getTransactionStatus(JTAHelper.java:154)
at oracle.tip.esb.server.common.JTAHelper.commitTransaction(JTAHelper.java:178)
at oracle.tip.esb.server.dispatch.agent.ESBWork.run(ESBWork.java:155)
at com.ibm.ejs.j2c.work.WorkProxy.run(WorkProxy.java:497)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)
Caused by: java.lang.NullPointerException
at oracle.tip.esb.server.common.JTAHelper.getTransactionStatus(JTAHelper.java:149) ... 4 more