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 |
|
|
View PDF |
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:Oracle BPEL Process Manager Quick Start Guide
Oracle BPEL Process Manager Order Booking Tutorial
Oracle BPEL Process Manager Developer's Guide
Oracle Application Server Adapter for Files, FTP, Databases, and Enterprise Messaging User's Guide
Oracle Application Server Adapter Concepts
You can install and use Oracle SOA Suite with 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 Enterprise Service Bus (ESB)
Oracle BPEL Process Manager (BPEL)
Human Task
Oracle Web Services Manager (OWSM)
Oracle Business Rules
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:
Create the Oracle SOA Suite schema in the Oracle Database.
This step involves installation of the Oracle Database and creation of the required database schemas for BPEL, ESB, and OWSM.
Install Oracle SOA Suite 10.1.3.1 for OC4J.
This comes with an embedded OC4J J2EE container. Further steps will configure this Oracle SOA Suite to work on top of WebSphere.
Apply SOA Suite Patchset 10.1.3.3 on Oracle SOA Suite 10.1.3.1.
This patchset upgrades the existing 10.1.3.1.0 installation to 10.1.3.3.0.
Configure Oracle SOA Suite on WebSphere Version 6.1.
This step involves running a command-based script, which will configure the Oracle SOA Suite installed earlier to run on WebSphere. The script performs the following:
Creates application server - oracleSOAServer.
Configures the oracleSOAServer shared libraries with Oracle SOA Suite Binaries.
Creates and configures the required data sources/JMS resources.
Deploys the required J2EE applications for BPEL Console, BPEL Admininstration, Human WorkFlow, ESB, OWSM, and Business Rules.
The above steps, which are further detailed in Section 1.3, "Installation and Configuration", summarize the installation and configuration of Oracle SOA Suite on WebSphere 6.1 platform.
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. |
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:
Step 3: Create the Oracle SOA Suite Schema in the Oracle Database
Step 5: Install and Configure WebSphere Version 6.1.0
Note:
On Windows, Oracle Database Lite is automatically installed with Oracle SOA Suite for Developers Basic install type described in this chapter. However, you cannot use Oracle Database Lite as the dehydration store.Follow these instructions to install Oracle Database 10g.
Note:
These instructions assume that you have obtained Oracle Database 10g version 10.1.0.2 and Oracle Database 10g Patch version 10.1.0.5.For all other Database versions, refer to http://www.oracle.com/technology/documentation/index.html.
Install Oracle Database 10g 10.1.0.2.
Open SQL*Plus and log in as a user with the SYSDBA
privilege.
Shut down the database:
SQL> SHUTDOWN IMMEDIATE
Install the Oracle Database 10g 10.1.0.5 patch in the same Oracle home in which you installed Oracle Database 10g.
If using Linux only, then log in as the root
user and run the following command from the operating system command prompt:
/etc/init.d/init.cssd stop
Start the database in upgrade mode in SQL*Plus:
SQL> STARTUP UPGRADE
Run the following script:
SQL> @ORACLE_HOME/rdbms/admin/catpatch.sql;
Shut down the database:
SQL> SHUTDOWN IMMEDIATE
Restart the database:
SQL> STARTUP
Run the following script:
SQL> @ORACLE_HOME/rdbms/admin/utlrp.sql;
The install instructions to install basic Oracle SOA Suite 10.1.3.1 for OC4J is available 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.
Note:
The scripts to configure Oracle SOA Suite on WebSphere require that theJAVA_HOME
environment parameter be set prior to running the script.Navigate to the Disk1\install\soa_schemas\irca folder in the Oracle SOA Suite installation setup files directory.
Set ORACLE_HOME
to point to the Oracle Database installation location. For example,
set ORACLE_HOME=c:\Oracle10g
Enter irca
.
This runs the irca script to create the schemas required for BPEL, ESB, and OWSM.
Enter sys
password when prompted.
The orabpel
, oraesb
, and orawsm
schemas are loaded into the Oracle Database.
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:
Log in to OracleMetaLink at http://metalink.oracle.com. The OracleMetaLink home page is displayed.
Click Patches & Updates. The Patches & Updates page is displayed.
Click Simple Search.
In the Search By field, enter 6148874
. The details of the patchset 6148874 are displayed.
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.Note:
These instructions assume that you have obtained WebSphere version 6.1.0 and version 6.1.0.3 upgrade software.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.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
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
.
Start Nodeagent
as follows:
For... | Run... |
---|---|
Windows XP | WAS_HOME\profiles\<ProfileName>\bin\startNode.bat |
Linux | WAS_HOME/profiles/<ProfileName>/bin/startNode .sh |
Modify the following mandatory installation properties in the 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. |
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. |
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)"
|
AIX/Solaris | configureSOA.sh as root user (WebSphere 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:
Refer to Section 1.8, "Limitations, Known Issues, and Troubleshooting Tips" for non root Installations of WebSphere
Ensure that JAVA_HOME
is set to WebSphere Java. For example, set JAVA_HOME=C:/Progra~1/IBM/WebSphere/AppServer/java
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:
Runirca
against the schema before running this script. Also ensure that the OWSM schema does not contain any seeded data.Stop and Start the NodeAgent after the script run is completed.
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.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.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:
You can use ant
in the BPEL PM developer prompt to deploy J2EE applications. This section contains the following topics:
Ensure that bpelPlatform
is set to WebSphere_5 in the ORACLE_HOME\bpel\system\config\collaxa-config.xml
file.
Ensure that platform
is set to WebSphere_5 in the ORACLE_HOME\
bpel\utilities\ant-orabpel.properties
file.
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 theadmin.user
property is not set correctly, then the deployment may throw authentication errors.Follow these instructions to deploy BPEL PM processes from the developer prompt using ant:
Select Start, All Programs, <Oracle_HOME>, Oracle BPEL Process Manager, Developer Prompt to open a BPEL PM Developer prompt.
Run ant.sh/bat
. This runs the build.xml
of the BPEL application and performs the following steps:
Compiles and deploys the BPEL process to BPEL PM.
Compiles and generates Workflow form WAR files in public_html
within the BPEL application directory, but does not deploy on WebSphere.
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.
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.
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.You can also deploy J2EE applications from JDeveloper. This section contains the following topics:
Download JDeveloper Studio 10.1.3.1 (jdevstudio10131.zip
) from
For Windows - http://www.oracle.com/technology/software/products/jdev/htdocs/soft10131.html.
Ensure that bpelPlatform
is set to WebSphere_5 in the ORACLE_HOME\bpel\system\config\collaxa-config.xml
file.
Ensure that platform
is set to WebSphere_5 in the ORACLE_HOME\bpel\utilities\ant-orabpel.properties
file.
Copy bpm-services.jar
from Installables\bpel\system\services\lib
to <jdev_home>\integration\lib.
Note:
Thebpm-services.jar
contains changes to java-wsdl-mapping
and DecisionServiceInfoTemplate
, which are required for DecisionServices
to run on WebSphere.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:
Create an application server connection of the Standalone OC4J 10.1.3 type.
Choose OC4J standalone as server type as there is no plugin available for WebSphere
Ignore errors when testing this connection. This is due to OPMN absent on WebSphere
Create an Integration Server connection to hostname:<default_port>. The default port is as mentioned in the constants.properties
file.
Choose the above-created AppServer connection
BPEL and ESB should pass when this connection is tested.
Follow these instructions to deploy BPEL PM from the developer prompt using JDeveloper:
Select Start, All Programs, <Oracle_Home>, Oracle BPEL Process Manager, Developer Prompt to open Developer Prompt.
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:
Compiles and deploys the BPEL process to BPEL PM.
Compiles and generates Workflow form WAR files in public_html
within the BPEL application directory but does not deploy on WebSphere.
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.
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 anapplication.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.
To deploy an ESB Services project, right-click and select Register with ESB to the required Integration Server Connection.
Manually deploy the Workflow form and DecisionService Applications into OracleSOAServer
in WebSphere (Using IBM Integration Console).
You can perform the following postinstallation steps for configuring IBM WebSphere Application Server:
Refer to Appendix A, "Configuring BPELPM on WebSphere for Multiple Federated Nodes".
This section describes the postinstallation verification tasks to be performed, and it contains the following topics:
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
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
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
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
Perform the following steps to check if the BPEL, ESB, OWSM consoles have started:
Navigate to http://localhost:<default_port>/BPELConsole/ or to the location where the software is installed, for example, http://<machine-name>:<default_port>/BPELConsole/. The BPEL Console 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.
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
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
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
Log in to the database and start SQL*Plus.
Run the setup.sql
script:
SQL> @Oracle_Home/samples/tutorials/122.DBAdapter/sql/setup.sql;
This script creates and populates the movies
table in the database.
Point the database adapter to your database in the WebSphere Console under Resources, Resource Adapters, DB Adapter, J2C Connection Factories, BPEL Samples, Custom Properties, Connection String. Also, set the username and password.
Restart oracleSOAServer.
Select Start, All Programs, Oracle - Oracle_Home, Oracle SOA Suite, Developer Prompt.
Change to the following directory:
tutorials\122.DBAdapter\SelectAllByTitle
Run the following command:
ant
This compiles and deploys all projects dependent on this tutorial. Projects are deployed into Oracle_Home
\bpel\domains\
domain_name
\deploy
.
Select Start, All Programs, Oracle - Oracle_Home, Oracle SOA Suite, BPEL Console.
Click SelectAllByTitle in the Deployed BPEL Processes list.
Refer to the MOVIES
table, and enter the movie title on the Initiate page. For example, 'The Aviator'.
Click Post XML Message.
View the results and inspect the instance.
Note:
Refer to the Enterprise Service Bus Web site athttp://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.
The Web application DTD link in the web.xml
files included with Oracle SOA Suite must be modified before deployment to WebSphere.
Search for the web.xml
files in the Oracle_Home
\bpel\samples
directory.
Make the following change in each web.xml
file related to the sample to run:
Change:
http://java.sun.com/j2ee/dtds/web-app_2_3.dtd
To:
http://java.sun.com/dtd/web-app_2_3.dtd
Select Start, All Programs, Oracle - Oracle_Home, Oracle SOA Suite, Developer Prompt.
Change directories to the following:
tutorials\127.OrderBookingTutorial
Start SQL*Plus and run the following script:
SQL> @PracticeFiles\insertTable.sql;
This creates the required sample tables in the database.
Change all the BPEL partner links in the bpel.xml files to update to the default port, as defined in the constants.properties file.
Run the following command:
ant
This compiles and deploys all projects dependent upon this tutorial. However, WAR files for CreateOrderBookingUI and SelectManufacturingUI must be manually deployed into WebSphere.
Change to the <ORACLE_HOME>\j2ee\home\applications directory.
Note the CreateOrderBookingUI.war
file that was created when you ran ant
in Step 7.
Change to the OrderApproval\public_html\OrderApproval\form
directory.
Note the default_OrderApproval_1_0_OrderApproval.war
file that was created when you ran ant in Step 7.
Select Install Application in the WebSphere Administrative console to deploy the war files to WebSphere.
Access the WebSphere Administrative console at the following URL:
http://hostname:9060/ibm/console
Note:
For deploying the WAR files alone, you will have to supply the context root as follows:CreateOrderBookingUI.war CreateOrderBookingUI
Select oracleSOAServer as the deployment target.
Restart oracleSOAServer from the IBM console.
Run the following OrderBooking Tutorial steps:
Initiate the process using http://localhost:<default_port>/CreateOrderBookingUI where default_port is as defined in the constants.properties file.
Open the console in audit or flow mode. Follow the steps that appear on the console and click task links to complete the task.
After the process moves beyond supplier selection, the human workflow is added, for manual user approval (or rejection). This process has a timeout of 5 minutes and defaults to order status is rejected. Follow this step by opening the worklist URL at
http://localhost:default_port/integration/worklistapp/Login
where default_port is as defined in the constants.properties file.
Log in as jcooper/welcome, and you will be presented with a list of tasks. Acquire the task first, then view it, and approve or reject the task. Then, logout of the jcooper page.
Log in as jstein/welcome and you will be presented with a list of Approved tasks only. View it, and approve or reject it. Then, logout of the jstein page. This completes the human workflow part of the process. You can return to main process to audit the process.
To run the process in batch mode with file read, copy the provided practice files\OrderBookingPO_*.xml in the \temp directory, and observe the batch process read the file and process it.
Ensure that the J2C connection factory properties shown in Table 1-2 are modified.
Table 1-2 J2C Connection Factory Properties
Adapter Type | Properties |
---|---|
Database |
|
FTP |
Note: A new authentication alias must be created for connecting to the FTP server. |
Applications |
|
AQ |
|
JMS |
Note: The |
MQ |
|
This section describes how to run Auto Loan Demo on BPEL PM 10.1.3.3 on WebSphere 6.1. It contains these sections:
The following one-time changes should be performed on JDeveloper:
Replace the bpm-services.jar file within JDeveloper at jdev\integration\lib
with the updated jar from BPEL_HOME
\system\services\lib.
Replace the orabpel-ant.jar file within JDeveloper at jdev\integration\lib
with the updated jar from BPEL_HOME
\lib
.
Modify the following properties in jdev\integration\bpel\utilities\ant-orabpel.properties
file:
Platform to websphere_5
admin.user to a valid user in 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
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
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.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.
Perform the following steps to modify the AutoLoanFlow sample for WebSphere:
Delete the following file from the filesystem:
BPEL_HOME\samples\demos\AutoLoadDemo\AutoLoanFlow\bpel\decisionservices.decs
Open the AutoLoanFlow sample from JDeveloper Studio as a JDeveloper project using the following file:
BPEL_HOME
\samples\demos\AutoLoanDemo\AutoLoanFlow\AutoLoanFlow.jpr
Open the AutoLoanFlow.bpel file from the Applications Navigator (found within the AutoLoanFlow project).
From the Services swim lane of AutoLoanFlow.bpel, delete the following decision service partnerlinks:
CreditRatingAgent
LoanAdvisorAgent
Follow the steps II, III, IV, and V of "Modelling Auto Loan Broker Process" from BPEL_HOME
\samples\demos\AutoLoanDemo\AutoLoanBroker.pdf
to recreate the two Decision Service applications.
The AutoLoanFlow BPEL process has two Decision Service applications as partnerlinks (CreditRatingAgent
and LoanAdvisorAgent
). By default, the context-root generated for both these J2EE applications are same with the value - /rules/${domain_id}/${process_id}/${process_revision}
.
The ${} attributes are replaced by actual values during the build and deploy of the Auto Loan Flow. However, as the context-root is not unique for these two applications, these cannot be deployed on WebSphere. When the second application is deployed/started on WebSphere it would complain that the context-root is already in use.This is an issue on non-Oracle application servers when a BPEL Process references more than one Decision Service partnerlinks generated from JDeveloper Studio. As a workaround, after generating the Decision Service applications on JDeveloper and before doing a build and deploy, perform the following:
Modify the AutoLoanFlow\decisionservices\CreditRatingAgent\ear\META-INF\application.xml
file.
Change <context-root>/rules/${domain_id}/${process_id}/${process_revision}</context-root>
to <context-root>/rules/${domain_id}/${process_id}/${process_revision}/CreditRatingAgent</context-root>
Modify the AutoLoanFlow\decisionservices\CreditRatingAgent\war\WEB-INF\web.xml
file.
Change <url-pattern>CreditRatingAgent</url-pattern>
to <url-pattern>/</url-pattern>
Finally, build and deploy the Auto Loan Flow using the Integration Server connection. In the Application navigator, right-click 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
Perform the following steps to deploy the applications to WebSphere:
Start the WebSphere Administrative console at http://<hostname>:<port>/ibm/console.
Select Install Enterprise Application.
Navigate to the directory where the target ear file is located on the file system, and select the ear file.
In the Select Installation Options page, select the Deploy Webservices option.
On the Map Modules to Servers page, choose oracleSOAServer as the target server when installing the applications.
Complete deployment with other default values.
Start the deployed applications from list of deployments.
When the process is deployed, perform the following steps to test the sample:
Open the AutoLoanFlow UI at http://<hostname>:default_port/AutoLoanFLowUI where default_port is as defined in the constants.properties
file.
Click the Initiate New BPEL Loan Flow link.
Accept the default payload and click Submit Loan Application.
Log in to the worklist at http://<hostname>:<default_port>/integration/worklistapp using jstein/welcome1 as the username and password. The default_port is defined in the constants.properties
file.
Click the Task title (Loan Approval for Irving Stone).
Examine the task payload, the credit rating for that loan should be 500 with "Medium" risk and a Credit Max Amount of 50000.0.
The provider for the Loan Offer should be "Premium Bank" with an APR of 4.0
Approve the task.
Verify the AutoLoanFlow instance.
This section describes the limitations, known issues, and troubleshooting tips for Oracle BPEL Process Manager 10.1.3.1 on WebSphere version 6.1.0.3.
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.
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 ....
The following list explains the errors encountered while installing Oracle BPEL Process Manager with WebSphere, and their resolutions:
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:
Log in to the IBM Admin console.
Navigate to Servers, Application Servers. The Application Servers page is displayed.
Click Java and Process Management, Process Definition, Java Virtual Machine, and Custom Properties.
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.
Restart oracleSOAServer, if you change any of these properties.
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.
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:
Log in to the IBM Admin console.
Navigate to Servers, Secure administration, applications, and infrastructure. The Secure, administration, applications, and infrastructure page is displayed.
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 java2wsd
l emitter in WebSphere.
Note:
Refer tohttp://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:
Theant-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:
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
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:
Update <ORACLE_HOME>
\owsm\config\ccoreui-config-common.properties
. Set ui.jsso.enable=false.
Restart oracleSOAServer or core application from IBM Console.
Access OWSM core using the following url:
http://<hostname>:<DEFAULTPORT>/ccore/Login.jsp with admin/oracle as the username and password.