oracle bpm – weblogic cluster setup and … using obpm config wizard without wls setup and...

107
Oracle BPM – Weblogic Cluster Setup and Troubleshooting Guide Date 27-April-2010 Revision 1.2 Oracle Proprietary and Confidential 1

Upload: vothien

Post on 26-Apr-2018

242 views

Category:

Documents


0 download

TRANSCRIPT

Oracle BPM – Weblogic Cluster Setup and Troubleshooting Guide

Date 27-April-2010 Revision 1.2

Oracle Proprietary and Confidential 1

TABLE OF CONTENTS Audience ...................................................................................3 Scope........................................................................................3 Abbreviations .............................................................................4 Pre-requisites .............................................................................4 Assumptions: .............................................................................5 Fast Checklist .............................................................................5 Launch OBPM Config Wizard .........................................................7 Launch OWLS Console ............................................................... 22 Stop OBPM deployed applications ................................................ 23 Create a Cluster and Managed Servers......................................... 25

Notes on Messaging Mode ....................................................... 27 Reconfigure JDBC resources ....................................................... 36

Retarget the Data Sources....................................................... 36 Reconfigure JMS resources ......................................................... 41 Create new JMS Servers ............................................................ 47 Create new resources for the JMS system module.......................... 52 Target the System Module.......................................................... 52 Create and target a Subdeployment ............................................ 54 Create and target JMS System Module resources ........................... 57 Review Subdeployments Resources and Targets ............................ 76 Configure Load Balance.............................................................. 77 Start the Managed Servers ......................................................... 82

Increase the Managed Servers JVM startup memory.................... 83 Retarget OBPM applications ........................................................ 83 Set Global JTA Timeout.............................................................. 89 Verify that “FuegoWebLogicDeployer” user exists under Security Realms .................................................................................... 90

Create “FuegoWebLogicDeployer” User...................................... 92 Launch OBPM Process Administrator ............................................ 95 Appendix A .............................................................................. 98

Troubleshooting Guide ............................................................ 98 Errors that might occur during OBPM Config Wizard execution ... 98 Errors that might occur during WLS configuration..................... 98 Which WLS files are needed to be gathered in order to analyze / troubleshoot?.................................................................... 100

Appendix B ............................................................................ 101 WLS configuration files.......................................................... 101

Analyzing config.xml .......................................................... 101 Analyzing jdbc\ XAFDIDS-5279-jdbc.xml .............................. 105 Analyzing jdbc\ XAbpmengineDS-0647-jdbc.xml .................... 105 Analyzing jms\ systemmodule-jms.xml................................. 106

Oracle Proprietary and Confidential 2

Audience Oracle BPM Administrators Oracle Weblogic Server Administrators

Scope There are many ways to setup and configure BPM when applications (Engine, Workspace, etc.) are going to be deployed into a J2EE container. The approaches that can be followed are:

- using OBPM Config Wizard with WLS setup and pre-configuration - using OBPM Config Wizard without WLS setup and pre-

configuration - using OBPM Config Wizard and WLS Config Wizard in

independent mode This document will focus on a mixed setup and configuration. This approach will serve as valid to modify or create resources as necessary as described in following topics. The setup, configuration steps and tips mentioned in this document are based on best practices that will ensure that all resources and components that interact with OBPM will work properly. This document will focus on setting up a typical high availability configuration:

- a Cluster with 2 Managed Servers - a DB Directory Service schema (non LDAP) using Oracle DB

The Oracle DB version used along this setup is XE. However, XE is only used for practical purposes while developing this Guide. Check the Interoperability Matrix for information related to supported Enterprise Databases.

Oracle Proprietary and Confidential 3

Products and versions Products used along this Guide are:

- Oracle BPM 10g (10.3 MP1) - Oracle WebLogic Server 10g (10.3.0) - Oracle DB - Windows Server 2003 SP2 - JRockit 1.6.0_05-b13 JVM

Abbreviations OBPM – Oracle Business Process Management OWLS – Oracle Weblogic Server IM – Interoperability Matrix DS – Directory Service

Pre-requisites Both OBPM and OWLS must be installed and working in full conformance with the OBPM Interoperability Matrix. The OBPM Interoperability Matrix describes which Providers and Versions of Operating Systems, Application Servers, Databases, JMS Servers, Browsers and JVMs can be used and are fully Certified and Supported by BPM to work properly.

Avoid using any other Provider or Version not listed on the IM since they will not be supported. This critical aspect includes, for example, certain Application Server Maintenance Packs.

