Skip Headers
Oracle® SOA Suite Installation Guide for IBM WebSphere Application Server
10g Release 3 (10.1.3.3) for UNIX and Microsoft Windows

Part Number E12180-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 the IBM WebSphere Application Server

This chapter provides the requirements and procedures for installing Oracle SOA Suite with IBM WebSphere Application Server (WebSphere).

This chapter contains the following topics:

See Also:

The following documents after completing installation:

1.1 Overview of Oracle SOA Suite

You can install and use Oracle SOA Suite with WebSphere.

WebSphere enables you to set up, operate, and integrate e-business applications across multiple computing platforms using Web technologies. WebSphere 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 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 BPEL Console is the monitoring environment for Oracle BPEL Process Manager. You can run, manage, and test your deployed BPEL process using the Oracle BPEL Console. Oracle BPEL Console provides a Web-based interface for management, administration, and debugging of processes deployed to Oracle BPEL Server.

The installation of Oracle SOA Suite for WebSphere 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 WebSphere.

Table 1-1 Oracle SOA Suite System Requirements

Element Requirement

IBM WebSphere Application Server


Version 6.1.0.3 Network Deployment with fix packs PK33090

Note: The Interim Fix pack - IFPK33090 is used to resolve a WebSphere Bug related to ServletFilters. A Web Container custom property needs to be set for this bug fix to take effect. This step has been detailed in Step 14 of Section 3 of the Installation guide.

Fix Pack 3: http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg27004980#ver61

Interim Fix Pack IFPK33090:

http://www-1.ibm.com/support/docview.wss?uid=swg24014758

Oracle SOA Suite for OC4J

Apply SOA Suite patchset 10.1.3.3 on 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

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

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

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 in the Oracle SOA Suite 10g Software Downloads Web site at

http://www.oracle.com/technology/software/tech/soa/index.html

You need to install Oracle SOA Suite into the same directory outside of WebSphere. The WebSphere installation will refer to binaries and property files from this installation. This external installation will need to be there permanently, it is 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 WAS 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 opmnctl startall 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 WebSphere 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.

    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 into the Oracle Database.

1.3.4 Step 4: Apply SOA Suite Patchset 10.1.3.3

You need to download the Oracle SOA Suite patchset 10.1.3.3 from OracleMetaLink and then apply the patchset on Oracle SOA Suite 10.1.3.1. Perform the following steps:

  1. Log in to OracleMetaLink at http://metalink.oracle.com. The OracleMetaLink home page is displayed.

  2. Click Patches & Updates. The Patches & Updates page is displayed.

  3. Click Simple Search.

  4. In the Search By field, enter 6148874. The details of the patchset 6148874 are displayed.

  5. Follow the instructions in the patchset to install the patchset on Oracle SOA Suite 10.1.3.1.

    Caution:

    You should not start/restart the Oracle SOA Suite instance after applying the patch.

1.3.5 Step 5: Install and Configure WebSphere Version 6.1.0

Note:

