Skip Headers
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
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

1 Installing Oracle SOA Suite with IBM WebSphere Application Server

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:

1.1 Overview

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:

The installation of Oracle SOA Suite for IBM WebSphere Application Server consists broadly of the following steps:

1.2 System and Database Requirements

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.


1.3 Installation and Configuration

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:

1.3.1 Step 1: Configure the Oracle Database

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.

  1. Install Oracle Database 10g 10.1.0.2.

  2. Open SQL*Plus and log in as a user with the SYSDBA privilege.

  3. Shut down the database:

    SQL> SHUTDOWN IMMEDIATE
    
  4. Install the Oracle Database 10g 10.1.0.5 patch in the same Oracle home in which you installed Oracle Database 10g.

  5. 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
    
  6. Start the database in upgrade mode in SQL*Plus:

    SQL> STARTUP UPGRADE
    
  7. Run the following script:

    SQL> @ORACLE_HOME/rdbms/admin/catpatch.sql;
    
  8. Shut down the database:

    SQL> SHUTDOWN IMMEDIATE
    
  9. Restart the database:

    SQL> STARTUP
    
  10. Run the following script:

    SQL> @ORACLE_HOME/rdbms/admin/utlrp.sql;
    

1.3.2 Step 2: Install Oracle SOA Suite Basic 10.1.3.1.0 for OC4J

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.

1.3.3 Step 3: Create the Oracle SOA Suite Schema in the Oracle Database

Note:

The scripts to configure Oracle SOA Suite on the IBM WebSphere Application Server require that the JAVA_HOME environment parameter be set prior to running the script.
  1. Navigate to the Disk1\install\soa_schemas\irca folder in the Oracle SOA Suite Installation Setup files directory.

  2. Set ORACLE_HOME to point to the Oracle Database Installation location. For example,

    set ORACLE_HOME=c:\Oracle10g
    
  3. 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.

  4. Enter sys password when prompted.

    The orabpel, oraesb, and orawsm schemas are loaded on the Oracle Database.

1.3.4 Step 4: Upgrade SOA Schemas to 10.1.3.4

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:

  1. 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.

  2. Execute the following script to upgrade the ORABPEL schema:

    Disk1\install\soa_schema_upgrade\bpel\scripts\upgrade_10133_10134_oracle.sql

  3. Execute the following script to upgrade the ORAESB schema:

    Disk1\install\soa_schema_upgrade\esb\sql\oracle\upgrade_10131_10134_oracle.sql

1.3.5 Step 5: Apply SOA Suite Patchset 10.1.3.4

To apply SOA Suite Patchset 10.1.3.4, perform the following steps:

  1. 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

  2. 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.
  3. 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

1.3.6 Step 6: Apply Opatch for Oracle SOA Suite 10.1.3.4 on WebSphere 6.1.0.15

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.

  1. Download the OPatch p7446145_101340_GENERIC.zip for Bug 7446145.

  2. Follow the instructions given in the Readme.txt file of the patch and apply the patch on Oracle SOA Suite 10.1.3.4.

  3. 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

1.3.7 Step 7: Install and Configure IBM WebSphere Application Server Version 6.1.0.15

Perform the following steps to install and configure IBM WebSphere application server version 6.1.0.15:

  1. Install IBM WebSphere Application Server version 6.1.0.15.

    Note:

    If installing on Linux, then WebSphere should be installed as the root user.
  2. 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.

  3. 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

  4. 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.

  5. 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.

  6. 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.

  7. Stop and start the NodeAgent after the script run is completed.

  8. Start the oracleSOAServer server by following the startup instructions as follows:

    1. Log in to http://localhost:9060/console. The IBM WebSphere Application Server Administrative Console window is displayed.

    2. Select Servers -> Application Servers -> oracleSOAServer. Select the server and click Start.

      Surrounding text describes serverstart.gif.

      Note:

      Do not start Oracle SOA Server from the Windows Start Menu or by running the SOA_HOME\bpel\bin\startorabpel script. These actions are not supported.
  9. Once the server starts, log in to the BPEL console at the following URL:

    http://localhost:9700/BPELConsole