Ensure that the latest OBPM HotFix has been applied to OBPM before proceeding with the setup and configuration. The latest OBPM HotFix can be downloaded from My Oracle Support site portal, Patches and Updates: https://support.oracle.com

Action: Check the Interoperability Matrix at http://www.oracle.com/technology/products/bpm/obpm_config_matrix.html

Oracle Proprietary and Confidential 4

Assumptions: It will be assumed that both OBPM and OWLS are already installed in the same box and enough memory is present.

Action: check OBPM Installation Guide and OWLS Installation Guide to determine how much memory is needed for each Product. OBPM Installation Guide: http://download.oracle.com/docs/cd/E13154_01/bpm/docs65/installguide/index.html, see “Installation Prerequisites” OWLS Installation Guide: http://download.oracle.com/docs/cd/E12840_01/wls/docs103/

Fast Checklist If you have already configured OBPM and OWLS to work in a clustered environment, you might consider checking at this time the following Checklist before proceeding to a more detailed explanation. This Checklist enumerates the necessary details that will make the clustered setup and configuration work successfully and in conformance to Best Practices.

BPM has been updated to the latest MP and HF WLS version is in accordance to BPM’s Interoperability Matrix BPM and WLS are working with Certified OS, JVM, DB, in

accordance to BPM’s Interoperability Matrix BPM Application Deployments target:

a) BPM Deployer -> WLS Admin Server b) Engine, Workspace, ProcessAdmin, WorkspaceAdmin, PAPI-Ws -> WLS Cluster

JMS Servers: a different one for each Managed Server JMS Servers Persistent Store: File Store -> must NOT be

defined JMS SystemModule: single one, targeted to the Cluster JMS SystemModule SubDeployment: single one, targeted to all

JMS Servers JMS SystemModule resources:

a) BPM Factories: targeted to the Cluster a1) load balancing -> enabled

Oracle Proprietary and Confidential 5

a2) server affinity -> disabled b) BPM Queue and Topic: distributed and targeted to all JMS Servers

Data Sources: a) use XA Driver (BEA’s Oracle Driver (Type 4 XA) Versions 9.0.1, 9.2.0, 10,11) b) target: Cluster

JTA timeout: at least 300 seconds Security Realms: FuegoWebLogicDeployer exists as a user and

is assigned to the WLS Administrators Group Managed Servers XMS and XMS memory: set to at least 1024m

Oracle Proprietary and Confidential 6

Launch OBPM Config Wizard Since we have assumed that both OBPM and OWLS have been installed in the same box, the initial setup performed by OBPM Config Wizard is straightforward and will

- create the Directory Service (DS) and Engine schemas - create the DS configuration file (directory.xml) - create and configure a basic WLS domain (using WLST)

Further steps will be needed to configure a Cluster which are described bellow.

There’s no need to have OWLS up and running before running OBPM Config Wizard. OBPM Config Wizard will create and start a new Domain using WLST scripts - launch OBPM Admin Center - click Configuration - click Add button

Oracle Proprietary and Confidential 7

- click Next

Oracle Proprietary and Confidential 8

- click Next

Oracle Proprietary and Confidential 9

- select an adequate Directory Provider - type in a password for BPM Administrator User (user “admin” will

be used to login into OBPM Process Administrator at a later time) - click Next

Oracle Proprietary and Confidential 10

- type in a password - other DB details can be set at this time (click Advanced tab if

necessary) - click Next

Oracle Proprietary and Confidential 11

- type in a password - click Next

Oracle Proprietary and Confidential 12

- select an adequate Engine Database Provider - click Next

Oracle Proprietary and Confidential 13

- type in a password - other DB details can be set at this time (click Advanced tab if

necessary) - click Next

Oracle Proprietary and Confidential 14

- type in a password - click Next

Oracle Proprietary and Confidential 15

- in order to speed up the setup process and EAR deployment into WLS only select the Process Engine and Workspace EAR checkboxes (other application EAR files can be deployed at a later time)

- click Next

Oracle Proprietary and Confidential 16

- select the Weblogic Home - select the Domain Folder - type in a WLS password - click Next

Oracle Proprietary and Confidential 17

- click Next

At this point

- Directory Service and Engine schemas will be created - selected OBPM application EAR files will be created - a OBPM Domain will be created and started (with a WLS Admin

Server only) - a basic WLS configuration will be created (that includes JDBC

and JMS resources) - OBPM application EAR files will be deployed into WLS BPM

domain (and started) – OBPM Engine, OBPM Workspace and OBPM Deployer

- an Oracle BPM Deployer User will be created under WLS Security Realms, myrealm, called “FuegoWebLogicDeployer”, with a