These instructions assume that you have obtained WebSphere version 6.1.0 and version 6.1.0.3 upgrade software.
  1. Install WebSphere Network Deployment (ND) version 6.1.0. If installing on Windows, then ensure that you have administrative privileges.

    Note:

    If installing on Linux, then WebSphere should be installed as the root user.
  2. Upgrade WebSphere ND to version 6.1.0.3 by downloading and applying the following fix pack from WebSphere Supplements:

    • Fixpack3 PK33090 (IFIX330906023) on 6.1.0 ND using the UpdateInstaller

  3. Download Oracle SOA Suite 10.1.3.3 for WebSphere (6.1.0.3) available from the Application Server 10g Release 3 (10.1.3.x) Downloads Web site at

    http://www.oracle.com/technology/software/products/ias/htdocs/101310.html and unzip to the Installables folder.

    Note:

    • The directory to which you download the Oracle SOA Suite should be the same host on which WebSphere ND is installed.

    • Unzip the Installables folder as a non-root user (same user as was used to install Oracle SOA Suite 10.1.3.1.0 for OC4J). For example, Oracle.

  4. Start Nodeagent as follows:

    For... Run...
    Windows XP WAS_HOME\profiles\<ProfileName>\bin\startNode.bat
    Linux WAS_HOME/profiles/<ProfileName>/bin/startNode.sh

  5. Modify the following mandatory installation properties in the Installables\cfg\constants.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.

    The constants.properties file must not contain any forward or backward slashes. Also, there should be no space before and after Ò=Ó.

    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.

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

  7. Run the following script at the operating system command prompt:

    For... Run...
    Windows XP configureSOA.bat
    Linux configureSOA.sh as root user (WebSphere Install user)"

    copyFiles.sh install as non-root Oracle SOA Suite Install user

    AIX/Solaris configureSOA.sh as root user (WebSphere Install user)

    copyFiles.sh install as non-root Oracle SOA Suite Install user


    This creates Oracle SOA Server on WebSphere and configures the required applications, database connections, and adapters.

    Installation progress is logged to the Installables\bin\logs\output.log file.

    Note:

  8. To change the database pointed to by the OWSM application, run irca and then run the following command:

    For... Run...
    Windows configureOWSMDB.bat
    Linux configureOWSMDB.sh as oracle user

    This script configures the required property files and seeds data into the database.

    Note:

    Run irca against the schema before running this script. Also ensure that the OWSM schema does not contain any seeded data.
  9. Stop and Start the NodeAgent after the script run is completed.

  10. From IBM Admin console, add Webcontainer custom property "com.ibm.ws.webcontainer.invokefilterscompatibility=true". To access Custom Properties, navigate to Servers > Application Servers > oracleSOAServer > Web Container Settings > Web Container > Custom Properties.

    Note:

    This is required for the domain filter bug fix in WebSphere.
  11. Start Oracle BPEL Server from Servers > Application Servers, select oracleSOAServer, Start (represented by the name oracleSOAServer) by following the startup instructions in the WebSphere administration documentation.

    Note:

    Do not start Oracle SOA Server from the Windows Start Menu or by running the opmnctl startall script. These actions are not supported.

1.4 Design-Time Deployment Support for SOA Suite 10.1.3.1 on WebSphere 6.1.0.3

This section describes the various design-time support functions available on WebSphere 6.1.0.3, for the deployment of J2EE applications in JDeveloper. You can deploy Oracle SOA Suite components on WebSphere 6.1.0.3 by using the following methods:

1.4.1 From the BPEL PM Developer Prompt Using Ant

You can use ant in the BPEL PM 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 ORACLE_HOME\bpel\system\config\collaxa-config.xml file.

  2. Ensure that platform is set to WebSphere_5 in the ORACLE_HOME\bpel\utilities\ant-orabpel.properties file.

  3. The admin.user property and admin.password property should point to a valid LDAP user if security is ON in the ORACLE_HOME\bpel\utilities\ant-orabpel.properties file.

    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 BPEL PM Prompt