1.4 Design-time Deployment Support Oracle SOA Suite 10.1.3.4 on WebSphere 6.1.0.15

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:

1.4.1 From the BPELPM Developer Prompt Using Ant

You can use ant in the BPELPM developer prompt to deploy J2EE applications. This section contains the following topics:

1.4.1.1 Prerequisite Checks

  1. Ensure that bpelPlatform is set to websphere_5 in the BPEL_HOME\bpel\system\config\collaxa-config.xml file.

  2. 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 the admin.user property is not set correctly, then the deployment may throw authentication errors.

1.4.1.2 Steps to Deploy Using the BPELPM Prompt

Follow these instructions to deploy BPELPM from the developer prompt using ant:

  1. Open a BPELPM Developer prompt.

  2. Run ant.sh/bat from the BPEL_HOME\bpel\system\appserver\oc4j\ant\bin directory of the BPEL application.

    Note:

    For more information, refer to C:\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.

1.4.2 From JDeveloper

You can also deploy J2EE applications from JDeveloper. This section contains the following topics:

1.4.2.1 Prerequisite Checks

  1. Download JDeveloper Studio 10.1.3.4 (jdevstudio10134.zip) from

    For Windows - http://www.oracle.com/technology/software/products/jdev/htdocs/soft10134.html.

  2. Copy the bpm-services.jar file from the SOA_HOME\bpel\system\services\lib directory to JDEV_HOME\integration\lib directory.

  3. Copy the orabpel-ant.jar and orabpel.jar files from the SOA_HOME\bpel\lib directory to the JDEV_HOME\integration\lib directory.

  4. 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:

  1. 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

  2. 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

1.4.2.2 Steps to Deploy Using JDeveloper

Follow these instructions to deploy BPELPM from the developer prompt using JDeveloper:

  1. From JDeveloper, right-click and deploy the BPEL application into the required domain.

    Description of deployment.gif follows
    Description of the illustration deployment.gif

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.

1.5 Deploying Human Task and Decision Services EAR Files

This section describes steps to deploying the human task form ear and decision services ear:

1.5.1 Deploying Human Task Form WAR

To deploy human task form war:

  1. Change to the …\public_html\…\form in the directory of the sample.

  2. Make a note of the <context-root> from the application.xml file.

  3. Log in to WebSphere Admin Console and navigate to the Application page.

  4. Choose bpel-[nodename].ear and click Update. The Update page is displayed.

  5. Choose the Replace or add a single module option and enter workflowform.war in the text field.

  6. Click Browse and navigate to the folder where the workflowform.war is available.

  7. Provide the <context-root> as in application.xml.

  8. Click Next, until the Map Modules to Servers page is displayed.

  9. 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.

1.5.2 Deploying Decision Services EAR

To deploy decision services ear:

  1. Change to the ..\decisionservices\.. directory of the sample.

  2. 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".

1.6 Postinstallation Verification Tasks

This section describes the postinstallation verification tasks to be performed, and it contains the following topics:

1.6.1 Verifying Installation from the IBM WebSphere Application Server Console

Perform the following steps to check if the IBM Admin console has started:

  1. Navigate to http://localhost:9060/Console. The Oracle IBM WebSphere Application Server Admin Console window is displayed.

    Description of ibmlogin.gif follows
    Description of the illustration ibmlogin.gif

    Log in using the valid username and password credentials.

  2. Verify that you can view the SOAServer Home page by selecting Servers -> Application Servers -> SOAServer.

    Description of ibmsoaserverhome.gif follows
    Description of the illustration ibmsoaserverhome.gif

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

    Description of ibmqueueconn.gif follows
    Description of the illustration ibmqueueconn.gif

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

    Description of ibmdatasources.gif follows
    Description of the illustration ibmdatasources.gif