Oracle Proprietary and Confidential 18

default password (“password”), and assigned to the WLS Administrators Group

There’s no need to have OWLS up and running beforehand running OBPM Config Wizard. OBPM Config Wizard will create and start a new Domain using WLST scripts.

- click Next

Oracle Proprietary and Confidential 19

- click Finish

Oracle Proprietary and Confidential 20

- click Ok

Do not try to Start BPM Web Applications or to deploy a BPM project at this time. The configuration isn’t finished yet! For example, the default memory settings for WLS Admin Server are not enough to handle properly the deployed OBPM applications just deployed (you will change the Managed Servers startup scripts in order to assign more memory to each one).

If you have successfully reached this stage, you are ready to move ahead and configure the newly created OBPM Domain.

If you have encountered any error see Appendix A below, Troubleshooting Guide

Oracle Proprietary and Confidential 21

Launch OWLS Console

Oracle Proprietary and Confidential 22

Stop OBPM deployed applications

- on Domain Structure, click Deployments

Oracle Proprietary and Confidential 23

- select 01-eng-bpmengine and 08-workspace-XAFDIDS.ear checkboxes, click Stop, Force Stop Now, Yes (this action will change the Sate of the above mentioned applications from Active to Prepared)

Oracle Proprietary and Confidential 24

Create a Cluster and Managed Servers In this section you will configure a Cluster and add Managed Servers to that Cluster

- on Domain Structure, click Clusters (under Environment), Lock & Edit, New

Oracle Proprietary and Confidential 25

Oracle Proprietary and Confidential 26

- type in a Name, i.e. BPMCluster - keep Messaging Mode as “Unicast” - keep Unicast Broadcast Channel empty (the default channel will

be used) - click Ok

Notes on Messaging Mode Clusters use messaging for sharing session, load balancing and failover, JMS, and other information between cluster members. Clusters can use either Unicast or Multicast messaging. Multicast is a simple broadcast technology that enables multiple applications to subscribe to a given IP address and port number and listen for messages, but requires both network and hardware configuration and support. Unicast provides the same type of communication within a cluster, but does not have these requirements.

Oracle Proprietary and Confidential 27

In WLS 10.3, Unicast is the default messaging method. However, Multicast is also provided to support backward compatibility. It is recommended that you use Unicast when creating new clusters. In WLS 9.2, Multicast address and port are used by cluster members to communicate with each other. In either case, if you decide to use Multicast, make sure you specify a Multicast Port that is different from any of the already existing defined Ports set for the Admin Server and any Managed Server (i.e. 7010 for this Guide).

- click BPMCluster, click Servers tab, click Add

Oracle Proprietary and Confidential 28

Oracle Proprietary and Confidential 29

- select “Create a new server and add it to this cluster” - click Next

Oracle Proprietary and Confidential 30

- type in a Server Name (i.e. ManagedServer1) - type in a Server Listen Port (different from the Admin Server

port, i.e. 7003) - click Finish

Oracle Proprietary and Confidential 31

- click Add

Oracle Proprietary and Confidential 32

- select “Create a new server and add it to this cluster” - click Next

Oracle Proprietary and Confidential 33

- type in a Server Name (i.e. ManagedServer2) - type in a Server Listen Port (different from the Admin Server

port, and other existing Managed Servers, i.e. 7005) - click Finish

Note: different port numbers need to be specified when all WLS Managed Server instances run in the same host (typical for TEST/DEV environments). If you specify different hosts for each Managed Server (typical setup for PROD environments), then the same port number can be used for each one.

Oracle Proprietary and Confidential 34

- click Activate Changes - click Clusters (under Environment)

Oracle Proprietary and Confidential 35

Reconfigure JDBC resources In this section you will reconfigure the JDBC resources that correspond to the OBPM Engine and to the OBPM Workspace.

Retarget the Data Sources

- in Domain Structure, click Data Sources, under Services / JDBC - click Lock & Edit

Oracle Proprietary and Confidential 36

- click XAbpmengineDS - click Targets tab

Oracle Proprietary and Confidential 37

- unselect BPM Server - select BPMCluster (All servers in the cluster) - click Save - in Domain Structure, click Data Sources, under Services / JDBC

Oracle Proprietary and Confidential 38

- click XAFDIDS - click Targets tab

Oracle Proprietary and Confidential 39

- unselect BPM Server - select BPMCluster (All servers in the cluster) - click Save - click Activate Changes

Oracle Proprietary and Confidential 40