Follow these instructions to deploy BPEL PM processes from the developer prompt using ant:

  1. Select Start, All Programs, <Oracle_HOME>, Oracle BPEL Process Manager, Developer Prompt to open a BPEL PM Developer prompt.

  2. Run ant.sh/bat. This runs the build.xml of the BPEL application and performs the following steps:

    1. Compiles and deploys the BPEL process to BPEL PM.

    2. Compiles and generates Workflow form WAR files in public_html within the BPEL application directory, but does not deploy on WebSphere.

    3. Compiles and generates UI application WAR files (if any) in the bpel\system\appserver\oc4j\j2ee\home\applications directory, but does not deploy on WebSphere.

    4. Compiles and generates Decision Service (Business Rules) application EAR files in the decisionservices folder within the BPEL application directory, but does not deploy on WebSphere.

  3. Manually deploy the Workflow form and DecisionService Applications into OracleSOAServer in WebSphere (Using IBM Integration Console).

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.1 (jdevstudio10131.zip) from

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

  2. Ensure that bpelPlatform is set to WebSphere_5 in the ORACLE_HOME\bpel\system\config\collaxa-config.xml file.

  3. Ensure that platform is set to WebSphere_5 in the ORACLE_HOME\bpel\utilities\ant-orabpel.properties file.

  4. Copy bpm-services.jar from Installables\bpel\system\services\lib to <jdev_home>\integration\lib.

    Note:

    The bpm-services.jar contains changes to java-wsdl-mapping and DecisionServiceInfoTemplate, which are required for DecisionServices to run on WebSphere.
  5. The admin.user property and admin.password property should point to a valid LDAP user if security is ON in the bpel\utilities\ant-orabpel.properties file.

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 constants.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 BPEL PM from the developer prompt using JDeveloper:

  1. Select Start, All Programs, <Oracle_Home>, Oracle BPEL Process Manager, Developer Prompt to open Developer Prompt.

  2. From JDeveloper, right-click and deploy the BPEL application into the required domain. This runs the build.xml file of the BPEL application and performs the following steps:

    1. Compiles and deploys the BPEL process to BPEL PM.

    2. Compiles and generates Workflow form WAR files in public_html within the BPEL application directory but does not deploy on WebSphere.

    3. Compiles and generates UI application EAR files (if any) in the bpel\system\appserver\oc4j\j2ee\home\applications directory but does not deploy on WebSphere.

    4. Compiles and generates Decision Service (Business Rules) application EAR files in the decisionservices folder within the BPEL application directory but does not deploy on WebSphere.

      Note:

      This EAR file contains an application.xml file and you need to add the application_1_3.dtd file. Also, include the web-app_2_3.dtd file into web.xml file of workflowform.war, which is under default_OrderApproval_1_0_OrderApproval.war. The web.xml file includes a <description> tag. This tag is not supported by WebSphere and may lead to deployment errors. T o avoid this issue, manually remove the <description> tag from the web.xml file before deploying into WebSphere.

      Oracle is working to provide a fix in a future patch, which will be available from OracleMetaLink.

      In the web.xml file, WebSphere would expect the <security-role> tag to come after the <mime-mapping> tag.

  3. To deploy an ESB Services project, right-click and select Register with ESB to the required Integration Server Connection.

  4. Manually deploy the Workflow form and DecisionService Applications into OracleSOAServer in WebSphere (Using IBM Integration Console).

1.5 Postinstallation Configuration of WebSphere

You can perform the following postinstallation steps for configuring IBM WebSphere Application Server:

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 WebSphere Console

  1. Log in to the WebSphere console and verify that oracleSOAServer is installed under Servers, Application Servers, as shown in Figure 1-1.

    Figure 1-1 IBM WebSphere Console Window - Application Servers Page

    Description of Figure 1-1 follows
    Description of "Figure 1-1 IBM WebSphere Console Window - Application Servers Page"

  2. Verify that the soa_bpel_sl, soa_esb_sl, soa_desc_sl, and soa_owsm_sl shared libraries have been created under Environment, Shared Libraries, as shown in Figure 1-2.

    Figure 1-2 IBM WebSphere Console Window - Application Servers Page - Shared Libraries Page

    Description of Figure 1-2 follows
    Description of "Figure 1-2 IBM WebSphere Console Window - Application Servers Page - Shared Libraries Page"

  3. Verify that BPELDataSourceProvider, BPELXADataSourceProvider, AQXADataSourceProvider, and ESBXADataSourceProvider under Resources, JDBC, JDBC Providers, as shown in Figure 1-3.

    Figure 1-3 IBM WebSphere Console Window - JDBC Providers Page

    Description of Figure 1-3 follows
    Description of "Figure 1-3 IBM WebSphere Console Window - JDBC Providers Page"

  4. Test the database connectivity of the created data sources under Resources, JDBC, Data Sources, as shown in Figure 1-4.

    Figure 1-4 IBM WebSphere Console Window - Data Sources Page

    Description of Figure 1-4 follows
    Description of "Figure 1-4 IBM WebSphere Console Window - Data Sources Page"

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 is displayed, as shown in Figure 1-5.

    Navigate to http://localhost:<default_port>/esb/. The ESB Console is displayed, as shown in Figure 1-6.

    Navigate to http://localhost:<default_port>/ccore/. The OWSM Console is displayed, as shown in Figure 1-7.

    Note:

    You can use the BPEL, ESB, OWSM log in windows only if the admin security is configured in WebSphere.

    The <default_port> is defined in the constants.properties file.

    Figure 1-5 BPEL Console Window

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

    Figure 1-6 ESB Console Window

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

    Figure 1-7 OWSM Console Window

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

    Figure 1-8 Oracle Enterprise Manager BPEL Control

    Description of Figure 1-8 follows
    Description of "Figure 1-8 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-9.

    Figure 1-9 Oracle Enterprise Manager ESB Control

    Description of Figure 1-9 follows
    Description of "Figure 1-9 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-10.

    Figure 1-10 Oracle Enterprise Manager OWSM Control

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

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 the Enterprise Service Bus Web site at