1.6.2 Verifying BPEL, ESB, OWSM Consoles

Perform the following steps to check if the BPEL, ESB, OWSM consoles have started:

  1. 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.

    Figure 1-1 BPEL Console Window

    Description of Figure 1-1 follows
    Description of "Figure 1-1 BPEL Console Window"

    Figure 1-2 ESB Console Window

    Description of Figure 1-2 follows
    Description of "Figure 1-2 ESB Console Window"

    Figure 1-3 OWSM Console Window

    Description of Figure 1-3 follows
    Description of "Figure 1-3 OWSM Console Window"

  2. 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

    Description of Figure 1-4 follows
    Description of "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

    Description of Figure 1-5 follows
    Description of "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

    Description of Figure 1-6 follows
    Description of "Figure 1-6 Oracle Enterprise Manager OWSM Control"

  3. Verify that the esbprotocol.jar file is copied to <WAS_HOME>\jdk\jre\lib\ext directory.

1.6.3 Verifying the SelectAllByTitle Sample for the Database Adapter

  1. Log in to the database and start SQL*Plus.

  2. 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.

  3. 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.

  4. Restart oracleSOAServer.

  5. Select Start, All Programs, Oracle - Oracle_Home, Oracle SOA Suite, Developer Prompt.

  6. Change to the following directory:

    tutorials\122.DBAdapter\SelectAllByTitle
    
  7. 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.

  8. Select Start, All Programs, Oracle - Oracle_Home, Oracle SOA Suite, BPEL Console.

  9. Click SelectAllByTitle in the Deployed BPEL Processes list.

  10. Refer to the MOVIES table, and enter the movie title on the Initiate page. For example, 'The Aviator'.

  11. Click Post XML Message.

  12. 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.

1.6.4 Verifying the OrderBooking Tutorial Sample

The web application DTD link in the web.xml files included with Oracle SOA Suite must be modified before deployment to WebSphere.

  1. Search for the web.xml files in the Oracle_Home\bpel\samples directory.

  2. 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
    
  3. Select Start, All Programs, Oracle - Oracle_Home, Oracle SOA Suite, Developer Prompt.

  4. Change directories to the following:

    tutorials\127.OrderBookingTutorial
    
  5. Start SQL*Plus and run the following script:

    SQL> @PracticeFiles\insertTable.sql;
    

    This creates the required sample tables in the database.

  6. Change all the BPEL partner links in the bpel.xml files to update to the default port, as defined in the constants.properties file.

  7. 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.

  8. Change to the <ORACLE_HOME>\j2ee\home\applications directory.

  9. Note the CreateOrderBookingUI.war file that was created when you ran ant in Step 7.

  10. Change to the OrderApproval\public_html\OrderApproval\form directory.

  11. Note the default_OrderApproval_1_0_OrderApproval.war file that was created when you ran ant in Step 7.

  12. 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

  13. Select oracleSOAServer as the deployment target.

  14. Repeat Steps 9 through 13 for the war or ear file.

  15. Restart oracleSOAServer from the IBM console.

  16. Run the following OrderBooking Tutorial steps:

    1. Initiate the process using http://localhost:<default_port>/CreateOrderBookingUI where default_port is as defined in the constants.properties file.

    2. Open the console in audit or flow mode. Follow the steps that appear on the console and click task links to complete the task.

    3. 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.

    4. 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.

    5. 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.

1.6.5 Running Adapter Samples

Ensure that J2C connection factory's custom properties are modified.

1.6.5.1 Configuring J2C Connection Factories for Adapters in WebSphere

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:

  1. Log in to http://localhost:9060/ibm/console.

  2. Select Resource Adapters -> Resource Adapters and the change the scope to Cell level. The available resource providers are displayed.

  3. Select the appropriate resource provider and navigate to J2C Connection Factories. The J2C Connection Factories Creation page is displayed.

  4. Click New. The Create a New J2C Connection Factories page is displayed.

  5. Enter the required name and JNDI name as referenced by the partnerlink WSDL of the BPEL process under jca:address location.

  6. Click Apply.

  7. Click Custom properties and update the the respective property value column.

  8. Click Save to save the changes.