Note: the JNDI Name of these JDBC Data Sources must be the same as the ones configured in OBPM Process Administrator (Application Server tab). These values have been already configured by the OBPM Config Wizard. You will confirm that the JNDI Name is the same at a later stage in this document.

Reconfigure JMS resources

In this section you will reconfigure the JMS resources that correspond to the OBPM Engine and OBPM Workspace.

Since you are configuring a Cluster with several managed servers, the following aspects need to be addressed:

- have as many JMS servers as the number of available Managed Servers

- XA Connection factories with disabled server affinity - distributed Queues and Topics - adequate targeting for each resource

The default JMS configuration created by OBPM Config Wizard needs to be re-created.

Oracle Proprietary and Confidential 41

Delete existing resources from the JMS system module

- in Domain Structure, click JMS Modules under Services / Messaging

- click SystemModule

- click Lock & Edit - select the NewsTopic, TodoQueue, XAConnectionFactory and

XATopicConnectionFactory resources checkboxes - click Delete, and then click Yes - click Activate Changes

Oracle Proprietary and Confidential 42

- click Subdeployments tab

Oracle Proprietary and Confidential 43

- click Lock & Edit - select the SubDeployment checkbox - click Delete and then Yes - click Activate Changes

Oracle Proprietary and Confidential 44

Delete the existing JMS Server

- in Domain Structure, click JMS Servers under Services / Messaging

Oracle Proprietary and Confidential 45

- click Lock & Edit - select JMSServer checkbox - click Delete, and then click Yes

Oracle Proprietary and Confidential 46

Create new JMS Servers

- click New

Oracle Proprietary and Confidential 47

- type in a Name (i.e. JMSServer1) - ensure that Persistent Store is set to (none) - click Next

Oracle Proprietary and Confidential 48

- select the first ManagedServer (i.e. ManagedServer1) - click Finish

Oracle Proprietary and Confidential 49

- click New

- type in a Name (i.e. JMSServer2) - ensure that Persistent Store is set to (none) - click Next

Oracle Proprietary and Confidential 50

- select the second ManagedServer (i.e. ManagedServer2) - click Finish

Oracle Proprietary and Confidential 51

- click Activate Changes

Create new resources for the JMS system module

Target the System Module

- in Domain Structure, click JMS Modules under Services / Messaging

- click SystemModule

Oracle Proprietary and Confidential 52

- click Lock & Edit - click Targets tab

Oracle Proprietary and Confidential 53

- unselect BPMServer - select BPMCluster (All servers in the cluster) - click Save

Create and target a Subdeployment

- click Subdeployments tab - click New

Oracle Proprietary and Confidential 54

- type in a Subdeployment Name (i.e. SubDeployment) - click Next

Oracle Proprietary and Confidential 55

- select BPMCluster (All servers in the cluster) - click Finish

Oracle Proprietary and Confidential 56

- click Activate Changes

Notice that the Resources and Targets for the SubDeployment will change after the steps that you will perform in the next tasks described below. See Page 76.

- click Configuration tab

Create and target JMS System Module resources

Oracle Proprietary and Confidential 57

- click Lock & Edit - click New

Oracle Proprietary and Confidential 58

- select ConnectionFactory - click Next

Oracle Proprietary and Confidential 59

- type in a Name (i.e. XAConnectionFactory) - type in a JNDI Name (must be XAConnectionFactory) - click Next

Note: the JNDI Name of this connection factory must be the same as the one configured in OBPM Process Administrator (Application Server tab). This value has been already configured by the OBPM Config Wizard. You will confirm that the JNDI Name is the same at a later stage in this document.

Oracle Proprietary and Confidential 60

- click Finish

Oracle Proprietary and Confidential 61

- click New

Oracle Proprietary and Confidential 62

- select ConnectionFactory - click Next

Oracle Proprietary and Confidential 63

- type in a Name (i.e. XATopicConnectionFactory) - type in a JNDI Name (must be XATopicConnectionFactory) - click Next

Note: the JNDI Name of this connection factory must be the same as the one configured in OBPM Process Administrator (Application Server tab). This value has been already configured by the OBPM Config Wizard. You will confirm that the JNDI Name is the same at a later stage in this document.

Oracle Proprietary and Confidential 64

- click Finish

Oracle Proprietary and Confidential 65

- click New

Oracle Proprietary and Confidential 66

- select Distributed Queue - click Next

Oracle Proprietary and Confidential 67

- type in a Name (i.e. ToDoQueue) - type in a JNDI Name (must be queue/ToDoQueue) - click Next