http://www.oracle.com/technology/products/integration/esb/index.html for 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.war 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 the J2C connection factory properties shown in Table 1-2 are modified.

Table 1-2 J2C Connection Factory Properties

Adapter Type Properties

Database

  • driverClassName

  • connectionString

  • username

  • password

FTP

  • host

  • port

Note: A new authentication alias must be created for connecting to the FTP server.

Applications

  • connectionString

  • userName

  • password

AQ

  • connectionString

  • userName

  • password

JMS

  • connectionFactoryLocation

  • isTopic

  • isTransacted

Note: The istopic property must be set to false for queues. The isTransacted property must be set to false for the JMS samples to run.

MQ

  • channelName

  • portNumber

  • queueManagerName

  • hostName


1.7 Auto Loan Demo

This section describes how to run Auto Loan Demo on BPEL PM 10.1.3.3 on WebSphere 6.1. 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 file within JDeveloper at jdev\integration\lib with the updated jar from BPEL_HOME\system\services\lib.

  2. Replace the orabpel-ant.jar file within JDeveloper at jdev\integration\lib with the updated jar from BPEL_HOME\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 the WebSphere realm

    • admin.password to the password of the above mentioned user

    • jndi.url to iiop://<hostname>:<Boot_strap_port>

      Note:

      The Boot_strap_port to use above can be obtained from IBM admin console under oracleSOAServer -> Ports -> BOOTSTRAP_ADDRESS.
    • jndi.InitialContextFactory to com.ibm.websphere.naming.WsnInitialContextFactory

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

    • 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

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

    • Choose the above-created AppServer connection

    • BPEL and ESB should pass when this connection is tested.

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

Since the AutoLoanFlow sample that is bundled with BPEL PM standalone is written for OC4J Application Server, it cannot be run as is on WebSphere. Specifically, the Decision Service applications need to be regenerated for WebSphere platform, using JDeveloper, as 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:

    BPEL_HOME\samples\demos\AutoLoadDemo\AutoLoanFlow\bpel\decisionservices.decs

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

    BPEL_HOME\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 BPEL_HOME\samples\demos\AutoLoanDemo\AutoLoanBroker.pdf to recreate 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:

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

  2. Modify the AutoLoanFlow\decisionservices\CreditRatingAgent\war\WEB-INF\web.xml file.

    Change <url-pattern>CreditRatingAgent</url-pattern> to <url-pattern>/</url-pattern>

  3. Finally, build and deploy the Auto Loan Flow using the Integration Server connection. In the Application navigator, right-click build.xml under the Resources folder in the BPEL project, and select Run Ant Target and then 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

  • <domain>_AutoLoanFlow_<version>_LoanApproval.ear

1.7.5 Deploying J2EE Applications on WebSphere

Perform the following steps to deploy the applications to WebSphere:

  1. Start the WebSphere Administrative console at http://<hostname>:<port>/ibm/console.

  2. Select Install Enterprise Application.

  3. Navigate to the directory where the target ear file is located on the file system, and select the ear file.

  4. In the Select Installation Options page, select the Deploy Webservices option.

  5. On the Map Modules to Servers page, choose oracleSOAServer as the target server when installing the applications.

  6. Complete deployment with other default values.

  7. Start the deployed applications from list of deployments.

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>:default_port/AutoLoanFLowUI where default_port is as defined in the constants.properties file.

  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>:<default_port>/integration/worklistapp using jstein/welcome1 as the username and password. The default_port is defined in the constants.properties file.

  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, Known Issues, and Troubleshooting Tips

This section describes the limitations, known issues, and troubleshooting tips for Oracle BPEL Process Manager 10.1.3.1 on WebSphere version 6.1.0.3.

1.8.1 Limitations