1.6.6 Deploying Samples Using Ant

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.

  1. Use the ant script to deploy the BPEL process of the sample.

  2. For each Decision Service application, refer to Deploying Decision Services EAR under Deploying Human Task and Decision Services EAR Files. Start the application.

  3. For each workflow form application, generate the war or ear file, and deploy into oracleSOAServer. Start the application.

    Note:

    When deploying BPEL processes into oracleSOAServer 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:

    1. 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.
      
    2. build.properties file in your BPEL project

    3. 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.

1.7 Auto Loan Demo

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:

1.7.1 Prerequisites on JDeveloper Studio 10.1.3.3

The following one-time changes should be performed on JDeveloper:

  1. Replace the bpm-services.jar within JDeveloper at jdev\integration\lib with the updated jar from SOA_HOME\bpel\system\services\lib

  2. Replace the orabpel-ant.jar and orabpel.jar files within JDeveloper at jdev\integration\lib with the updated jar from SOA_HOME\bpel\lib.

  3. 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

  4. On JDeveloper, create an Application Server connection of type "Standalone OC4J 10.1.3".

  5. On JDeveloper, create an Integration Server connection to "<hostname>:9700"

    Note:

    Ignore errors during test connection regarding Mediator at this stage.

1.7.2 Auto Loan Demo Sample

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.

1.7.3 Modelling Auto Loan Flow Process Using JDeveloper Studio

Perform the following steps to modify the AutoLoanFlow sample for WebSphere:

  1. Delete the following file from the filesystem:

    SOA_HOME\bpel\samples\demos\AutoLoanDemo\AutoLoanFlow\bpel\decisionservices.decs

  2. Open the AutoLoanFlow sample from JDeveloper Studio as a JDeveloper project using the following file:

    SOA_HOME\bpel\samples\demos\AutoLoanDemo\AutoLoanFlow\AutoLoanFlow.jpr

  3. Open the AutoLoanFlow.bpel file from the Applications Navigator (found within the AutoLoanFlow project).

  4. From the Services swim lane of AutoLoanFlow.bpel, delete the following decision service partnerlinks:

    • CreditRatingAgent

    • LoanAdvisorAgent

  5. 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.

1.7.4 Known Issues on non-Oracle Platforms

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:

1.7.5 Deploying J2EE Applications on WebSphere

Perform the following steps to deploy the applications to WebSphere:

  1. Log in to WebSphere Admin console using http://<hostname>:9060/console.

  2. Navigate to the Install New Application page under Applications.

  3. Choose Browse and navigate to the directory where the target ear file is located on the file system.

  4. Select the ear file. Ensure that the Prompt me only when additional information is required option is selected.

  5. Click Next, until the Map Modules to Servers page is displayed.

  6. Associate the application to oracleSOAServer and complete the installtion procedure.

  7. Click Finish on the Summary page.

  8. Once the installation procedure is complete, click Save.

  9. Start the deployed application from list of enterprise applications.

1.7.6 Running the Sample

When the process is deployed, perform the following steps to test the sample:

  1. Open the AutoLoanFlow UI at http://<hostname>:9700/AutoLoanFlowUI.

  2. Click the Initiate New BPEL Loan Flow link.

  3. Accept the default payload and click Submit Loan Application.

  4. Log in to the worklist at http://<hostname>:9700/integration/worklistapp using jstein/welcome1 as the username and password.

  5. Click the Task title (Loan Approval for Irving Stone).

  6. 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

  7. Approve the task.

  8. Verify the AutoLoanFlow instance.

1.8 Limitations and Known Issues

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.

1.8.1 Limitations

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.

1.8.2 Known Issues

Note the following known issues:

JMS Adapter

  • 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