Note: the JNDI Name of the queue must be the same as the one configured in OBPM Process Administrator (Application Server tab). This value has been already configured by the OBPM Config Wizard. You will confirm that the JNDI Name is the same at a later stage in this document.

Oracle Proprietary and Confidential 68

- click Advanced Targeting

Oracle Proprietary and Confidential 69

- select the already created SubDeployment as Subdeployments - unselect BPMCluster - select JMSServer1 and JMSServer2 - click Finish

Oracle Proprietary and Confidential 70

- click New

Oracle Proprietary and Confidential 71

- select Distributed Topic - click Next

Oracle Proprietary and Confidential 72

- type in a Name (i.e. NewsTopic) - type in a JNDI Name (must be topic/EngineNews) - click Next

Note: the JNDI Name of the topic must be the same as the one configured in OBPM Process Administrator (Application Server tab). This value has been already configured by the OBPM Config Wizard. You will confirm that the JNDI Name is the same at a later stage in this document.

Oracle Proprietary and Confidential 73

- click Advanced Targeting

Oracle Proprietary and Confidential 74

- select the already created SubDeployment as Subdeployments - unselect BPMCluster - select JMSServer1 and JMSServer2 - click Finish - click Activate Changes

Oracle Proprietary and Confidential 75

The image above shows the Summary of Resources just created.

Review Subdeployments Resources and Targets

- click Subdeployments tab

Oracle Proprietary and Confidential 76

The image above shows which Resources and Targets got assigned to the SubDeployment after the configuration steps performed so far.

Configure Load Balance

- click Configuration tab - click XAConnectionFactory

Oracle Proprietary and Confidential 77

- click Lock & Edit - click Load Balance tab

Oracle Proprietary and Confidential 78

- unselect Server Affinity Enabled - click Save

- on Domain Structure click JMS Modules (under Services /Messaging) and then SystemModule

Oracle Proprietary and Confidential 79

- click XATopicConnectionFactory

Oracle Proprietary and Confidential 80

- click Load Balance tab

Oracle Proprietary and Confidential 81

- unselect Server Affinity Enabled - click Save - click Activate Changes

Start the Managed Servers Since you have defined a Cluster, the OBPM applications (Engine, Workspace, etc.) are going to be executed on each Managed Server. The OWLS Admin Server will be used for administration purposes only. In fact, after the Managed Servers have been started, the Admin Server can be shutdown if necessary, without affecting the Managed Servers functionality.

Oracle Proprietary and Confidential 82

However, since OBPM Deployer runs only in the OWLS Admin Server, no OBPM application EAR deployment will be possible to be performed until the OWLS Admin Server is up and running.

Increase the Managed Servers JVM startup memory The recommended and minimum JVM startup memory parameter for each Managed Server is 1024 Mb. - Edit startManagedWebLogic.cmd (located in i.e. C:\Oracle\Middleware\WLS103\user_projects\domains\bpm\bin) Windows: - Add the following line (after and below the existing line called “set JAVA_VM=”) set USER_MEM_ARGS=-Xms=1024m -Xmx=1024m UNIX style: - Add the following lines (after and below the existing line called JAVA_VM=“”) USER_MEM_ARGS="-Xms1024m –Xmx1024m" export MEM_ARGS - In order to start the Managed Servers, open a command console and execute the following command: C:\Oracle\Middleware\WLS103\user_projects\domains\bpm\bin>startManagedWebLogic.cmd ManagedServer1 http://<host_name>:7001 (replace <host_name> with your host_name)

Retarget OBPM applications

- on Domain Structure click Deployments

Oracle Proprietary and Confidential 83

- click 01-eng-bpmengine, and then Targets tab

Oracle Proprietary and Confidential 84

- click Lock & Edit - select 01-eng-bpmengine, click Change Targets

Oracle Proprietary and Confidential 85

- unselect BPM Server - select BPMCluster (All servers in the cluster) - click Yes - click Activate Changes - (at this point the Engine EAR will be copied to the Stage folder in

the Managed Servers that are up and running) - click Deployments

- click 08-workspace-XAFDIDS.ear and the Targets tab

Oracle Proprietary and Confidential 86

- click Lock & Edit - select 08-workspace-XAFDIDS.ear, click Change Targets

Oracle Proprietary and Confidential 87

- unselect BPM Server - select BPMCluster (All servers in the cluster) - click Yes - click Activate Changes - (at this point the Workspace EAR will be copied to the Stage

folder in the Managed Servers that are up and running) - click Deployments

Oracle Proprietary and Confidential 88