Note the following limitations:

  • The BPEL Test page, which runs the JUnit test cases for the BPEL process, cannot run multiple concurrent instances. This is due to the fact that threads that are spawned from JSP pages are unable to access JNDI resources in WebSphere.

  • EJB 3.0/ JPA

    WebSphere 6.1.0.3 does not support EJB 3.0 and JPA. An upgrade to fixpack 6.1.0.9 and an additional feature pack for EJB 3.0 should be installed for running EJB3.0 applications.

  • Java Web Services (JWS)

    WebSphere 6.1.0.3 does not support Annotated JWS. An upgrade to fixpack 6.1.0.9 and an additional feature pack for JWS should be installed for running JWS applications.

  • SOA OrderBooking on WebSphere

    The JWS application within SOA Order Booking Tutorial fails to deploy on WebSphere even after the required upgrades and feature packs are applied. This is due to the bug mentioned at the following link in bugs.eclipse.org:

    https://bugs.eclipse.org/bugs/show_bug.cgi?id=112835

  • ESB Resubmission API

    Resubmission of ESB instances from an external client using the Resubmission API fails with the following error:

    Error code="1617" severity="5" - "java.sql.SQLException: enlist:
    

    The same can be resubmitted from the ESB Console.

  • J2C Connections

    Different J2C Connection Factories needs to be configured for BPELPM and ESB jca:endpoints, since the same adapters are used by BPELPM processes and ESB services.

1.8.2 Known Issues

Note the following known issues:

  • The following exception occurs in the SystemOut.log file when starting BPEL processes:

    "javax.ejb.RemoveException: com.ibm.ejs.container.BeanNotReentrantException: METHOD_READY: Tx != null"
    

    This can be ignored because it does not affect any functionality.

  • The following error might be encountered while starting/stopping the SOAServer, these are benign error. These errors can be ignored safely.

    (Error No. 1) javax.naming.ConfigurationException [Root exception is javax.naming.NameNotFoundException: Name comp/env/ejb 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)
    ...
    =============================================================================
    (Error No. 2 ) java.lang.NullPointerException
       at org.apache.jsp._ErrorPage._jspService(_ErrorPage.java:482)
       at com.ibm.ws.webcontainer.jsp.runtime.HttpJspBase.service(HttpJspBase.java:102)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
       at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:989)
       at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:930)
       at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:118)
       at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
       at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:761)
       at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:673)
       at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:498)
       at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:464)
       at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:308)
       at com.ibm.ws.webcontainer.webapp.WebApp.sendError(WebApp.java:2720)
       at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:111)
       at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
       at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)
       at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:96)
       at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
    ....
    =============================================================================
    (Error No. 3) [9/27/07 13:55:45:669 IST] 00000066 agent         E   Global transaction rollback
    oracle.tip.esb.server.common.exceptions.BusinessEventRetriableException: Failed to commit transaction; transaction status is "6"
    at oracle.tip.esb.server.common.JTAHelper.commitTransaction(JTAHelper.java:178)
       at oracle.tip.esb.server.dispatch.agent.ESBWork.run(ESBWork.java:143)
       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.transaction.RollbackException
       at
    com.ibm.ws.Transaction.JTA.TransactionImpl.stage3CommitProcessing(TransactionImpl.java:1811)
     at com.ibm.ws.Transaction.JTA.TransactionImpl.processCommit(TransactionImpl.java:1590)
       at com.ibm.ws.Transaction.JTA.TransactionImpl.commit(TransactionImpl.java:1512)
       at com.ibm.ws.Transaction.JTA.TranManagerImpl.commit(TranManagerImpl.java:237)
       at com.ibm.ws.Transaction.JTA.TranManagerSet.commit(TranManagerSet.java:162)
       at com.ibm.ws.Transaction.JTA.UserTransactionImpl.commit(UserTransactionImpl.java:285)
       at oracle.tip.esb.server.common.JTAHelper.commitTransaction(JTAHelper.java:176) ... 3 more 
    ....
    

1.8.3 Troubleshooting Tips

The following list explains the errors encountered while installing Oracle BPEL Process Manager with WebSphere, and their resolutions:

Proxy Settings

When you initiate a BPEL process, you could encounter the WSDL not found error. To resolve this error, ensure that the proxy settings have been configured correctly, as follows:

  1. Log in to the IBM Admin console.

  2. Navigate to Servers, Application Servers. The Application Servers page is displayed.

  3. Click Java and Process Management, Process Definition, Java Virtual Machine, and Custom Properties.

  4. Verfiy the values for the following custom properties

    • http.proxySet: Set to true if using a proxy server, else false

    • http.proxyHost: URL of the proxy server

    • http.proxyPort: Port of the proxy server

    • http.nonProxyHosts: Pipe(|) separated list of addresses for which proxy will be bypassed.

  5. Restart oracleSOAServer, if you change any of these properties.