Notice that OBPM Deployer (wlj2eedeployer) needs to be targeted to the OWLS Admin Server only (already set by OBPM Config Wizard). Therefore, NO target change needs to be done for this application.

Set Global JTA Timeout

- on Domain Structure click JTA under Services

Oracle Proprietary and Confidential 89

- click Lock & Edit - change Timeout Seconds to 300 (default is 30 seconds) - click Save - click Activate Changes

Verify that “FuegoWebLogicDeployer” user exists under Security Realms

- on Domain Structure, click Security Realms, myrealm, Users and Groups tab

Oracle Proprietary and Confidential 90

- click FuegoWeblogicDeployer, and then Groups tab

Oracle Proprietary and Confidential 91

Notice that FuegoWeblogicDeployer User has been assigned to the Administrators Group.

If FuegoWeblogicDeployer user is not listed as a User (under Settings for myrealm, Users and Groups tab) you need to create it (honoring the uppercase and lowercase letters within its name) and assign to this User an Administrators group membership. You won’t be able to deploy BPM application EAR files from BPM Process Administrator if this specific user is not present within myrealm.

Create “FuegoWebLogicDeployer” User You will create FuegoWebLogicDeployer user only in case that you find that this User is not listed as a User within the Users list under Settings for myrealm, Users and Groups tab.

- on Domain Structure, click Security Realms, myrealm, Users and Groups tab

- click New

Oracle Proprietary and Confidential 92

- type in a Name (must be FuegoWebLogicDeployer) - type in a Description (i.e. Deployer User) - keep Provider as DefaultAuthenticator - type in a password (you decide) in Password - type in the same password in Confirm Password - click Ok

Oracle Proprietary and Confidential 93

- click FuegoWebLogicDeployer - click Groups tab

Oracle Proprietary and Confidential 94

- select Administrators from Available Parent Groups - click right arrow button - click Save

Launch OBPM Process Administrator

- launch OBPM Admin Center - click Start BPM Web Applications - click Launch Process Administrator - login - click Engines, bpmengine

Oracle Proprietary and Confidential 95

- select Cluster checkbox (Type weblogic) - click Save - click Application Server tab

Oracle Proprietary and Confidential 96

- in “JMX Engine Management Configuration” section, change default OWLS Admin Server Port (7001) to a port that corresponds to one of the configured Managed Servers of the Cluster (i.e. 7003 OR 7005)

- in “BPM Application Deployer for WebLogic” section, change “WebLogic Server or Cluster Name” default BPMServer name to BPMCluster.

- Click save

Note: Notice that the JNDI Name for “Engine Runtime Datasource Lookup Name”, “Engine DI Datasource Lookup Name”, “JMS Queue Name”, “JMS Queue Connection Factory”, “JMS Topic Name for Server synchronization information” and “JMS Topic Connection Factory” are

Oracle Proprietary and Confidential 97

exactly the same as the ones configured in OWLS. These values have been already configured by the OBPM Config Wizard.

Appendix A

Troubleshooting Guide

Errors that might occur during OBPM Config Wizard execution In case that any kind of error arises when OBPM Config Wizard is performing the configuration setup, the Logs to be analyzed are:

- AdminCenterConsole.log - albpmconfigwizard.log

These logs are located in <BPM_install_path>\log

Errors that might occur during WLS configuration In case that any kind of error arises during WLS configuration, the Logs to be analyzed are:

- WLS logs o Admin server o Managed server

- Engine Logs WLS Logs WLS logs are located in Admin Server: <WLS_install_path> \user_projects\domains\bpm\servers\BPMServer\logs Managed Server1: <WLS_install_path>\user_projects\domains\bpm\servers\ManagedServer1\logs

Oracle Proprietary and Confidential 98

Managed Server2: <WLS_install_path>\user_projects\domains\bpm\servers\ManagedServer2\logs WLS Log output is generally monitored from a console command window executing i.e. in Unix style “tail –f logname.log” Otherwise, WLS provides access to the WLS log files directly from the WLS Admin Server console: once logged in into WLS console, under Domain Structure, click Diagnostics, Log Files, select Log name and click View.

The image above shows the available Log files that correspond to the WLS Admin Server or Managed Servers. Engine Logs Engine logs will be located in the file system of each Managed Server based on the path specified in BPM Process Administrator, Engines,

Oracle Proprietary and Confidential 99

<engine_name>, Basic Configuration (see “Log Directory” path specification). You might need to adjust the path where the Engine Logs will be stored (specified by default by BPM Config Wizard) to point to a specific path in your actual environment. Make sure that the specific path has both file and folder R/W permissions. Additionally, and in order to troubleshoot Engine startup problems, you can increase the Engine Log level verbosity. In BPM Process Administrator, click Engines, <engine_name>, Log tab. Change

- “Messages Logged from Server” to Debug - “Maximum Size of Log File” to 5000 - “Maximum Number of Log Files” to 10

and re-start the Engine. Once the Engine starts up properly you can decrease the Log Level verbosity to a lower level of verbosity (for example Info or Warning).

Which WLS files are needed to be gathered in order to analyze / troubleshoot? When analyzing a WLS specific configuration look for

- all contents (files and folders) under WLS /config folder, that correspond to the BPM domain

These files are generally located in

<WLS_install_path>\user_projects\domains\bpm\config

These files include all related configuration details related to Servers, Clusters, JDBC resources, JMS Servers and resources, JTA, etc.

Find in Appendix B a reference to a typical WLS Clustered configuration.

Oracle Proprietary and Confidential 100

Appendix B

WLS configuration files

After configuring the Cluster, WLS provides several files in XML format that can be used to verify the configuration and quickly troubleshoot missing or incorrectly set properties.

The WLS configuration files are generally located under \user_projects\domains\<domain_name>\config folder The files that you will be interested in are:

- config.xml - jdbc\ XAFDIDS-5279-jdbc.xml - jdbc\ XAbpmengineDS-0647-jdbc.xml - jms\ systemmodule-jms.xml

Analyzing config.xml Notice that some default settings will not be shown within configuration files (but can be seen on WLS Console UI) For example, the listen-port (7001) for the Admin Server (BPMServer) is not shown within the xml configuration file.

1) Domain Version Check domain version in order to validate if WLS version is fully compliant with IM

<domain-version>10.3.0.0</domain-version>

Important! BPM Config Wizard incorrectly sets the domain-version as “9.2.1.0” (this issue is currently under analysis and will be fixed soon). If you see that the domain version is shown as 9.2.1.0 please confirm if that WLS version is really being used. For example, you can

Oracle Proprietary and Confidential 101

check the WLS version in WLS Administration Console, or running the following commands: C:\Oracle\Middleware\WLS103\wlserver_10.3\common\bin>wlst wls:/offline> print version WebLogic Server 10.3 SP0 Fri Jul 25 16:30:05 EDT 2008 1137967 wls:/offline> exit() or C:\Oracle\Middleware\WLS103\wlserver_10.3\server\lib>java -cp weblogic.jar weblogic.utils.Versions getWeblogicServerMajorVersion . WebLogic Server 10.3 Fri Jul 25 16:30:05 EDT 2008 1137967 ImplVersion: 10.3.0.0

2) JTA The JTA Timeout Seconds value must be set to 300 seconds or higher. See in My Oracle Support site (http://support.oracle.com) the following article: Troubleshooting JTA Transaction Timeout on OBPM (Doc ID 780946.1)

<jta> <timeout-seconds>300</timeout-seconds> </jta> 3) Server Names / Ports

Each Managed Server needs to belong to a Cluster and the listen port must be different if the Managed Server instances are running in the same host. If the Managed Server instances run in different hosts, the listen port can be the same. <admin-server-name>BPMServer</admin-server-name> <server> <name>BPMServer</name> <listen-address></listen-address> </server>

Oracle Proprietary and Confidential 102

<server> <name>ManagedServer1</name> <listen-port>7003</listen-port> <cluster>BPMCluster</cluster> <listen-address></listen-address> </server> <server> <name>ManagedServer2</name> <listen-port>7005</listen-port> <cluster>BPMCluster</cluster> <listen-address></listen-address> </server>

4) Cluster Name / Messaging Mode When using WLS 10.3, it is recommended that the Cluster use Unicast messaging mode. <cluster> <name>BPMCluster</name> <cluster-messaging-mode>unicast</cluster-messaging-mode> </cluster>

5) Applications deployed and Targets BPM Deployer must be targeted to the WLS Admin Server. BPM Engine, Workspace and other BPM applications must be targeted to the Cluster. <app-deployment> <name>wlj2eedeployer</name> <target>BPMServer</target> <module-type>ear</module-type> <source-path>servers\BPMServer\upload\wlj2eedeployer\app\wlj2eedeployer.ear</source-path> </app-deployment> <app-deployment> <name>01-eng-bpmengine</name> <target>BPMCluster</target> <module-type>ear</module-type> <source-path>servers\BPMServer\upload\01-eng-bpmengine\app\01-eng-bpmengine.ear</source-path> </app-deployment>

Oracle Proprietary and Confidential 103