Sudo Access (Linux only)

WebSphere 6.1.0.3 should be installed as root (using sudo access).Also, the sudo password should be provided, when prompted, while you run the Installables\bin\setup.sh file.

J_security Servlet Not Found

When you log in to BPELConsole, you may encounter the J_security servlet not found error. This indicates that the application security has not been enabled for form-based authentication.To enable security, follow these steps:

  1. Log in to the IBM Admin console.

  2. Navigate to Servers, Secure administration, applications, and infrastructure. The Secure, administration, applications, and infrastructure page is displayed.

  3. Click the Security Configuration Wizard button, and then follow the steps in the wizard.

If security is not required, then directly access the BPEL Console dashboard using: http://hostname:<default_port>/BPELConsole/default/index.jsp where default_port is as defined in the constants.properties file.

Business Rules Applications (Decision Service Applications)

Some Decision Service applications with the Deploy Web services option may fail to install on WebSphere. This is mainly due to the differences in the JAX-RPC java-wsdl mapping file expected by WebSphere.

The java-wsdl mapping file may need to be regenerated using the java2wsdl emitter in WebSphere.

Note:

Refer to http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/rwbs_java2wsdl.html for wsdl2java and java-wsdl mapping file details.

Deployment of BPEL Processes Using Ant/Obant Scripts

If the deployment of BPEL processes fail, then verify the following attributes set in the bpel\utilities\ant-orabpel.properties file:

  • Platform: This should be set to websphere_5.

  • admin.user, admin.password: These should be the credentials of a valid user from the User Account Repository(this applies only if Application security is enabled in WebSphere).

    Note:

    The ant-orabepl.properties file is the BPEL_HOME\OraBPEL_1\bpel\utilities directory.

Handling Null Pointer Exceptions in JMS Adapter When Using MCF Attributes

When running any adapter process ensure to remove the ManagedConnectionFactory (MCF) and other associated MCF attributes (within jca:address) from the inbound and outbound service wsdls. These attributes are generated by JDeveloper and are to be used only on OC4J.If you retain the MCF attributes, it can cause null pointer exception in JMS adapter on MQ. You will encounter similar errors with other adapters too. Hence, it is best practice to remove these MCF attributes when running on WebSphere.

Installing on Non-root Installations of WebSphere Application Server

The configureWebsphereAsRoot.sh script assumes that WebSphere Application Server is installed as the root user and displays the message - "This script must be executed as 'root' user", and exits.If WebSphere Application Server is installed as a different user, for example wasUser, then the script should be modified to remove the check for root user and should be run as wasUser.

Perform the following steps to install on non-root installations of WebSphere Application Server:

  1. Edit configureWebsphereAsRoot.sh as follows:

    use # to comment out the 'exit' statement after 'echo "This script must be executed as 'root' user." ' as shown below

    if [ $(whoami) = "root" ]
     then
    echo "Executing the script as 'root' user"
     else
    echo "This script must be executed as 'root' user."
     #exit
    fi
    
  2. Run the configureWebsphereAsRoot.sh script as the wasUser user.

SystemErr Error

Ensure that the "Topic Location" is set to ESB_JAVA_DEFERRED for all the registered Systems. This can be changed from the Services -> System Page of the ESB Console.

The following error might be thrown in the SystemErr logs, if the Topic Location value is incorrect:

[10/22/07 15:48:53:118 PDT] 0000001e SystemErr R at oracle.tip.esb.server.common.RuntimeESBSystem.isSystemOnCurrentCluster(RuntimeESBSystem.java:247)

OWSM

OWSM application cannot be accessed without logging into OWSM. Hence, if Security is not enabled in IBM Console the following change needs to be made:

  1. Update <ORACLE_HOME>\owsm\config\ccoreui-config-common.properties. Set ui.jsso.enable=false.

  2. Restart oracleSOAServer or core application from IBM Console.

  3. Access OWSM core using the following url:

    http://<hostname>:<DEFAULTPORT>/ccore/Login.jsp with admin/oracle as the username and password.