<app-deployment> <name>08-workspace-XAFDIDS.ear</name> <target>BPMCluster</target> <module-type>ear</module-type> <source-path>servers\BPMServer\upload\08-workspace-XAFDIDS.ear\app\08-workspace-XAFDIDS.ear</source-path> </app-deployment>

6) JMS Server Names and Targets Separate JMS servers need to be defined and targeted to each Managed Server. <jms-server> <name>JMSServer1</name> <target>ManagedServer1</target> </jms-server> <jms-server> <name>JMSServer2</name> <target>ManagedServer2</target> </jms-server>

7) JMS System Resources, Targets and Descriptor file names A single SystemModule must exist and targeted to the Cluster. A single SubDeployment must exist and targeted to all JMS servers <jms-system-resource> <name>SystemModule</name> <target>BPMCluster</target> <sub-deployment> <name>SubDeployment</name> <target>JMSServer1,JMSServer2</target> </sub-deployment> <descriptor-file-name>jms/systemmodule-jms.xml</descriptor-file-name> </jms-system-resource>

8) JDBC System Resources, Targets and Descriptor file names

JDBC resources must be targeted to the Cluster <jdbc-system-resource>

Oracle Proprietary and Confidential 104

<name>XAbpmengineDS</name> <target>BPMCluster</target> <descriptor-file-name>jdbc/XAbpmengineDS-0647-jdbc.xml</descriptor-file-name> </jdbc-system-resource> <jdbc-system-resource> <name>XAFDIDS</name> <target>BPMCluster</target> <descriptor-file-name>jdbc/XAFDIDS-5279-jdbc.xml</descriptor-file-name> </jdbc-system-resource>

Analyzing jdbc\ XAFDIDS-5279-jdbc.xml The most important aspects to check are:

- Driver used must be XA - XA Transaction Timeout (if defined)

<url>jdbc:bea:oracle://vasken:1521</url> <driver-name>weblogic.jdbcx.oracle.OracleDataSource</driver-name>

<jndi-name>XAFDIDS</jndi-name> <global-transactions-protocol>TwoPhaseCommit</global-transactions-protocol> </jdbc-data-source-params>

Analyzing jdbc\ XAbpmengineDS-0647-jdbc.xml The most important aspects to check are:

- Driver used : must be XA - XA Transaction Timeout greater or equal to 300 seconds

<url>jdbc:bea:oracle://vasken:1521</url> <driver-name>weblogic.jdbcx.oracle.OracleDataSource</driver-name> <jdbc-data-source-params> <jndi-name>XAbpmengineDS</jndi-name> <global-transactions-protocol>TwoPhaseCommit</global-transactions-protocol> </jdbc-data-source-params>

Oracle Proprietary and Confidential 105

<jdbc-xa-params> <xa-transaction-timeout>300</xa-transaction-timeout> </jdbc-xa-params>

Analyzing jms\ systemmodule-jms.xml The most important aspects to check are:

- Resource Target o Factories

Subdeployment: Default Targeting Targets : to the Cluster

o Queue and Topic: Subdeployment: specific SubDeployment Targets: all JMS Servers

- Load balancing must be Enabled - Server affinity must be Disabled - Queue and Topic are Distributed

<connection-factory name="XAConnectionFactory"> <default-targeting-enabled>true</default-targeting-enabled> <jndi-name>XAConnectionFactory</jndi-name> <load-balancing-params> <load-balancing-enabled>true</load-balancing-enabled> <server-affinity-enabled>false</server-affinity-enabled> </load-balancing-params> </connection-factory> <connection-factory name="XATopicConnectionFactory"> <default-targeting-enabled>true</default-targeting-enabled> <jndi-name>XATopicConnectionFactory</jndi-name> <load-balancing-params> <load-balancing-enabled>true</load-balancing-enabled> <server-affinity-enabled>false</server-affinity-enabled> </load-balancing-params> </connection-factory> <uniform-distributed-queue name="ToDoQueue"> <sub-deployment-name>SubDeployment</sub-deployment-name> <jndi-name>queue/ToDoQueue</jndi-name> <load-balancing-policy>Round-Robin</load-balancing-policy> </uniform-distributed-queue> <uniform-distributed-topic name="NewsTopic"> <sub-deployment-name>SubDeployment</sub-deployment-name>

Oracle Proprietary and Confidential 106

<jndi-name>topic/EngineNews</jndi-name> <load-balancing-policy>Round-Robin</load-balancing-policy> </uniform-distributed-topic> </weblogic-jms>

Oracle Proprietary and Confidential 107