Clustering Guide

87
Clustering Guide BusinessManager 6.5 ® S s ® S s

Transcript of Clustering Guide

Page 1: Clustering Guide

ClusteringGuide

BusinessManager 6.5

®

Ss

®

Ss

Page 2: Clustering Guide

End User License AgreementIMPORTANT! PLEASE READ CAREFULLY. This License Agreement is a legal agreement between you and Savvion for Savvion Software Product(s) purchased hereby which include computer software and may include associated media, printed materials, and online or electronic documentation. Before installing any Savvion Software Product (the “Software”), you should carefully read the following terms and conditions. If you do not accept the terms and conditions of this License Agreement, please do not install the Software.BY INSTALLING, COPYING, OR OTHERWISE USING THE SOFTWARE, YOU ARE CONSENTING TO BE BOUND BY AND ARE BECOMING A PARTY TO THIS AGREEMENT. REDISTRIBUTION OR RENTAL NOT PERMITTED. Software Product License. The Software is protected by copyright laws and international copyright treaties, as well as other intellectual property laws. A patent for Savvion BusinessManager (SBM) is pending. The Software is licensed, not sold. This Agreement sets forth the terms and conditions of your use of the Software. License Grant. Savvion (“the Licensor”) grants you (“the Licensee”) a non-exclusive license to use the Software. Disclaimer Of Warranty. The Software is provided on an “AS IS” basis, without warranty of any kind, including without limitation the warranties that the Software is free of defects, merchantable, fit for a particular purpose, or non-infringing. This disclaimer of warranty constitutes an essential part of this License Agreement. Scope Of License Grant. The Licensee may use the Software on any single computer or server, or on a network as defined under the terms of the specific Software License(s) acquired by the Licensee for each Savvion Software Product. The Licensee may not permit other individuals to use the Software except under the terms listed above. The Licensee shall not modify, translate, reverse engineer, decompile, disassemble, or remove any proprietary notices or labels on the Software. Title. Title, ownership rights, and intellectual property rights in the Software shall remain in Savvion. Permissions. No part of this publication may be stored in a retrieval system, transmitted, translated, or reproduced in any way onto any medium, including but not limited to photocopy, photograph, microfilm, magnetic or other record, without the prior agreement and written consent of Savvion.Termination. This License Agreement and the license granted hereunder will terminate automatically if you fail to comply with the limitations described herein. Upon termination, you must destroy all copies of the Software and Documentation. Export Restriction. The Licensee acknowledges that the Software hereunder shall be subject to the Export Restriction Regulations of USA. The licensee agrees not to export the Licensed Software nor knowingly provide the same to any third party who exports or re-exports the Licensed Software, in whole or in part, directly or indirectly, to countries which are subject to Export Restrictions. Disclaimer. IN NO EVENT SHALL THE LICENSOR BE LIABLE FOR INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES WHETHER IN AN ACTION OF CONTRACT, TORT, INCLUDING NEGLIGENCE, OR OTHERWISE, OR LOSS OF DATA, USE, REVENUE OR PROFIT WHETHER OR NOT THE PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LIABILITY LIMITATION. General. This Agreement represents the complete agreement concerning the License granted hereunder and may be amended only, in whole or in part, by an addendum in writing executed by duly authorized representatives of Savvion. If any provision of this Agreement is held to be unenforceable, such provision shall be removed only to the extent necessary to make it enforceable. This Agreement shall be governed by the laws of the State of California.Third Party Software. SBM provides a modified PNGencoder from http://www.keypoint.com/. Original com.keypoint.PngEncoder is a Java class that converts Image objects to PNG byte arrays. Copyright (C) 1999 J. David Eisenberg. This library is free. You can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed for your use, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should receive a copy of the GNU Library General Public License along with this library. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.SBM includes software developed by the jfor project (http://www.jfor.org). Copyright (c) 2002 by the jfor project. All rights reserved. For more information, go to http://www.jfor.org/jfor-license.html.SBM includes a JDBC driver from Oracle for Oracle database 9i/10g. (c) Copyright 2004, Oracle Corporation. All rights reserved. Review the license terms and agreements for the JDBC driver at http://otn.oracle.com/software/tech/java/sqlj_jdbc/htdocs/jdbc9201.html. Oracle is a trademark of the Oracle Corporation.SBM includes a jConnect 5.5 driver from Sybase. Review the license terms and agreements for the driver at http://www.sybase.com. (c) Copyright 2004 Sybase Inc.SBM provides an embedded application server, evaluation version, from Pramati. Copyright © 2004 Pramati Technologies. All rights reserved. Review the copyright for Pramati app server at http://www.pramati.com/. Contact Savvion, Inc. to obtain full licenses for this application server.

The source code, object code, and documentation in the com.oreilly.servlet package are copyrighted and owned by Jason Hunter. Binary code of some servlets in this package is included in SBM. Copyright (c) 1998-2004 Jason Hunter. All rights reserved. Review the copyright and agreements at http://www.servlets.com/copyright.html.SBM includes software developed by the Apache Software Foundation (http://www.apache.org/) and therefore is subject to the terms of the Apache Software License, Version 1.1 (http://www.apache.org/LICENSE).SBM includes Mozilla Rhino JavaScript implementation in Java. See Mozilla Public License at http://www.mozilla.org/MPL/MPL-1.1.html.

Copyright (c) 1999-2006 by Savvion Incorporated, 5104 Old Ironsides Drive, Suite 205, Santa Clara, California 95054, USA.

Page 3: Clustering Guide

Table of Contents

PrefaceAudience.......................................................................................................................................................7Information on SBM Documentation.............................................................................................................8Conventions Used in this Manual .................................................................................................................9Product Support Contact Information ...........................................................................................................9

Chapter 1—IntroductionClustering Terminology ...............................................................................................................................10Designing Server Clusters.......................................................................................................................... 11

Chapter 2—Clustering in SBMWhat’s New ................................................................................................................................................13Clustering Features ....................................................................................................................................13Clustering SBM Servers .............................................................................................................................14

Load Balancing........................................................................................................................................14Failover....................................................................................................................................................14Vertical Clustering ...................................................................................................................................15

Installing Applications in Clustered Environment........................................................................................15BPM Portal Clustering ................................................................................................................................15Using BPM Studio in Clustered Environment .............................................................................................16Using Managed Adapters in Clustered Environment..................................................................................16

Chapter 3—Using the Cluster Configuration ToolStarting the Cluster Configuration Tool .......................................................................................................19

Configuration Panel.................................................................................................................................20Cluster Panel...........................................................................................................................................20Server Panel............................................................................................................................................21

Setting Up the Cluster ................................................................................................................................21EJB Cluster .............................................................................................................................................21JMS Cluster.............................................................................................................................................23

3 CLUST-DG-6502

Page 4: Clustering Guide

Web Cluster.............................................................................................................................................24Standalone Servers .................................................................................................................................26Proxy Server............................................................................................................................................27Document Server ....................................................................................................................................28

URL for the Document Server ..........................................................................................................28Viewing the XML File...............................................................................................................................29Running modifyprop Utility ......................................................................................................................29Updating the JNDI Properties File...........................................................................................................29

Running the Cluster....................................................................................................................................29Adding New and Recovered Nodes ...........................................................................................................30Editing and Deleting Nodes ........................................................................................................................30

Chapter 4—Editing the Cluster Configuration FileUnderstanding the Tags..............................................................................................................................33

General Tags ...........................................................................................................................................33<cluster-configuration> .....................................................................................................................33<domain-name>................................................................................................................................33<protocol>.........................................................................................................................................33<synchronize-time> ..........................................................................................................................33<authentication> ...............................................................................................................................34<multicast> .......................................................................................................................................34<cluster> ...........................................................................................................................................34<node>..............................................................................................................................................34

JMS Cluster Tags ....................................................................................................................................35<file-store>........................................................................................................................................35<persistence> ...................................................................................................................................35

Single Server Tags ..................................................................................................................................36Order of Tags...........................................................................................................................................36

Configuring the Cluster...............................................................................................................................37EJB Setup ...............................................................................................................................................37

Single EJB Server.............................................................................................................................37EJB Cluster .......................................................................................................................................37

JMS Setup...............................................................................................................................................38Single JMS Server ............................................................................................................................38JMS Cluster ......................................................................................................................................38JMS Cluster Persistence ..................................................................................................................38

Portal Setup.............................................................................................................................................39Single Portal Server ..........................................................................................................................39Web Cluster ......................................................................................................................................39

Proxy Server............................................................................................................................................39Document Server ....................................................................................................................................39

URL for the Document Server ..........................................................................................................40Setting the Cluster in Stages ......................................................................................................................40

EJB Cluster .............................................................................................................................................40JMS Cluster.............................................................................................................................................41Web Cluster.............................................................................................................................................41

Running the Cluster Setup .........................................................................................................................41Cluster Setup Log File.............................................................................................................................41

Adding New and Recovered Nodes ...........................................................................................................41

Clustering Guide 4

Page 5: Clustering Guide

Database Storage of Cluster Files..............................................................................................................42

Chapter 5—Configuring Pramati Application ServerBefore Clustering........................................................................................................................................43

Using Ports..............................................................................................................................................44Configuring Clusters ...................................................................................................................................45

Setting up EJB Cluster ............................................................................................................................46Setting up Web Cluster ...........................................................................................................................46

Setting Up the Cluster ................................................................................................................................46Setting up High Availability JMS Cluster .................................................................................................46

Modifying SBM Properties ..........................................................................................................................47Restoring Original Configuration .............................................................................................................47

Configuring BizPulse for Failover ...............................................................................................................48BizPulse Application Loading in a Cluster...............................................................................................48

Working with the Cluster.............................................................................................................................48Starting the Cluster..................................................................................................................................49Starting the Servers.................................................................................................................................49

Starting the BizLogic Server..............................................................................................................49Starting the BizPulse Server .............................................................................................................50

Stopping the Cluster ................................................................................................................................50Performance Tuning ...................................................................................................................................50

Chapter 6—Configuring WebLogic Application ServerBefore Clustering........................................................................................................................................53

Using Ports..............................................................................................................................................53Configuring Clusters ...................................................................................................................................55

Specifying Environment Variables ...........................................................................................................56Setting up JMS Cluster............................................................................................................................56

JMS Cluster with Standalone EJB Server.........................................................................................56JMS Cluster with EJB Cluster ...........................................................................................................57

Setting up Web Cluster ...........................................................................................................................57Setting Up the Cluster ................................................................................................................................58Modifying SBM Properties ..........................................................................................................................58

Restoring Original Configuration .............................................................................................................59Configuring BizPulse for Failover ...............................................................................................................59

BizPulse Application Loading in a Cluster...............................................................................................59Working with the Cluster.............................................................................................................................60

Starting the Cluster..................................................................................................................................60Stopping the Cluster ................................................................................................................................61

JMS Migration in a JMS Cluster .................................................................................................................62Performance Tuning ...................................................................................................................................62

Chapter 7—Configuring WebSphere Application ServerBefore Clustering........................................................................................................................................65

Using Ports..............................................................................................................................................67Configuring Clusters ...................................................................................................................................68

Setting up EJB and Portal Clusters .........................................................................................................68

Clustering Guide 5

Page 6: Clustering Guide

Configuring for QuickRules Support........................................................................................................69Setting Up the Cluster ................................................................................................................................69

Configuring Portal Load Balancing..........................................................................................................69Modifying SBM Properties ..........................................................................................................................70Configuring BizPulse for Failover ...............................................................................................................71

BizPulse Application Loading in a Cluster...............................................................................................71Working with the Cluster.............................................................................................................................71

Starting EJB and Portal Clusters .............................................................................................................71Starting IBM HTTP Server ................................................................................................................72

Starting the BizLogic Server ....................................................................................................................72Starting the BizPulse Server....................................................................................................................72Stopping the Cluster ................................................................................................................................73

Restoring Original Configuration ................................................................................................................73Working with Two-Node Clusters ...............................................................................................................74

Appendix A—BizLogic Server CommandsStarting BizLogic Server Instances.............................................................................................................76Stopping BizLogic Server Instances ...........................................................................................................77

Appendix B—BizPulse Server CommandsStarting and Stopping BizPulse Server.......................................................................................................78Starting and Stopping BizPulse Monitoring.................................................................................................79

Glossary

Index

Clustering Guide 6

Page 7: Clustering Guide

Preface

This guide is part of the documentation set for Savvion BusinessManager, version 6.5 SP2.

AudienceThe range of Savvion BusinessManager (SBM) modules creates the opportunity for four types of users, summarized in the following table:

Table 1 SBM User Types and Responsibilities

User Type ResponsibilitiesSBM User Responsible for carrying out specific business tasks using SBM applications.

Examples include:

• An office administrator submitting an online purchase request.

• HR personnel scheduling interviews for a potential hire.

• A sales representative responding to a customer request.

• An engineer reviewing a trouble ticket reported by a customer.

SBM Manager Responsible for automating business processes in a particular business domain. BPM Portal’s Management module serves as the primary interface to SBM for the SBM Manager, enabling the manager to monitor, analyze, and control business processes. Also uses the Process Modeler for modeling and simulation.

Application Developer Responsible for creating customized applications for implementing business processes and developing interfaces associated with tasks. SBM application developers may work closely with SBM business managers to define the requirements of an application, and determine the business processes.

SBM Administrator Responsible for configuring SBM components, managing user/group profiles, and administering SBM applications and utilities.

7

Page 8: Clustering Guide

Information on SBM DocumentationSBM documentation contains information for the entire range of SBM users. In the following table, we recommend the guides that are most relevant to each type of user.

Table 2 SBM Documentation

If you are the… Read the…SBM User BPM Portal User’s Guide

Quick Start GuideTerminology GuideTutorial Guide

SBM Manager BPM Portal Manager’s Guide BPM Portal User’s GuideTerminology GuideTutorial Guide

Application Developer API Reference Guide Application Developer’s GuideBizLogic Developer’s GuideBizPulse User’s GuideBizSolo User’s GuideBPM Portal Manager’s GuideBPM Portal User’s Guidea

BPM Studio User’s GuideClustering GuideCustomization GuideManaged Adapters GuideQuick Start GuideTerminology GuideTutorial GuideWeb Services Developer’s Guide

a. Demonstrates how to thoroughly test SBM applications.

SBM Administrator BizPulse User’s Guideb

BPM Portal Administrator’s GuideBPM Portal Manager’s GuideBPM Portal User’s GuideInstallation GuideManaged Adapters GuideTerminology GuideTroubleshooting Guide for Administrators

b. Refer to the sections detailing BizPulse Admin.

8 Information on SBM Documentation

Page 9: Clustering Guide

Conventions Used in this ManualThis document uses the following conventions and terminology notations.

Product Support Contact InformationIf the product documentation does not provide a solution to your specific issue, or if you need clarification on the issue, please contact the Savvion Product Support Team. You can contact the team through the Internet, e-mail, telephone, or by postal mail, as provided in Table 4.

To enable us to quickly answer your questions, please have the following information available:

• Your name, installation site address and the license key for Savvion software.

• Your SBM version and build number.

• Your operating system, application server and browser, with version and service pack details, if any.

• Your database management system and version, and information on JVM and JDBC used.

This contact information is for customer support ONLY.

Table 3 Conventions in this Manual

Convention Purposebold Indicates titles of command buttons, check boxes, options, lists, dialog

boxes and portal page names.

bold italic Represents notes that alert you on specific SBM elements and similar advisory information.

italic Indicates directory paths, file names and book titles.

monospace Represents code segments or examples.

backward slash “\” Indicates the path in Windows environment. For UNIX environment, replace with forward slash “/”

SBM_HOME or %SBM_HOME% Represents the installation directory of SBM.

Table 4 Savvion BusinessManager Product Support Team Contact Information

To contact by... Use...Web Site http://www.savvion.com/support/

If you are a first time user, you can send an e-mail to Product Support and request them to provide you with a user name and password to access this site.

If you are already a customer, you can also access SBM discussion groups at:http://www.savvion.com/support/tsgsupport/discus/

E-mail [email protected]

Telephone 1-877-SAVVION in the United States or 1-408-330-3000 for local calls

408-330-3111 for international calls

1-408-330-3444 for the Product Support Fax Line

Postal Address Savvion BusinessManager Product Support Team

5104 Old Ironsides Drive, Suite 205

Santa Clara, CA 95054

USA

9 Conventions Used in this Manual

Page 10: Clustering Guide

Chapter 1

Introduction

Clustering involves grouping independent nodes together to work as a single system that allows shared processing. A cluster is a loosely coupled group of nodes collaborating to provide shared access to the services that each node hosts. To the other systems, or to the other components of the same system, the cluster appears as a single system.

The objectives of clustering are:

• Providing high availability by balancing resource requests.

• Ensuring reliability through reduced system failure, by managing failover.

• Offering scalability by allowing dynamic addition of resources to improve performance.

Together, a clustered system provides higher availability, increased reliability, and greater scalability than each node can provide independently.

Clustering TerminologySome important clustering terminology is explained below.

Node. Refers to the individual system that is part of a cluster. Each node in the cluster will have its own local resources. However, the cluster also has common resources, such as a common data storage. These common resources are accessible to each node in the cluster.

Load Balancing. Is the ability to switch between the locations where similar requests are handled. For example, a request for a database connection might be handled on any one of four different servers in a cluster. Deciding which server handles the request depends on the load-balancing logic.

Availability. Refers to the quality of the system's response to process a request, denoting the amount of time that an application or system is available to perform work. Availability is typically measured in percentage uptime.

High Availability. Is defined as support to backup services in case of a system or node failure. A system with high availability uses load balancing so that all requests are routed to one or more preferred servers until one of the servers becomes unavailable, and then routed to another server that is still operational.

10

Page 11: Clustering Guide

Failover. Is the ability for a request that is being serviced, to have a high availability switchover to another node without disruption of the service. A successful failover means to transfer the service without any intervention by client or manual process.

Scalability. Denotes capability of a system to scale up to provide sustained system availability and throughput, without unacceptable degradation under increase in load. The increase in load could be due to increase in the number of users accessing the application, or in the volume or size of user transactions or actions.

Reliability. Is the ability of a system to perform its required functions and sustain a requested service under stated conditions for a specified period of time.

Horizontal Cluster. This refers to multiple installations of SBM, each hosting a cluster node, running in the same physical machine or multiple machines, but are part of the same cluster and runs homogeneously.

Vertical Cluster. This refers to a single installation of SBM hosting multple cluster nodes, running in the same physical machine. A vertical cluster could be part of a horizontal cluster that is, a cluster having three nodes could have two nodes running in the same machine (vertical cluster) and the third node in a different machine (horizontal cluster).

For more definitions, see the Glossary on page 80 of this guide. For a fuller listing of SBM terminology, see the Terminology Guide in the SBM_HOME\docs folder.

Designing Server ClustersThe cluster design depends on several factors such as:

• Extent of high availability needs

• Users, and the volume of the user transactions

• Network design and capacity

• Database design and dependencies

• Systems management

If the load requirements are unpredictable, more servers are needed in the configuration to ensure high availability and good performance at all times. On the other hand, if the risk of failure is high, along with the possibility of multiple failures, then more servers are required to be available for failover.

Clustering Guide 11 Designing Server Clusters

Page 12: Clustering Guide

The design process is explained in the following diagram.

Figure 1 Cluster Design

Clustering Guide 12 Designing Server Clusters

Page 13: Clustering Guide

Chapter 2

Clustering in SBM

This chapter lists the new Clustering functions introduced in SBM 6.5 SP2, and describes the basic Clustering features.

What’s NewSBM provides the following new features for clustering:

• Support for High Availability JMS with Pramati Cluster

• Ability to refresh configuration parameters across all nodes

• Support for Vertical Clustering

Clustering FeaturesSBM continues to support the following clustering features:

• Load balancing and Failover

• Automatic clustering

o XML based cluster configuring. For more information, refer to Editing the Cluster Configuration File on page 32.

• Support to different application server:

o Pramati

o WebLogic

o WebSphere

For more information, refer to Configuring Pramati Application Server on page 43, Configuring WebLogic Application Server on page 52, and Configuring WebSphere Application Server on page 64.

NOTE: On cluster, SBM Server as a Windows service is not supported.

13

Page 14: Clustering Guide

Clustering SBM ServersIn SBM, server clustering is used for Load Balancing and for Failover. This section describes how the servers are configured. The following figure shows a setup with three nodes in a cluster.

Figure 2 Clustering SBM Servers

Load Balancing

Large-scale business solutions require that the system is scalable to meet the performance and throughput demands with increase in workload. SBM employs load balancing to meet these demands.

In Figure 2, the client sees the cluster as a single SBM setup. All three nodes have a common database. The requests sent by the client are shared by the three nodes.

In case of BizLogic server load balancing, a group of application server clusters work as a single system sharing the load.

Note: BizLogic/BizPulse Web Services API and Process Repository are not supported in the clustered environment.

Failover

Large organizations focus on high availability of their systems, where the system must be configurable to support backup services in case of infrastructure component failure.

The setup shown in Figure 2 represents three nodes, where only one node is always active. When the active node fails, one of the remaining nodes takes over, assuring failover.

BizPulse is clustered for failover to ensure high availability.

Clustering Guide 14 Clustering SBM Servers

Page 15: Clustering Guide

Vertical Clustering

SBM also provides support for vertical clustering, where a single SBM installation may host more than one node. This is achieved transparently and without any parameter or configuration changes. Log information for individual nodes is recorded in separate log files. Each component log file name would be appended with “_<nodeName>”. For example, if the nodes in vertical cluster are node1 and node2 then, bizlogic.log would be bizlogic_node1.log and bizlogic_node2.log.

Installing Applications in Clustered EnvironmentFor installing applications in a clustered environment, we recommend that you use BPM Studio. The BPM Studio will automatically deploy applications to every node in the cluster. For more information, see Using BPM Studio in Clustered Environment on page 16.

If you want to use the BPM Portal to install applications, first you need to manually copy the application directory to the SBM directory and the application server web directory of each node in the cluster. Then you can install single or multiple applications from the BPM Portal Administration module.

For example, if you want to install the Hiring application, first you need to copy the Hiring directory to SBM_HOME\ebmsapps and SBM_HOME\pramati\server\nodes\portalServer\archives\public_html\sbm\ebmsapps (in case of Pramati application server). Then you can login to the BPM Portal, go to the Administration module, and install the application Hiring.

Note: In the clustered environment, we recommend user management realms other than PAKRealm.

BPM Portal ClusteringIn SBM architecture, the Web container, or the Portal server is a run-time environment for SBM, JSPs, and servlets. SBM Portal servers (Web containers), are clustered mainly for load balancing to obtain high scalability and required performance.

BPM Portal clustering refers to configuring the Portal servers in a cluster for load balancing and for failover. In this configuration, a single proxy server provides the load balancing and failover. This proxy server is referred as the Web Load Balancer Node.

Typically, the users from different browser instances log in to the SBM using a single URL that actually points to the proxy Portal server. The proxy server then directs the request to any node in the cluster. Hence, a physical copy of the installed SBM applications must be available in all the nodes.

When you install an application in the clustered environment, it creates the application files on any one node in the cluster. You need to copy them from the node where it got installed, to all the other nodes in the cluster. After the application is copied to all the nodes, it is available in the BizLogic/BizSolo Applications list, when the request is served by any one of the nodes.

Note: You can avoid copying the files manually by using the BPM Studio. Refer to Using BPM Studio in Clustered Environment on page 16 for more information.

Clustering Guide 15 Installing Applications in Clustered Environment

Page 16: Clustering Guide

In case of Balanced Scorecard Designer, the actual design is carried out from the BPM Portal, and the new application may get saved in any one node in the cluster. You must ensure that the physical copies of the application are available in all the nodes before installing the application. When you actually install the new Balanced Scorecard application, you need to copy the installed application from the node where it got installed, to all the other nodes in the cluster, similar to other BizLogic/ BizSolo applications.

Similarly, publishing applications/worksteps as web services generates WSDL files on one of the nodes. You need to copy these files to all nodes to make web services run in the clustered environment.

Using BPM Studio in Clustered EnvironmentYou can use BPM Studio to deploy an application to a cluster of machines. If, for example, you have a cluster of three machines—server1, server2 and server3, deploy an application to this cluster by performing the following steps:

1. Navigate to the file BPMStudio_HOME\conf\DesignerDeployment.xml.

2. Edit the Deployment element by adding a Target element, as shown in the following example.<Deployment> <Target> <Label>Cluster</Label> <Description>Clustered SBM environment</Description>

<Server url="http://server1.savvion.com:8181/sbm/deployment"/><Server url="http://server2.savvion.com:8181/sbm/deployment"/><Server url="http://server3.savvion.com:8181/sbm/deployment"/>

</Target></Deployment>

If required, you can add multiple Target elements to the Deployment element.

3. Navigate to BPM Studio and click Project > Deploy, opening the Deployment Wizard (for more information, see the BPM Studio User’s Guide).

4. Select Cluster (the Label in the code sample in Step 2), which is now in the Server drop-down list of available deployment targets. If you have added other Target elements to the Deployment element, the label of these targets will also appear in the Server drop-down list.

5. Deploy as usual (see the steps in the “Deploying an Application on an SBM Server” section in the BPM Studio User’s Guide) and the application will be available on each machine in the Cluster.

Using Managed Adapters in Clustered EnvironmentSavvion's Managed Adapters act as a translating module that converts the SBM-specific protocol to another application-specific protocol. In SBM, a Managed Adapter is a pluggable component that connects SBM to an external system such as database and ERP system, or performs its own function of data transformation. Part of the functions related to the operation of the managed adapters (such as adapter configuration, input/output mapping) are handled by standardized SBM components, simplifying the development process of such adapters.

Clustering Guide 16 Using BPM Studio in Clustered Environment

Page 17: Clustering Guide

Currently, Savvion offers nine Managed Adapters: J-Integra Excel Adapter, Database Adapter, iWay Adapter, File Adapter, Email Adapter, FTP Adapter , JMS Adapter, QuickRules Adapter and Web Service Adapter. When using a managed adapter in a clustered environment, you must ensure that all the files required for the work of the adapter are present in all the cluster nodes. These issues are described for the various managed adapters in the following section.

• A J-Integra Excel Adapter requires a temporary directory to store its work files. You can specify this directory through the Excel Adapter Configurator (for more information, see Chapter 3 in the Managed Adapters Guide). This temporary directory must be present on all the cluster nodes.

• If you configured the J-Integra Excel Adapter to use a static Workbook file (as opposed to obtaining the Workbook from a Document dataslot), make sure the Workbook is present at the same location on all the cluster nodes.

• For iWay Adapters, the SBM_HOME\Schema directory and the Dictionary file must be available on each of the cluster nodes at the same location.

• The adapter jar and other jar files that the iWay Adapter needs, must be in the server classpath for each node in the cluster. For example, if you are using the iWay RDBMS Adapter, include the iwrdbms.jar and any related database drivers in the server classpath on all the nodes.

Clustering Guide 17 Using Managed Adapters in Clustered Environment

Page 18: Clustering Guide

Chapter 3

Using the Cluster Configuration Tool

The Cluster Configuration Tool is a quick way of configuring the SBM cluster by providing the required system details and running the cluster setup directly from the Tool after it validates the settings. The cluster configuration is specified for the EJB cluster, JMS cluster, Web cluster, or any combination of these.

The Cluster Configuration Tool works in environments that support graphics, and procedures for using this tool are covered in this chapter. For environments that do not support graphics, the file sbm-cluster.xml can be edited manually as described in Editing the Cluster Configuration File on page 32.

The remaining chapters of this guide describe procedures for individual application servers providing advanced information, and you may require to refer to them.

18

Page 19: Clustering Guide

Starting the Cluster Configuration ToolTo start the Cluster Configuration Tool, go to SBM_HOME\cluster\bin and run setupcluster.bat|sh. The following figure shows the Cluster Configuration Tool screen for a fresh SBM installation.

Figure 3 Cluster Configuration Tool Interface

In the left pane, the top node SBM Cluster Configuration displays the application server details.The Cluster Configuration Tool automatically detects and displays the application server and its relevant details. For example, the above figure shows the application server as pramati, and displays its version and protocol. If the application server is WebLogic, the tool will additionally display WebLogic domain and location.

The Cluster Configuration Tool has the following tabs:

• Setup: This tab shows the configuration panel, Cluster panel, and the Server panel. These are described in detail in the following sections.

• View XML: This tab displays the generated XML file after the setup configuration is verified.

• Run: This tab displays the log messages when the cluster is being deployed.

Depending on the selection in the left pane, the right pane displays different panels - Configuration panel, Cluster panel, and Server panel.

Clustering Guide 19 Starting the Cluster Configuration Tool

Page 20: Clustering Guide

Configuration Panel

In the left pane, click the Clusters node or the Standalone Servers node. The Configuration panel is displayed in the right pane as shown in the following figure.

Figure 4 Configuration Panel

The Configuration panel displays links to the clusters or servers available as an alternative way of navigation.

Cluster Panel

In the left pane, click the Clusters node, and then click any cluster. Click any existing node, or click Add Node to display the Cluster panel in the right pane as shown in the following figure.

Figure 5 Cluster Panel

The Cluster panel displays information about the selected cluster.

Clustering Guide 20 Starting the Cluster Configuration Tool

Page 21: Clustering Guide

Server Panel

In the left pane, click on the Standalone Servers node, and then click any server. The Server panel is displayed in the right pane as shown in the following figure.

Figure 6 Server Panel

The Server panel displays information about the selected server. Note that EJB, JMS and Portal (Web) servers can be standalone or in cluster. If you have chosen a cluster for any of them, then the standalone server is disabled.

Note: The document server is required in case of Web cluster.

Setting Up the ClusterThis section describes setting up the EJB, JMS, and Web clusters.

EJB Cluster

In your SBM setup, you can have either a single EJB server, or a cluster of EJB servers.

To set up the EJB cluster, carry out the following steps:

1. In the left pane, under the node SBM Cluster Configuration, click Clusters.

Clustering Guide 21 Setting Up the Cluster

Page 22: Clustering Guide

2. Under the Clusters node, click EJB to display the EJB cluster setup as shown in the following figure.

Figure 7 Setting EJB Cluster

3. In the Cluster panel, click Add Node to display the node information as shown in the following figure.

Figure 8 EJB Cluster- Adding node

4. Specify Name for the node, which should be unique. We recommend that you do not use the character “.” in the node name to avoid any cluster start problems.

5. Specify the IP Address, HTTP Port and JNDI Port on which the node listens.

6. Enter the location of SBM Home, which is the installation directory of SBM.

Clustering Guide 22 Setting Up the Cluster

Page 23: Clustering Guide

7. Click Add to add the node to the EJB cluster.Click Add & Continue to add more nodes.Click Cancel to go back to the previous screen.

8. Click Save to save the configuration.

JMS Cluster

In your SBM setup, you can have either a single JMS server, or a cluster of JMS servers.

To set up the JMS cluster, carry out the following steps:

1. In the left pane, under the node SBM Cluster Configuration, click Clusters.

2. Under the Clusters node, click JMS to display the JMS cluster setup as shown in the following figure.

Figure 9 Setting JMS Cluster

Clustering Guide 23 Setting Up the Cluster

Page 24: Clustering Guide

3. In the Cluster panel, click Add Node to display node information as shown in the following figure.

Figure 10 JMS Cluster- Adding node

4. Specify Name for the node, which should be unique. We recommend that you do not use the character “.” in the node name to avoid any cluster start problems.

5. Specify the IP Address and JNDI Port on which the node listens.

6. Enter the location of SBM Home, which is the installation directory of SBM.

7. Name the Target Node.

8. Click Add to add the node to the JMS cluster.Click Add & Continue to add more nodes.Click Cancel to go back to the previous screen.

9. Click Save to save the configuration.

Web Cluster

In your SBM setup, you can have either a single Portal server, or a Web cluster of Portal servers.

To set up the Web cluster carry out the following steps:

1. In the left pane, under the node SBM Cluster Configuration, click Clusters.

Clustering Guide 24 Setting Up the Cluster

Page 25: Clustering Guide

2. Under the Clusters node, click Web to display the Web cluster setup as shown in the following figure.

Figure 11 Setting Web Cluster

3. In the Cluster panel, click Add Node to display node information as shown in the following figure.

Figure 12 Web Cluster- Adding node

4. Specify Name for the node, which should be unique. We recommend that you do not use the character “.” in the node name to avoid any cluster start problems.

5. Specify the IP Address, HTTP Port and JNDI Port on which the node listens.

6. Enter the location of SBM Home, which is the installation directory of SBM.

7. Click Add to add the node to the Web cluster.Click Add & Continue to add more nodes.Click Cancel to go back to the previous screen.

Clustering Guide 25 Setting Up the Cluster

Page 26: Clustering Guide

8. Click Save to save the configuration.

Note: For Pramati Web cluster, you need to manually update the files <SBM_HOME>\pramati\server\nodes\portalServer\config\server-config.xml and <SBM_HOME>\pramati\server\nodes\portalServer\config\qos-config.xml with the port numbers specified in the file sbm-cluster.xml.

For Pramati Web cluster vertical clustering is not supported.

Standalone Servers

In your SBM setup, you can have either clusters of EJB/JMS/Portal servers, or standalone single servers. The following procedure describes the configuration of the standalone servers.

1. In the left pane, under the node SBM Cluster Configuration, click Standalone Servers.

2. In the Server panel, click the server you want to configure, to display its information as shown in the following figure.

Figure 13 Setting Standalone Servers

3. Specify Name for the server, which should be unique.

NOTE: The names of the Standalone EJB and Portal servers must be ejbServer and portalServer respectively.

4. Specify other information.

5. Click Save to save the configuration.

Note: If a single EJB server is specified, then it uses the embedded JMS server, and an additional JMS server should not be created. SBM validates that the EJB server and JMS server are identical in name, address, and jndi-port number.

Clustering Guide 26 Setting Up the Cluster

Page 27: Clustering Guide

Proxy Server

A proxy server is required with a Web cluster. When a Web cluster is set up, the external clients send their request to the proxy server. Then, it is the proxy server that routes the request to one of the servers in the Web cluster. Therefore the proxy server configuration is essential with the Web cluster.

The proxy server is provided as a plugin by the application server vendor and is different for different Web servers. For installation of plugin in Web servers, refer to the vendor specific documentation.

If you are using WebLogic as httpserver, then it already includes the plugin and the cluster setup utility configures the proxy server.

A proxy server need not always be a new server instance. In case of WebSphere, the IBM HTTP Server is used as a proxy server. In case of Pramati and WebLogic, a new server instance is created.

The following procedure describes the configuration of the Proxy server.

1. In the left pane, under the node SBM Cluster Configuration, click Standalone Servers.

2. In the Server panel, click Proxy Server to display its information as shown in the following figure.

Figure 14 Setting Proxy Server

3. Specify Name for the server, which should be unique.

4. Specify the IP Address and HTTP Port on which the server listens.

5. Click Save to save the configuration.

Clustering Guide 27 Setting Up the Cluster

Page 28: Clustering Guide

Document Server

The Document server in SBM that deals with the documents related to the Document dataslots also needs to be configured.

In case of the Web cluster, the documents must be stored on a shared drive so that all nodes can access this location.

The document location properties are also modified in the files sbm.conf and designer.conf when the modifyprop.bat utility is run.

Note: The document server is required in case of Web cluster.

The following procedure describes the configuration of the Document server.

1. In the left pane, under the node SBM Cluster Configuration, click Standalone Servers.

2. In the Server panel, click Document Server to display its information as shown in the following figure.

Figure 15 Setting Document Server

3. Specify Name for the server, which should be unique.

4. Specify the URL and the Document Location of the server. Click Browse to search the location.

5. Click Save to save the configuration.

URL for the Document Server

The URL for the Document server depends on whether a single Portal server has been configured or a Web cluster.

For a single Portal server, the Document server URL is the same as the URL of the single Portal server.

Clustering Guide 28 Setting Up the Cluster

Page 29: Clustering Guide

For a Web cluster, if there is a drive controller in Windows using RAID controller or a shared drive on UNIX, then the document server URL can be specified as the proxy server URL. This will provide failover.

SBM validates if the Document server URL is same as the Proxy server URL and also if the document location is specified for the Document server. If validation fails, an exception is thrown. The validation can be disabled by setting the system property sbm.cluster.extdocserver to True in the file SBM_HOME\cluster\conf\sbmclusterprops.xml.

Viewing the XML File

Click the View XML tab to view the saved XML file.

Running modifyprop Utility

Verify that SBM is installed on all machines, and the individual application servers are set up. You can modify the SBM configuration files appropriately using the modifyprop utility. Refer to the section, Modifying SBM Properties for individual application servers.

Updating the JNDI Properties File

After setting up the cluster, you need to manually update the property java.naming.provider.url in the file JNDIProperties.properties with the EJB cluster URL. This file needs to be updated in all the nodes of the portal cluster.

This file is located in the following directories

• Pramati application server:

SBM_HOME\pramati\server\nodes\portalServer\archives\public_html\quickrules-bui\WEB-INF

• WebLogic application server:

BEA_HOME\user_projects\domains\%SBMDOMAIN%\applications\quickrules-bui\WEB-INF

• WebSphere application server:

WEBSPHERE_HOME\AppServer\profiles\%PROFILE%\installedApps\%CELL%\quickrules_war.ear\quickrules.war\WEB-INF

WEBSPHERE_HOME\AppServer\profiles\%PROFILE%\config\cells\%CELL%\applications\quickrules_war.ear\deployments\quickrules_war\quickrules.war\WEB-INF

Running the ClusterClick the Run tab, and click Run Setup. The trace messages are displayed. You can click Clear Messages to remove the trace messages. After clicking Run Setup, refer to the <SBM_HOME>\cluster\logs\clustersetup.log file; when you see the cluster setup completed message, you can exit the Cluster Configuration Tool.

Note: Once you have set up cluster using the Cluster Tool, you need not go through the remaining chapters of this guide.

Clustering Guide 29 Running the Cluster

Page 30: Clustering Guide

Adding New and Recovered NodesIn case of failure of any cluster node or addition of new nodes to the existing cluster, you will need to reconfigure the cluster and synchronize it with the cluster already running. Note that while reconfiguring, you need not stop the existing cluster.

1. Fix the problem on the crashed node and restart the machine. Alternately, if it is a new node, verify that SBM is installed on that machine, and the configuration files are appropriately modified using the modifyprop utility. Refer to the section, Modifying SBM Properties of the individual application server.

2. Start the application server node as required for the individual application server and verify that it is started properly.

3. From SBM_HOME\bin, run the command:addBizLogicNodes -u <user> -p <password> -nc <count>

Where count is the number of new nodes to be added.

This will synchronize the BizLogic server on the new node.

4. For BizPulse, when you add a new node, you need to start BizPulse monitoring on that node for failover. Refer to Starting and Stopping BizPulse Monitoring on page 79 for related procedures.

Note: BizPulse runs in a failover configuration and need not be re-synchronized.

Editing and Deleting NodesYou can modify node configuration to accommodate system changes after the cluster configuration.

1. Click any node to display its configuration as shown in the following figure.

Figure 16 Editing Node Configuration

Clustering Guide 30 Adding New and Recovered Nodes

Page 31: Clustering Guide

2. Click Edit to modify the contents as shown in the following figure.

Figure 17 Updating Node Configuration

3. Make changes as necessary.

4. Click Update to save the changes.Click Cancel to go back to the previous screen.

5. In Figure 16, click Delete to remove the node from the cluster. When the last node in a cluster is deleted, the cluster no longer exists.

Clustering Guide 31 Editing and Deleting Nodes

Page 32: Clustering Guide

Chapter 4

Editing the Cluster Configuration File

The Cluster Configuration Tool works in environments that support graphics. If you are using an environment that supports graphics, we recommend you use the Cluster Configuration Tool for configuration as described in Using the Cluster Configuration Tool on page 18.

For environments that do not support graphics, you can manually edit the cluster configuration file sbm-cluster.xml to provide the cluster details.

The remaining chapters of this guide describe procedures for individual application servers providing advanced information, and you may require to refer to them.

Note: You can specify a custom file name to the cluster configuration file other than sbm-cluster.xml while ensuring that the file conforms to sbm-cluster.dtd. If no custom file name is specified, the default name sbm-cluster.xml is used.

The cluster configuration is specified in an XML file placed in SBM_HOME\cluster\conf. Using this configuration file, you can specify the EJB cluster, JMS cluster, Web cluster, or any combination of these.

Clustering in SBM has the following common prerequisites:

• Each node should have a static IP address.

• Standalone EJB and Portal servers must not be running.

• Machines and port numbers must be selected after proper planning.

For clustering with Pramati application servers, refer to Configuring Pramati Application Server on page 43.

For clustering with WebLogic application servers, refer to Configuring WebLogic Application Server on page 52.

For clustering with WebSphere application servers, refer to Configuring WebSphere Application Server on page 64.

32

Page 33: Clustering Guide

Understanding the TagsThe different tags used in the configuration file sbm-cluster.xml are explained in the following sections.

General Tags

The configuration file uses the following general tags.

<cluster-configuration>

This is the main tag in the configuration file.

Attributes:

• appserver: This is the name of the application server. For example, Pramati.

• appversion: This is the version of the application server.

<domain-name>

This is an optional tag for Pramati. This is a mandatory tag for WebLogic.

Specify the domain name with which SBM is installed under WebLogic in the file SBM_HOME\cluster\conf\sbm-cluster.xml.

Note: The domain name is case sensitive.

Along with the domain-name, you need to specify the location, which is the absolute path of the directory under which your SBM is installed in WebLogic. For example,

<domain-name location="C:\bea\user_projects\domains\sbm50">sbm50</domain-name>

<protocol>

A <cluster-configuration> has a protocol that is required to communicate to the application server and create the URLs for lookup. For example t3:// for WebLogic.

The protocol can be overridden for an individual <cluster> by defining it within the cluster. For example, in case of a Web cluster which uses HTTPS connection, it will look as follows:

<cluster name="WebCluster" type="web"> <protocol>https://</protocol>

...

This tag is optional.

<synchronize-time>

A <cluster-configuration> has a <synchronize-time> tag that is required for synchronizing the time of all the node machines in the cluster. In this tag, the node attribute should have the name of the node, which is taken as the reference and all the other nodes’ time is synchronized with the reference node.

Clustering Guide 33 Understanding the Tags

Page 34: Clustering Guide

The cluster nodes are synchronized with the target node time only during the cluster setup. Any exception during the synchronization of node time will be ignored and the cluster setup will continue.

Note: This tag is supported only for Windows and Solaris operating systems.

Any errors during synchronization are ignored and the cluster setup is continued. Note that the utility does not log any errors outside its control. You can also use third-party tools for synchronizing time.

<authentication>

A <cluster-configuration> has an <authentication> tag that provides the user name and password to connect to the application server for the cluster setup. The user name and password should have administration rights. For example, system/wlsysadmin can be used for WebLogic and root/pramati can be used for Pramati.

<multicast>

IP multicast is a simple broadcast technology that enables multiple applications to "subscribe" to a given IP address and port number and listen for messages. A multicast address is an IP address in the range from 224.0.0.0 to 239.255.255.255.

The cluster requires a <multicast> tag for WebLogic that corresponds to the multicast address. It has a port attribute that has the multicast port number.

Note: The multicast address or port should be different for each application cluster. An Application cluster may include EJB cluster, JMS cluster and Web cluster types. This is important if more than one application cluster runs in the same intranet.

<cluster>

A <cluster-configuration> can have multiple <cluster> tags corresponding to each cluster to be set up, for example, one for EJB cluster, one for JMS cluster and one for Web cluster. There could be only one cluster defined for a type. Each cluster will have more than one node defined under the <nodes> tag. The <nodes> tag has as many <node> tags as the number of nodes in the cluster.

Attributes:

• name: This is the unique name of the cluster.

NOTE: Cluster name should not contain spaces or special characters that are not allowed by the underlying operating system.

• type: This is the type of cluster. Valid types are ejb, jms and web.

<node>

This represents a node in the cluster. It has a single attribute:

• name: The unique name of the node. It may be same as the host name, or different from the host name.

Clustering Guide 34 Understanding the Tags

Page 35: Clustering Guide

A node is characterized by the following:

• <address>: This is the IP address of the node or its host name.

• <jndi-port>: This is the JNDI port on which the node listens. Normally the naming service runs on this port. This tag is valid for EJB, JMS and WEB nodes.

• <http-port>: This is the HTTP port on which the node listens. This tag is valid for EJB, WEB and PROXY server.

• <sbm-home>: This is the location where SBM is installed in the cluster nodes.

The cluster utility creates a server instance for each node with the server name as the node name. For example, in case of WebLogic, two servers will be created with the name ejb1 and ejb2 for the following configuration:

<cluster name="ejb_cluster" type="ejb" ><nodes>

<node name="ejb1">. . .

</node><node name="ejb2">

. . .</node>

</nodes></cluster>

Note: We recommend that you do not use the character “.” in the node name to avoid any cluster start problems.

JMS Cluster Tags

The JMS cluster can have either file store or the database store for persistence. Depending on the store, different tags need to be defined.

<file-store>

In case of file store, a <file-store> tag needs to be defined for each node in the JMS cluster. This will have the absolute path of the file to be used as the store. In case of file store, if one node of the JMS cluster goes down, then the migration of messages has to be done manually.

<persistence>

This tag is used for the JMS cluster setup if the cluster uses database store. Application servers such as Pramati also require persistence for all clusters.

Persistence is characterized by the following:

• <url>: The database URL.

• <driver>: The fully qualified class name of the database driver.

• <user>: Database user name.

Clustering Guide 35 Understanding the Tags

Page 36: Clustering Guide

• <password>: The password for the above user.

• <provider>: The database used: for example, oracle, db2.

• <databasename>: Name of the database: for example, db2.

• <connection-pool-name>: Name of the connection pool defined in the appserver, required only for WebLogic JMS cluster database persistence.

For application servers like Pramati, if all the clusters (EJB, JMS and Web) use the same database, then similar persistence information needs to be replicated for each cluster. But keeping the persistence with each cluster provides the flexibility to have a different database or the same database but different users for different clusters. For example, the JMS and EJB clusters might use different databases.

Single Server Tags

You may have to set up an EJB cluster, but not JMS cluster and Web cluster. In this scenario, the single servers can be defined in the configuration file as <jmsserver> and <portalserver> respectively for JMS and Portal single server. Both of them have a name attribute that is the unique name for the server. They also have the elements <address>, <jndi-port>, and <http-port> for the IP address/host name and the port on which the server listens.

While using a single server, the name of the server should be as follows:

• For JMS server: jmsServer

• For Portal server: portalServer

• For Admin server: adminServer

Note that adminServer, ejbServer, and portalServer should be valid active server instances which should already exist before the cluster setup is started.

Also note that jmsServer and documentServer are the logical references pointing to a valid active WebLogic server instance.

The proxyServer is a server instance created by the cluster utility. The port specified for proxyServer should be unique; that is, it should not conflict with any of the running servers’ ports in the cluster.

Note: For a particular type (JMS/Web) there can either be a single server or a cluster, however, both single server and cluster for the same type cannot exist together.

Order of Tags

Ensure that the order of tags in the file sbm-cluster.xml is the same as defined in the file sbm-cluster.dtd. If the sequence is not the same as defined in the DTD file, then while starting the cluster setup, you will get the following exception:

java.io.IOException: IO error: The content of element type "cluster-configuration" must match "(domain-name?,protocol?,synchronize-time?,authentication?,multicast?,cluster+,adminserver?,proxyserver?,documentserver?,ejbserver?,portalserver?,jmsserver?,deploy?)"

Clustering Guide 36 Understanding the Tags

Page 37: Clustering Guide

The order of the elements as defined in the DTD file is as follows:

<!ELEMENT cluster-configuration (domain-name?, protocol?, synchronize-time?, authentication?, multicast?, cluster+, adminserver?, proxyserver?, documentserver?, ejbserver?,portalserver?, jmsserver?, deploy?)>

If you want to set up both EJB and JMS clusters, then definitions of both the clusters should come at the top after the multicast element.

Configuring the ClusterThis section lists information needed for different cluster setups.

EJB Setup

In your SBM setup, you can have either a single EJB server, or a cluster of EJB servers.

Note: If a single EJB server is specified, then it uses the embedded JMS server, and an additional JMS server should not be created. SBM validates that the EJB server and JMS server are identical in name, address, and jndi-port number.

Single EJB Server

Single EJB server is specified with the help of the <ejbserver> element. The name attribute holds the unique name of the EJB server. The IP address and the port on which the server listens are specified with the help of the <address> and <jndi-port> elements under the <ejbserver>.

Note: If a single EJB server is specified, then an EJB cluster cannot be specified and vice versa.

EJB Cluster

For an EJB cluster, you need to provide the following information:

• The name attribute of <cluster> element should contain a unique name for the EJB cluster.

• The type attribute of the <cluster> element should be "ejb".

• For each ejb node in the cluster, specify a <node> element under the <nodes> in <cluster>.

• The name attribute of the <node> will contain the unique name of the ejb node. The IP address of the EJB node and the port on which it listens are specified with the <address> and <jndi-port> elements under the <node>.

Note: For any validation related to the EJB cluster, SBM refers to the attribute if-cluster-type in the file SBM_HOME\cluster\conf\sbm-properties.xml.

Clustering Guide 37 Configuring the Cluster

Page 38: Clustering Guide

JMS Setup

In your SBM setup, you can have either a single JMS server, or a cluster of JMS servers.

Note: If a single EJB server is specified, then it uses the embedded JMS server, and an additional JMS server should not be created. SBM validates that the EJB server and JMS server are identical in name, address, and jndi-port number.

Single JMS Server

Single JMS server is specified with the help of the <jmsserver> element. The name attribute holds the unique name of the JMS server. The IP address and the port on which the server listens are specified with the help of the <address> and <jndi-port> elements under the <jmsserver>.

Note: If a single JMS server is specified, then a JMS cluster cannot be specified and vice versa.

JMS Cluster

For a JMS cluster, you need to provide the following information:

• The name attribute of <cluster> element should contain a unique name for the JMS cluster.

• The type attribute of the <cluster> element should be "jms".

• The store attribute of the <cluster> element should be "db" for database persistence or "file" for file persistence.

• For each JMS server in the cluster, specify a <node> element under the <nodes> in <cluster>.

• The name attribute of the <node> will contain the unique name of the JMS server. The IP address of the JMS server and the port on which it listens have to be specified with the <address> and <jndi-port> elements under the <node>.

• The target of the JMS server specified under <target-node> should be any server instance. The tag <target-node> is required only for WebLogic JMS cluster.

• If file persistence is used, then a <file-store> is to be specified under each <node> that will contain the absolute path to the file that is to be used as the store.

• If database persistence is used, then a single <persistence> tag needs to be defined under the <cluster>.

JMS Cluster Persistence

The persistence properties are defined with the help of <persistence> element under the <cluster> element. You need to provide the values for the provider, url, driver, user name, password and name of the connection pool such as SBMCommonDBPool.

Clustering Guide 38 Configuring the Cluster

Page 39: Clustering Guide

Portal Setup

In your SBM setup, you can have either a single Portal server, or a Web cluster of Portal servers.

Single Portal Server

A single Portal server is specified with the help of the <portalserver> element. The name attribute holds the unique name of the Portal server. The IP address and the port on which the server listens are specified with the help of the <address> and <http-port> elements under the <portalserver>.

Note: If a single Portal server is specified, then a Web cluster cannot be specified and vice versa.

Web Cluster

For a Web cluster, you need to provide the following information:

• The name attribute of <cluster> element should hold a unique name for the Web cluster.

• The type attribute of the <cluster> element should be "web".

• For each Web server in the cluster, specify a <node> element under the <nodes> in <cluster>.

• The name attribute of the <node> will contain the unique name of the Web server. The IP address of the Web server and the port on which it listens have to be specified with the <address> and <http-port> elements under the <node>.

Proxy Server

A proxy server is required with a Web cluster. When a Web cluster is set up, the external clients have to send their request to the proxy server only. Then, it is the proxy server that routes the request to one of the servers in the Web cluster. Therefore the proxy server is essential with the Web cluster.

A proxy server is specified with the help of the <proxyserver> element. The name attribute holds the unique name of the proxy server. The IP address and the port on which the server listens, are specified with the help of the <address> and <http-port> elements under the <proxyserver>.

The proxy server is provided as a plugin by the appserver vendor and is different for different Web servers. If you are using WebLogic as httpserver, then it already includes the plugin and the cluster setup utility configures the proxy server.

A proxy server need not be a new server instance. In case of WebSphere, the IBM HTTP Server is used as a proxy server. In case of Pramati and WebLogic, a new server instance is created.

For installation of plugin in Web servers, refer to the vendor specific documentation. The values for the <address> tag under <proxyserver> tag should be of the server where you installed the plugin.

Document Server

The Document server in SBM that deals with the documents related to the Document dataslots also needs to be configured in the configuration file. This can be done with the help of the <documentserver> element under <cluster-configuration>. The <documentserver> element has a name attribute that is the unique name of the document server. It consists of the elements: <doc-location> and <url>.

Clustering Guide 39 Configuring the Cluster

Page 40: Clustering Guide

The <documentserver> element is mandatory for the Web cluster. The documents must be stored on a shared drive so that all nodes can access this location.

The <doc-location> element specifies the exact location of the documents directory used for storing the document dataslot contents. This element is optional. The document location properties can also be modified in the files sbm.conf and designer.conf when the modifyprop.bat | sh utility is run. In this case, the <doc-location> element need not be specified.

Note: The element <documentserver> is required with the Web cluster.

URL for the Document Server

The URL for the Document server depends on whether a single Portal server has been configured or a Web cluster.

For a single Portal server, the Document server URL is the same as the URL of the single Portal server.

For a Web cluster, if there is a drive controller in Windows using RAID controller or a shared drive on UNIX, then the document server URL can be specified as the proxy server URL. This will provide failover.

SBM validates if the Document server URL is same as the Proxy server URL and also if the document location is specified for the Document server. If validation fails, an exception is thrown. The validation can be disabled by setting the system property sbm.cluster.extdocserver to True in the file SBM_HOME\cluster\conf\sbmclusterprops.xml.

Setting the Cluster in StagesYou can also carry out the cluster setup in stages. That is, you can set up the EJB cluster first, and then the JMS cluster and/or the Web cluster. This can be achieved with the help of the create attribute for the <cluster> element. When the cluster setup is run, the cluster is set up only for those configurations for which the create attribute is set to true.

Note: While setting up a cluster, you must comment out the corresponding single server, as the single server and the cluster cannot exist together.

EJB Cluster

For an EJB cluster, the following tags should be included in the file sbm-cluster.xml:

• <cluster name="sbm_cluster" type="ejb" create="true">• <adminserver name="wladmin">• <documentserver name="docServer">• <portalserver name="portalServer">• <jmsserver name="sys97">

Clustering Guide 40 Setting the Cluster in Stages

Page 41: Clustering Guide

JMS Cluster

Once the EJB cluster setup is done, the XML file should have the following tags for the JMS cluster setup:

• <cluster name="sbm_cluster" type="ejb" create="false">• <cluster name="sbmjmscluster" type="jms" store="db/file"

create="true">

• <adminserver name="wladmin">

Web Cluster

Once the EJB and JMS cluster setup is done, the XML file should have the following tags for the Web cluster setup:

• <cluster name="sbm_cluster" type="ejb" create="false">• <cluster name="sbmjmscluster" type="jms" store="db/file"

create="false">

• <cluster name="web_cluster" type="web" create="true">• <adminserver name="wladmin">• <documentserver name="docServer">• <proxyserver name="proxy" type="pramati">

Running the Cluster SetupTo start the Cluster Setup, go to SBM_HOME\cluster\bin and run

setupcluster.bat|sh [-cmd] [-f clusterFile]

where [-cmd] specifies that this is a command line operation, and [-f clusterFile] denotes the application server-specific configuration file.

Cluster Setup Log File

The file SBM_HOME\cluster\logs\clustersetup.log contains all the logged messages and exceptions during the setup.

Adding New and Recovered NodesIn case of failure of any cluster node or addition of new nodes to the existing cluster, you will need to reconfigure the cluster and synchronize it with the cluster already running. Note that while reconfiguring, you need not stop the existing cluster.

1. Fix the problem on the crashed node and restart the machine. Alternately, if it is a new node, verify that SBM is installed on that machine, and the configuration files are appropriately modified using the modifyprop utility. Refer to the section, Modifying SBM Properties for individual application servers.

Clustering Guide 41 Running the Cluster Setup

Page 42: Clustering Guide

2. Start the application server node and verify that it is started properly.

3. From SBM_HOME\bin, run the command:addBizLogicNodes -u <user> -p <password> -nc <count>

Where count is the number of new nodes to be added.

This will synchronize the BizLogic server on the new node.

4. For BizPulse, when you add a new node, you need to start BizPulse monitoring on that node for failover. Refer to Starting and Stopping BizPulse Monitoring on page 79 for related procedures.

Note: BizPulse runs in a failover configuration and need not be re-synchronized.

Database Storage of Cluster FilesThe following files can be read from the database or from the file system. These files are directly read from the database without checkout.

• The file SBM_HOME\cluster\conf\sbmclusterprops.xml specifies properties for the cluster utility itself. It contains the property propertyfilestorage which is used to specify if database storage is required.

NOTE: If the database file storage is enabled, then the cluster utility assumes that the files are already stored in the database.

• Cluster configuration file sbm-cluster.xml is read from the file system by default. If the property propertyfilestorage is set to True, the file will be read from the database.

• If the database storage is enabled, the following files must be present in database:

o sbm-cluster.xml

o sbm-properties.xml

For WebLogic Application Server, sbm-resources-weblogic.xml must also be present in the database.

• You can check in and check out the cluster files using the script SBM_HOME\cluster\bin\DBFileManager.

Clustering Guide 42 Database Storage of Cluster Files

Page 43: Clustering Guide

Chapter 5

Configuring Pramati Application Server

This chapter describes the details of Pramati application server required for manual editing of the file sbm-cluster.xml. For basic reference information on manual cluster configuration, refer to the chapter Editing the Cluster Configuration File on page 32.

If you plan to use the Cluster Configuration Tool instead, refer to the chapter Using the Cluster Configuration Tool on page 18.

You can also use the file SBM_HOME\cluster\docs\readme_pramati.txt for quick reference.

Note: Portal cluster is not supported in vertical clustering using Pramati application server. When you install a BizLogic/BizSolo application in a clustered environment, it creates the application files on any one node in the cluster. You need to copy them from the node where it got installed, to all the other nodes in the cluster. You can avoid copying the files manually by using the BPM Studio. Refer to Using BPM Studio in Clustered Environment on page 16 for more information.

Before ClusteringBefore clustering, ensure that:

• Pramati Admin Service must be running on all intended nodes before starting the cluster setup. This can be done by running the following command:

SBM_HOME\pramati\server\bin\runstartupsvc.bat

• Copy the file SBM_HOME\cluster\conf\sbm-cluster-pramati.xml to sbm-cluster.xml. Make changes in the file sbm-cluster.xml as described in the section Configuring Clusters on page 45. This will be your cluster configuration file.

43

Page 44: Clustering Guide

• For Web Clustering on UNIX,

a. Copy the file SBM_HOME\cluster\conf\pramati-web-lbconfig.xml as web-lbconfig.xml.

b. Modify the nodes section in this file with the Web cluster node information present in the file sbm-cluster.xml as shown below:

<nodes self-name="null"> <node type="J2EE" host="10.1.32.129" web-port="8181"

name="sys91WA"><naming-port />

<socket-pool enabled="true" min="20" max="50" pool-idle-time-out- seconds="60000" socket-idle-timeout-millis="60000" /> </node> <node type="J2EE" host="10.1.32.118" web-port="8181"

name="sys80WA"><naming-port />

<socket-pool enabled="true" min="20" max="50" pool-idle-time-out- seconds="60000" socket-idle-timeout-millis="60000" /> </node>…

c. Modify the hostname attribute to the IP address of the load balancer as shown below:<node-choser name="url-mapping-node-choser" …

<host name="10.1.32.129">

• On each node of the cluster, run the utility SBM_HOME\bin\setupSBM.bat | sh before starting the cluster.

• Verify that the table with name of the EJB cluster does not already exist in the database specified in the persistence properties. For example, if the cluster name is “sbmejbCluster”, a table by this name is already created in the database specified in the <persistence> section of this cluster. If such a table already exists, then you need to delete it manually before running the utility.

• Verify that the table with name of the JMS cluster does not already exist in the database specified in the persistence properties. For example, if the cluster name is “sbmjmsCluster”, a table by this name is already created in the database specified in the <persistence> section of this cluster. If such a table already exists, then you need to delete it manually before running the utility.

Using Ports

While specifying the port numbers in the cluster configuration file, note the following points:

• All EJB nodes should have the same port number. For example, if you choose port 9295, then <cluster name="sbmejbCluster" type="ejb"> <nodes> <node name="sys91"> <address>10.1.32.129</address> <jndi-port>9295</jndi-port> <source-node>ejbServer</source-node> </node>

Clustering Guide 44 Before Clustering

Page 45: Clustering Guide

<node name="sys74"> <address>10.1.32.112</address> <jndi-port>9295</jndi-port> </node> </nodes>

The tag <http-port> can also be specified to access the HTTP port (if available) on this EJB node. This tag is optional.

• All Web nodes should have the same port number. For example, if you choose port 8181,then since Web cluster uses existing Portal servers, the port numbers will be the port numbers of the individual port numbers of the Portal servers.

<cluster name="sbmwebCluster" type="web" create="false"> <nodes> <node name="sys91WA"> <address>10.1.32.129</address> <jndi-port>9191</jndi-port>

<http-port>8181</http-port> </node> <node name="sys80WA"> <address>10.1.32.118</address> <jndi-port>9191</jndi-port>

<http-port>8181</http-port> </node> </nodes> </cluster>

The tag <jndi-port> needs to be specified for portal server nodes for query service to access the JNDI resources (JDBC, etc.) on the portal server nodes. This port will be different than <http-port> for Pramati server.

• In case of vertical clustering, nodes are on the same machine, and port numbers need to be different.

Configuring ClustersNote the following points:

• The <source-node> tag is mandatory. Specify the "ejbServer" node as source node. This is used to set the required SBM configuration on the cluster nodes. "ejbServer" is the default node of an SBM standalone installation.

• The <persistence> tag is mandatory for EJB cluster.

• If the Web cluster option is used, then proxy server should be created on the same node as the machine where the utility setupcluster.bat | sh is being run.

• The standalone JMS server name (for example, sys91jms) must be different from any other node name.

Clustering Guide 45 Configuring Clusters

Page 46: Clustering Guide

Setting up EJB Cluster

The EJB cluster configuration is provided by default. The <nodes> tag contains the list of nodes for the cluster. The first <node> element must contain the <source-node> tag. The node specified in this tag (ejbServer by default) must be present on the same machine as this node.

The <persistence> tag will contain the database connection parameters used by Pramati to persist the EJB cluster configuration. Pramati creates a table with the same name as the cluster name and hence the cluster name must be unique.

Setting up Web Cluster

The Web cluster in the template XML assumes the usage of the existing Portal servers in a load-balancing mode. Since the Portal server nodes already exist, the create attribute is set to false.

Entry for the <proxyserver> tag must be present. The value for the <http-port> tag must be different than the <http-port> of any nodes defined in the cluster with type "web".

If required to install the proxy server in other webservers or servlet engines, refer to Pramati documentation for Pramati Web LoadBalancer.

Setting Up the ClusterTo run the cluster setup:

• Execute setupcluster.bat|sh -cmd in SBM_HOME\cluster\bin on one of the cluster nodes.

Setting up High Availability JMS Cluster

When a High Availability (HA) JMS is set up with a Pramati Application Server, one of the JMS nodes is in active state and all other JMS nodes are in passive state. When the active JMS node fails, one of the other passive nodes becomes active.

The <nodes> tag contains the list of JMS nodes for the cluster. The first <node> element must contain the <node name>, <address>, <jndi port> and <sbm home> tags. When you set up the HA JMS using the Cluster Configuration Tool, it enters the values for these tags.

To set up the HA JMS with Pramati cluster, carry out the following steps:

1. Set up the JMS cluster using the Cluster Configuration Tool as explained in the Chapter 3, Using the Cluster Configuration Tool.

2. Similarly, add EJB and Portal nodes as desired.

3. Click the Run tab and click Run Setup to run the cluster.

4. From the machine on which the Cluster Configuration Tool is run, open the jms-config.xml file from <SBM_HOME>\pramati\server\nodes\<JMS_NODE_NAME>\config folder.

5. Locate the <persistent-store> tag.

6. Change the <persistence-type> tag value from file-store to db-store.

Clustering Guide 46 Setting Up the Cluster

Page 47: Clustering Guide

7. Save this file.

8. From the machine on which the Cluster Configuration Tool is run, execute following command from <SBM_HOME>\pramati\server\bin folder:

startJMSServer.bat -node <JMS_NODE_NAME> -uploadconfig

This will save the changes to the database.

9. Stop the JMS Server by using the shutdown command in JMS Cluster’s shell.

10. Continue with the rest of the cluster setup procedure explained in the following sections.

Modifying SBM PropertiesEnsure that all nodes in the cluster have the same cluster configuration file, sbm-cluster.xml.

To modify the SBM configuration files for the cluster configuration, run SBM_HOME\cluster\bin\modifyprop.bat on each node in the cluster to update the properties in the SBM conf files for the cluster. It internally calls SBM_HOME\bin\updateSBM.bat to update the SBM property files in the jar and ear files. This will back up the affected configuration files under SBM_HOME\conf directory by appending .orig extensions to the respective conf files.

In case the cluster configuration file is other than sbm-cluster.xml, you need to run the modifyprop.bat |sh file with the option -f with the configuration file name.

modifyprop.bat [-f clusterFileName]

where clusterFileName is the name of the cluster configuration file to use. If no file is specified, then sbm-cluster.xml is used

Restoring Original Configuration

In case of Pramati, new nodes are created for the cluster in addition to the existing standalone node, and restoration of Pramati side configuration will not be required. However, SBM side configuration will have to be modified for the standalone server to run.

It is also possible to easily restore the original configuration because modifyprop.bat maintains a copy of the original files with the extension ".orig". These files can be renamed to their original name.

Note: If the utility modifyprop.bat is run multiple times, the original files (.orig) will be overwritten. To ensure that you always have the original files for restoration, manually back up the conf directory before running the utility.

After this, run SBM_HOME\bin\updateSBM.bat to complete the restoration.

Clustering Guide 47 Modifying SBM Properties

Page 48: Clustering Guide

Configuring BizPulse for FailoverSome of the important parameters in bizpulse.conf which affect BizPulse failover functionality are discussed below:

• bizpulse.server.cluster=on

This parameter should be set to “on”. This indicates that there are more than one nodes working in cluster mode.

• bizpulse.server.cluster.monitor=on

Failover is achieved by monitoring the active BizPulse server, and initiating the failover action in case the server fails. Therefore, the word "Monitoring" is used here almost synonymously as "Failover". This parameter should be set to “on” to enable failover.

• bizpulse.server.cluster.monitor.interval=30

When BizPulse monitoring is “on”, whenever BizPulse is started, a monitoring process will start on each of the nodes. BizPulse server starts up on any one of the nodes.

On the node, where the BizPulse server is active, monitoring process checks the state of the BizPulse at the interval specified by bizpulse.server.cluster.monitor.interval in seconds. In this particular example, the monitoring takes place every 30 seconds, and the process writes the last BizPulse alive time to the database.

On all the other nodes, monitoring process checks and compares the last BizPulse alive time with the current time.

• bizpulse.server.cluster.failover.interval=120

When the difference between the last BizPulse alive time and the current time exceeds the specified bizpulse.server.cluster.failover.interval, the monitoring process will try to start the BizPulse server on a node other than the one on which BizPulse was last active.

BizPulse Application Loading in a Cluster

For application loading, make sure that you copy all the relevant applications, and their compiled rules on all the nodes in the cluster. Ensure that the same copy of the applications exists on all the nodes and there is no version mismatch on different nodes.

You can use either BizPulseAdmin or BPM Portal to load the applications.

Working with the ClusterYou need to first start the clusters and/or individual servers, and then run the BizLogic / BizPulse servers.

Note: You must first start the EJB Server on the node where the cluster utility was executed. Ensure that you do not start the EJB Server simultaneously on all the cluster nodes, otherwise the servers may hang or take more time to start.

Clustering Guide 48 Configuring BizPulse for Failover

Page 49: Clustering Guide

Starting the Cluster

1. If the Web cluster is set up,

a. Start the Portal proxy server with the command:SBM_HOME\pramati\server\bin\startPortalServer.bat|sh. <proxyserver> In this example, the proxy server name is “proxyserver”.

b. Start the Portal servers in the cluster with the command:

the SBM_HOME\pramati\server\bin\startPortalServer.bat|sh.

NOTE: You need to run this command on all the nodes individually.

2. If the Web cluster is not set up, and there is a single Portal server, start the Portal server with the command:

SBM_HOME\pramati\server\bin\startPortalServer.bat|sh.

3. Start the JMS server with the command:SBM_HOME\pramati\server\bin\startJMSServer.bat|sh <JmsServer>In this example, the JmsServer name is “sys91jms”.

Note: You need to run this command on all the nodes individually. Always start JMS server / cluster before starting EJB server / cluster.

4. If the EJB cluster is set up, start the EJB servers of the cluster with the command:SBM_HOME\pramati\server\bin\startEjbServer.bat|sh [nodename]You must run the command for each node. In this example, the nodename is “sys91” and “sys74”.

5. If the EJB cluster is not set up, and there is a single EJB server, start it with the command:

startEJBServer

Starting the Servers

You can start the BizLogic and BizPulse servers through the Administration module of BPM Portal. The following sections describe how to start the BizLogic and BizPulse servers through the command line.

Starting the BizLogic Server

Go to SBM_HOME\bin and start the BizLogic servers a follows:

1. If the EJB cluster is set up, then start with the command

startBizLogicServer -u <user name> -p <password> -nc <nodes in cluster>

2. If the EJB cluster is not set up, and there is a single EJB server, then start with the command:

startBizLogicServer

Clustering Guide 49 Working with the Cluster

Page 50: Clustering Guide

For more information on BizLogic server commands, refer to BizLogic Server Commands on page 76.

Starting the BizPulse Server

Go to SBM_HOME\bin and start the BizPulse server as follows:

1. If the EJB Cluster is set up, then start with the command startBizPulseServer -nodes <nodes in cluster>

2. If the EJB Cluster is not set up, and there is a single EJB server, then start with the commandstartBizPulseServer

For more information on BizPulse server commands, refer to BizPulse Server Commands on page 78.

Stopping the Cluster

You need to stop the cluster in the exact reverse order of starting the cluster as described in Starting the Cluster on page 49, by using the shutdown command for individual servers.

Performance TuningTo improve the performance, you can carry out the following tuning:

1. In the out-of-the-box installation, there are two copies of web-config.xml; namely, web-config.xml.dev and web-config.xml.prod under SBM_HOME\pramati\server\nodes\portalServer\config. The web-config.xml.prod file is tuned for a production environment with the update-check-interval-seconds value set to -1. This disables the check the server performs for changes in JSP files. In the production environment, rename this file to web-config.xml and restart the server.

Note: Once the update-check-interval-seconds value is set to -1, the Portal server will no longer compile JSPs. If you want to deploy new JSPs or need the server to recompile modified JSPs, the update-check-interval-seconds value should be a positive value.

2. The values of keep-alive-timeout (millis) and socket-idle-time-out (millis) should be changed to a high value in the web-config.xml of the backend nodes, (preferably to more than five minutes for keep-alive-timeout and 10-60 seconds for idle-timeout). This ensures that the socket connections between the Loadbalancer and the backend nodes does not get timed out for a long period of time, and hence does not result in unnecessary, and frequent creation of sockets.

For each of the backend nodes in SBM_HOME\pramati\server\nodes\portalServer\config\web-config.xml

change the idle-timeout-millis to 10000.<idle-timeout-millis>10000</idle-timeout-millis> <keepalive-timeout-millis>30001</keepalive-timeout-millis>

Clustering Guide 50 Performance Tuning

Page 51: Clustering Guide

3. It is okay to turn off the DOS (Denial of Service attack) protection on the backend nodes in a cluster. This can be done by setting the “denial-of-service enabled” to false. Since the DOS protection is turned on in the proxyServer/loadbalancer by default, turning it off in the backend nodes will avoid DOS attack checks from happening twice (in the loadbalancer and the backend node), thereby improving performance.

a. For the proxy node, in SBM_HOME\pramati\server\nodes\proxy\config\web-lbconfig.xml, in the nodes section, make sure that the socket-idle-timeout-millis="10000" for both the nodes.

For example,

<node type="J2EE" host="jerusalem.savvion.com" web-port="8181" name="web_jerusalem"><naming-port /><socket-pool enabled="true" min="20" max="50"

pool-idle-time-out-seconds="1000" socket-idle-timeout-millis="10000" />

</node><node type="J2EE" host="kuba.savvion.com" web-port="8181"

name="web_kuba"><naming-port /><socket-pool enabled="true" min="20" max="50"

pool-idle-time-out-seconds="1000" socket-idle-timeout-millis="10000"/>

</node>

b. The proxyServer\loadbalancer node is configured for a session timeout of 6 min by default. This can be updated to a desirable value by modifying the code as follows:

<node-chooser name="session-stickiness-node-chooser" class="com.pramati.web.lb.nodechooser.SessionStickinessNodeChooser" enabled="true"> <props time-out-minutes="6" cleanup-interval-minutes="2" /> </node-chooser>

to

<node-chooser name="session-stickiness-node-chooser" class="com.pramati.web.lb.nodechooser.SessionStickinessNodeChooser" enabled="true"> <props time-out-minutes="45" cleanup-interval-minutes="2" /> </node-chooser>

Note: The sample values used in this example should be changed to the appropriate values in your system.

Clustering Guide 51 Performance Tuning

Page 52: Clustering Guide

Chapter 6

Configuring WebLogic Application Server

This chapter describes the details of WebLogic application server required for manual editing of the file sbm-cluster.xml. For basic reference information on manual cluster configuration, refer to the chapter Editing the Cluster Configuration File on page 32.

If you plan to use the Cluster Configuration Tool instead, refer to the chapter Using the Cluster Configuration Tool on page 18.

You can also use the file SBM_HOME\cluster\docs\readme_weblogic.txt for quick reference.

Clustering in SBM uses the following terminology:

• SBM_HOME: Refers to the installation directory of SBM.

• WL_HOME: Refers to the WebLogic installation directory

• WL_SBM_DOMAIN: Refers to the absolute location where SBM is installed under WebLogic. For example, for WebLogic 8.1, C:\bea\user_projects\domains\sbm50.

Note: When you install a BizLogic/BizSolo application in a clustered environment, it creates the application files on any one node in the cluster. You need to copy them from the node where it got installed, to all the other nodes in the cluster. You can avoid copying the files manually by using the BPM Studio. Refer to Using BPM Studio in Clustered Environment on page 16 for more information.

52

Page 53: Clustering Guide

Before ClusteringBefore clustering, ensure that:

• If a single JMS server is configured for the cluster, then this server should be targeted to the EJB server that is at the same location as the Administration server. For example, if the Administration server is at node1 IP=10.1.32.129 and EJB nodes are 10.1.32.129 and 10.1.32.179, then the JMS server should always be targeted on 10.1.32.129.

• Each node should be installed on a separate machine, and all nodes should use the same database account.

• Ensure that SBM is installed on all nodes before proceeding. You are required to use the same directory for each node, and the same WebLogic domain name for each node.

• Make sure that the Admin Server is running on one of the machines in the cluster before starting the cluster setup.

• Copy the file SBM_HOME\cluster\conf\sbm-cluster-weblogic.xml as sbm-cluster.xml. Make changes in the file sbm-cluster.xml as per the cluster configuration. This will be your cluster configuration file.

• On each node in the cluster, run the utility SBM_HOME\bin\setupSBM.bat |sh. For more information, see the Installation Guide.

• Remove the following temporary files and directories:

• WL_SBM_DOMAIN\adminServer\.internal

• WL_SBM_DOMAIN\adminServer\.wlnotdelete

• WL_SBM_DOMAIN\adminServer\ldap

• WL_SBM_DOMAIN\adminServer\logs

• WL_SBM_DOMAIN\adminServer\*.log files

• WL_SBM_DOMAIN\adminServer\*.tlog files

Note: The jar and ear files included with default installation must not be clustered.

Using Ports

While specifying the port numbers in the cluster configuration file, note the following points:

• All EJB nodes should have the same port number. For example, if you choose 18785, then

<cluster name="sbmejbCluster" type="ejb"><nodes>

<node name="sys97"><address>192.168.0.28</address><jndi-port>18785</jndi-port>

</node><node name="sys98">

<address>192.168.0.32</address><jndi-port>18785</jndi-port>

Clustering Guide 53 Before Clustering

Page 54: Clustering Guide

</node></nodes>

</cluster>

The tag <http-port> can also be specified after <jndi-port> tag to access the HTTP port (if available) on this EJB node. This tag is optional.

• All Web nodes should have the same port number. For example, if you choose 18795, then since the Web cluster uses existing Portal servers, the port numbers will be the port numbers of the individual port numbers of the Portal servers.

<cluster name="sbmwebCluster" type="web"><nodes>

<node name="sys97_web"><address>192.168.0.28</address><http-port>18795</http-port>

</node><node name="sys98_web">

<address>192.168.0.32</address><http-port>18795</http-port>

</node></nodes>

</cluster>

The tag <jndi-port> can be specified for portal server nodes for query service to access the JNDI resources (JDBC, etc.) on the portal server nodes. This port is the same as the <http-port> for WebLogic server, and hence can be omitted.

• All JMS nodes should have the same port number as EJB nodes. For example, 18785. Also, the IP address and target of JMS nodes should be the same as the IP address and node name of the corresponding EJB nodes respectively.

<cluster name="sbmjmsCluster" type="jms" store="db"><nodes>

<node name="sys97_jms"><address>192.168.0.28</address><jndi-port>18785</jndi-port><target-node>sys97</target-node>

</node><node name="sys98_jms">

<address>192.168.0.32</address><jndi-port>18785</jndi-port><target-node>sys98</target-node>

</node></nodes>

NOTE: The tag <http-port> is not valid for JMS server or JMS cluster nodes.

Clustering Guide 54 Before Clustering

Page 55: Clustering Guide

• You must use the same port number specified while installing SBM. For example, 18791.

<adminserver name="adminServer"> <address>192.168.0.28</address> <jndi-port>18791</jndi-port> </adminserver>…

• In case of vertical clustering, (nodes on same machine), port numbers need to be different.

Configuring ClustersNote the following points:

• The <domain-name> tag is mandatory for WebLogic. Specify the domain name with which SBM is installed under WebLogic in the file SBM_HOME\cluster\conf\sbm-cluster.xml. The domain name is case sensitive.

• The location attribute is mandatory for WebLogic. Specify the absolute path of the directory under which SBM is installed in WebLogic. For example,

<domain-name location="C:/bea/user_projects/domains/sbm50">sbm50

</domain-name>

• The adminSever and proxyServer name must not be changed.

We recommend to install WebLogic in the same location on all the machines in the cluster. In case WebLogic is installed at different locations, you need to modify the file config.xml manually as described below:

• If SBM is installed in different directories on different nodes during the cluster setup with WebLogic, then the file config.xml on the Admin server needs to be changed manually. You need to first run the cluster setup utility, then shut down the Admin sever, and then edit the file as follows:

The paths of the applications in the file config.xml are absolute by default. You need to make the paths relative to the domain directory.

For example, change the path of the file bizlogic.ear from \u4\bea\user_projects\domains\SBM\applications\bizlogic.ear to .\applications\bizlogic.ear

• If SBM is installed in different locations on the cluster nodes, and a single JMS server is to be configured, then the property sbm-home needs to be added for all the nodes in the file sbm-cluster.xml.

<node name="sys113"><address>10.1.32.172</address><jndi-port>18785</jndi-port><sbm-home>D:/SBM_HOME</sbm-home>

</node>

Where, sbm-home is the location of SBM installation on that specific node.

Clustering Guide 55 Configuring Clusters

Page 56: Clustering Guide

• In case of a single JMS server, if the SBM_HOME property is different for at least one node, then the utility sets a pre-configured JDBC store (BizLogic_JDBC_Store, BizPulse_JDBC_Store) for BizLogic and BizPulse. In case of JMS cluster, this property is ignored.

By default, the JMS store for a standalone installation is a file on the local file system. If SBM is installed in different locations on different nodes, then the file store path of an assigned JMS server may not be valid on all the machines. The JMS server (and hence the EJB node) will not start in such case. Hence a JDBC store is set as the JMS store to avoid this problem.

Specifying Environment Variables

You can specify whether the JMS server is an external server or not by using the environment variable sbm.cluster.extjmsserver.

You can change its value in the file SBM_HOME\cluster\bin\setupcluster.bat|sh in the following command:

java -Dsbm.cluster.extjmsserver=false com.savvion.sbm.weblogic.ClusterSetup

The default value is false, indicating that the JMS server is not an external server and its target should be either the name of the EJB Server (single server) or the name of any of the nodes of the EJB Cluster (cluster). The value true indicates that the JMS server is an external server. In such a case, the target-node of the JMS server will not be validated.

Setting up JMS Cluster

The JMS servers can be configured in two ways; either with a standalone EJB Server or with an EJB Cluster.

JMS Cluster with Standalone EJB Server

If you configure the JMS Servers with a standalone EJB Server, then the value of the <target-node> should be the name of the EJB Server with which you want to cluster the JMS Servers. Similarly, the address and port of the JMS Servers should be the same as that of the EJB Server.

For example,

<ejbserver name="ejbServer"> <address>192.168.0.32</address><jndi-port>18792</jndi-port>

<ejbserver>

<cluster name="sbmjmscluster" type="jms" store="db"> <nodes> <node name="jmsNode1"> <address>192.168.0.32</address> <jndi-port>18792</jndi-port> <target-node>ejbServer</target-node> </node> <node name="jmsNode2"> <address>192.168.0.28</address> <jndi-port>18792</jndi-port> <target-node>ejbServer</target-node> </node>

Clustering Guide 56 Configuring Clusters

Page 57: Clustering Guide

</nodes> . . .

</cluster>

JMS Cluster with EJB Cluster

If you configure the JMS Servers with an EJB Cluster, then the value of <target-node> should be set to the EJB Cluster node names. Similarly, the address and port of the JMS servers in the JMS Cluster should be the same as that of the EJB Servers in the EJB Cluster.

The name of the JMS Servers in the JMS Cluster should not exceed 16 characters.

An example of this is given below:

<cluster name="ejb_cluster" type="ejb"> <nodes> <node name="sys97"> <address>192.168.0.28</address> <jndi-port>9000</jndi-port> </node> <node name="sys98"> <address>192.168.0.32</address> <jndi-port>9001</jndi-port> </node> </nodes> </cluster> <cluster name="sbmjmscluster" type="jms" store="db"> <nodes> <node name="jmsNode1"> <address>192.168.0.28</address> <jndi-port>9000</jndi-port> <target-node>sys97</target-node> </node> <node name="jmsNode2"> <address>192.168.0.32</address> <jndi-port>9001</jndi-port> <target-node>sys98</target-node> </node> </nodes>

. . . </cluster>

Setting up Web Cluster

Entry for <proxyserver> should be made in the file SBM_HOME\cluster\conf\sbm-cluster.xml. The value for the <http-port> tag must be different than the <http-port> of any nodes defined in the cluster with type "web". If you want to choose a different proxyServer name (for example, sys55_proxyServer), then you must change the proxyServer name in the startPortalProxyServer.cmd|sh file in the WL_SBM_DOMAIN folder.

In the file WL_SBM_DOMAIN\ stopPortalProxyServer.cmd | sh, change the value of portal proxy server port when the web cluster setup is done.

Clustering Guide 57 Configuring Clusters

Page 58: Clustering Guide

While the Portal server is made clusterable, an application with name WLProxyApp.war is uploaded by the cluster utility in the upload folder of the WL_SBM_DOMAIN\adminServer folder. This can be seen under the SBM_HOME\cluster\webapps folder.

Note: If you need to install a proxy server in other webservers/servlet engines, then it is required to download and install the WebLogic plugins. Refer to the WebLogic documentation for downloading, installing and configuring the proxy server for IIS and Netscape’s iPlanet.

After the setup is complete, you need to shut down the Admin server and then restart it. If the server does not start properly, then the cluster setup remains incomplete, and results in a corrupted config.xml file.

After the setup is completed, check the application server log file WL_SBM_DOMAIN\adminServer\logs\adminServer.log for any errors in setup. In some cases, the utility does not get any exception from the server and continues to show that the setup is okay. This may happen for various reasons such as an incorrect domain name.

Note: The cluster utility must be run from the same machine on which the WebLogic Server is installed.

Setting Up the ClusterTo run the cluster setup:

1. Ensure that the AdminServer is running on one node. If not, you can start the AdminServer by running WL_SBM_DOMAIN\startAdminServer.cmd|sh.

2. Run SBM_HOME\cluster\bin\setupcluster.bat|sh.

Modifying SBM PropertiesBefore modifying the properties, ensure the following:

• All the nodes of the cluster have identical files sbm-cluster.xml, sbm-properties.xml, and any application server specific resource files like sbm-resources-weblogic.xml.

• Open the file SBM_HOME\cluster\conf\sbm-properties.xml and provide the value for the location attribute of <property-files> element to point to the location of the conf directory of the SBM_HOME.

Note: If this value is not specified or specified incorrectly, then the property files are located from the CLASSPATH. So, if some other SBM_HOME than the one on which the cluster setup is done, is in the CLASSPATH, then properties of the incorrect SBM installation will be updated.

To modify the SBM configuration files for the cluster configuration, run SBM_HOME\cluster\bin\modifyprop.bat on each node in the cluster to update the properties in the SBM conf files for the cluster. It internally calls SBM_HOME\bin\updateSBM.bat to update the SBM property files in the jar and ear files. This will back up the affected configuration files under SBM_HOME\conf directory by appending .orig extensions to the respective conf files.

Clustering Guide 58 Setting Up the Cluster

Page 59: Clustering Guide

In case the cluster configuration file is other than sbm-cluster.xml, you need to run the modifyprop.bat |sh file with the option -f with the configuration file name.

modifyprop.bat [-f clusterFileName]

where clusterFileName is the name of the cluster configuration file to use. If no file is specified, then sbm-cluster.xml is used

Restoring Original Configuration

For WebLogic, the cluster utility creates a backup of your original file config.xml. The backup file is created as config.xml.<number>, where the <number> is the current time in long number format.

This will enable users to retain the original configuration file and also the subsequent ones, even after multiple runs of the cluster setup utility, since every time the file is backed up with a unique name.

To restore the original configuration, the existing file config.xml should be replaced with the requisite backup copy. For example, the file config.xml.<n1> where n1 is the least value, will give the original file config.xml. Rename the backed up configuration files from the SBM_HOME\conf directory by removing the .orig extensions.

The above method can also be used to restore the configuration if any exception is encountered in the cluster setup or the cluster setup process is aborted.

Irrespective of whether the setup was completed successfully or not, before restoring the file config.xml, do the following:

• Shut down the Admin server if it is running.

• Remove the temporary files as mentioned in Before Clustering on page 53.

Configuring BizPulse for FailoverSome parameters in bizpulse.conf affect BizPulse failover functionality significantly. For more information about these parameters, refer to Configuring BizPulse for Failover on page 48.

Note: WebLogic JMS cluster assumes that the server clocks of all the nodes in the cluster need to be synchronized at all times. Consult your system administrator for a time management program to handle this.

BizPulse Application Loading in a Cluster

For application loading, make sure that you copy all the relevant applications, and their compiled rules on all the nodes in the cluster. Ensure that the same copy of the applications exists on all the nodes and there is no version mismatch on different nodes.

You can use either BizPulseAdmin, or BPM Portal to load the applications.

Clustering Guide 59 Configuring BizPulse for Failover

Page 60: Clustering Guide

Working with the ClusterYou need to first start the clusters and/or individual servers, and then run the BizLogic / BizPulse servers.

Starting the Cluster

To start the cluster, go to WL_SBM_DOMAIN:

1. Start the Admin server with the command:startAdminServer

2. If the EJB cluster is set up, start the EJB Servers of the clusters with the following command:startEjbClusterInstance <server name> <admin url>

where <server name> is the EJB node name, and <admin url> is the URL of the AdminServer specified in the cluster configuration. For example,

startEjbClusterInstance sys97 192.168.0.28:18791

3. If the EJB cluster is not set up, and there is a single EJB Server, start it with the following command:

startEjbServer

4. If the Web Cluster is set up,

Start the Portal proxy server with the following command:

startPortalProxyServer

Start the Portal servers in the cluster with the command

startPortalClusterInstance <server name> <admin url>

where <server name> is the Portal node name, and <admin url> is the URL of the AdminServer specified in the cluster configuration. For example,

startPortalClusterInstance sys97_web 192.168.0.28:18791

5. If the Web Cluster is not set up, and there is a single Portal server; start the Portal server with the following command:

startPortalServer

6. To start the BizLogic server, go to SBM_HOME\bin.

a. If EJB cluster is set up, then start with the command

startBizLogicServer -u <user name> -p <password> -nc <nodes in cluster>

b. If EJB cluster is not set up, and there is a single EJB server, then start with the command:

startBizLogicServer

For more information on BizLogic server commands, refer to BizLogic Server Commands on page 76.

NOTE: To start BizLogic server on all nodes, use startBizLogicNodes.bat | sh from the SBM_HOME\bin directory.

Clustering Guide 60 Working with the Cluster

Page 61: Clustering Guide

7. To start the BizPulse server, go to SBM_HOME\bin.

a. If the EJB Cluster is set up, then start with the command startBizPulseServer -nodes <nodes in cluster>

b. If the EJB Cluster is not set up, and there is a single EJB server, then start with the commandstartBizPulseServer

For more information on BizPulse server commands, refer to BizPulse Server Commands on page 78.

Note: BizLogic and BizPulse servers can also be started using BPM Portal.

Stopping the Cluster

You need to stop the cluster in the exact reverse order of starting the cluster as described in Starting the Cluster on page 60.

To stop the cluster:

1. To stop the BizPulse server, go to SBM_HOME\bin.stopBizPulseServer.bat -nodes <nodes in cluster>

For more information on BizPulse server commands, refer to BizPulse Server Commands on page 78.

2. To stop the BizLogic server, go to SBM_HOME\bin.stopBizLogicServer [options] [-u [username]] [-p [password]] [-nc [count]]

For more information on BizLogic server commands, refer to BizLogic Server Commands on page 76.

3. For stopping the EJB, Portal, and Admin servers, go to WL_SBM_DOMAIN.

4. In case of a Web cluster,

Stop the cluster instances on each node.

stopPortalClusterInstance <server name> <admin url>

where <server name> is the Portal node name, and <admin url> is the URL of the AdminServer specified in the cluster configuration. For example,

stopPortalClusterInstance sys97_web 192.168.0.28:18791

Stop the Portal proxy server.

stopPortalProxyServer

5. In case of a single Portal server; stop the server with the following command:stopPortalServer

6. In case of an EJB cluster, stop the EJB cluster instance on each node.stopEjbClusterInstance <server name> <admin url>

Clustering Guide 61 Working with the Cluster

Page 62: Clustering Guide

where <server name> is the EJB node name, and <admin url> is the URL of the AdminServer specified in the cluster configuration. For example,

stopEjbClusterInstance sys97 192.168.0.28:18791

7. In case of a single EJB server, stop the server with the following command:stopEjbServer

8. Stop the Admin server.stopAdminServer

Note: BizLogic and BizPulse servers can also be stopped using BPM Portal.

JMS Migration in a JMS ClusterWhen one node of the JMS cluster fails, the JMS server needs to be manually migrated to the other node for failover. You can use WL_SBM_DOMAIN\migrateJMS.bat| sh script file to migrate the JMS server. Make sure that the ADMIN_URL of the migrateJMS.bat| sh is set to the correct URL of the cluster.

Consider two nodes node1 and node2 in the cluster (EJB cluster + JMS cluster).

If node1 fails, then the batch file can be invoked as: migrateJMS node1 node2 Or, migrateJMS node1 node2 migratenode

In this example, node1 is the source node and node2 is the target node. This will migrate the JMS server from node1 to node2 and provide failover.

When node1 is repaired and ready to be used, implement the remigration from node2 to node1 by using the following command:

migrateJMS node1 node1 restorenode Note that the repetition of node1 is correct, and that restorenode is case sensitive.

Once the remigration succeeds, node1 can be restarted using the startClusterInstance scripts.

For more information on how to start the BizLogic and BizPulse server in a recovered WebLogic instance that is a node in a cluster, see BizLogic Server Commands on page 76 and BizPulse Server Commands on page 78.

Performance TuningTo improve the performance, you can carry out the following tuning:

Set the value of PageCheckSeconds and <servlet-reload-check-secs> to -1 in the weblogic.xml file (This procedure makes sure that WebLogic does not check for JSP changes which takes considerable time on Solaris operating system).

The weblogic.xml file is located under bea_home\user_projects\domains\sbm_domain\applications\sbm\WEB-INF

Clustering Guide 62 JMS Migration in a JMS Cluster

Page 63: Clustering Guide

The out-of-the-box installation comes with two versions of WebLogic.xml; namely, weblogic.xml.dev and weblogic.xml.prod, under bea_home\user_projects\domain\sbm_domain\applications\sbm\WEB-INF. The weblogic.xml.prod file already has the PageCheckSeconds and <servlet-reload-check-secs> values set to -1. Rename the file to weblogic.xml and restart the Portal server instance. The original copy of weblogic.xml is the same as weblogic.xml.dev and is tuned for the development environment.

You can also check the parameter values through the admin console.

1. Login to Admin console and on the left pane go to deployments -> Web Application Modules -> sbm.

2. In the right pane, click on descriptors -> weblogic.xml

Clustering Guide 63 Performance Tuning

Page 64: Clustering Guide

Chapter 7

Configuring WebSphere Application Server

This chapter describes the details of WebSphere application server required for manual editing of the file sbm-cluster.xml. For basic reference information on manual cluster configuration, refer to the chapter Editing the Cluster Configuration File on page 32.

If you plan to use the Cluster Tool instead, refer to the chapter Using the Cluster Configuration Tool on page 18.

You can also use the file SBM_HOME\cluster\docs\readme_websphere.txt for quick reference.

Clustering in SBM uses the following terminology:

• SBM_HOME: Refers to the installation directory of SBM.

• ADMINSERVER_HOME: The location where Deployment Manager is installed. This is the physical path where the WASND 6.0.2.5 is installed. For example, D:\WebSphere\DeploymentManager.

• CONNTYPE: This determines what connector WebSphere uses. The valid values are RMI and SOAP. The default is SOAP.

• PORT: This is the port used when for connecting to wsadmin. The default SOAP port for a cell manager is 8879. This may change based on the value provided for the parameter "-startingPort" during creation of the Deployment Manager profile. Currently the value given for "-startingPort" is 4000. This may change if you have both WebSphere base and WebSphere ND installed in the same machine providing the co-exist option. Refer to SOAP_CONNECTOR_ADDRESS::port parameter value in serverindex.xml at WebSphere_Install_root\AppServer\profiles\dmgr\config\cells\sys90Cell\nodes\sys90Manager.

• PROFILE: The profile defines the run-time environment and includes all of the files that the ‘server processes’ in the run-time environment can change. A profile in WebSphere is similar to a domain in WebLogic.

64

Page 65: Clustering Guide

• WEBSPHERE BASE: Websphere Application Server Base (WAS Base) is used in the case of standalone applications. Therefore, for standalone SBM to be installed, WAS Base needs to be installed. This installation creates a default profile with a server "server1". But for installing SBM, we need to create a new profile on which the SBM applications can be deployed.

• WEBSPHERE ND: Websphere application server Network Deployment (WAS ND) is used in the case of WebSphere clusters. If an SBM cluster has to be setup, then WAS ND is needs to be installed. In the previous version (WAS ND 5.1), installing WebSphere ND used to create a Deployment Manager. From version WAS ND 6.0 onwards, you need to create a deployment manager profile, once Websphere ND is installed. This version of Websphere ND also supports creation of WAS Base type of profiles to be created on it.

For additional information, and understanding WebSphere terminology, refer WebSphere documentation.

Note: When you install a BizLogic/BizSolo application in a clustered environment, it creates the application files on any one node in the cluster. You need to copy them from the node where it got installed, to all the other nodes in the cluster. You can avoid copying the files manually by using the BPM Studio. Refer to Using BPM Studio in Clustered Environment on page 16 for more information.

Before ClusteringThis example refers to a cluster setup of three machines, sys76, sys114, and sys90. The following figure illustrates the architecture of the cluster.

Figure 18 WebSphere - Three-node Cluster

It is also possible to set up cluster with only two nodes. Refer toWorking with Two-Node Clusters on page 74.

Clustering Guide 65 Before Clustering

Page 66: Clustering Guide

• Before proceeding to clustering, carry out the following steps:

a. Install WebSphere 6.0.2.5 Standard Edition on sys76 and on sys114.

b. Install WebSphere 6.0.2.5 Network Deployment on sys90.

c. Install IBM HTTP Server 6.0 on sys90 (part of WebSphere 6.0.2.5 Standard Edition).

d. Install Web server plugins. (part of WebSphere 6.0.2.5 Standard Edition).

e. Install SBM 6.5 SP2 on sys114, sys76 and sys90. Please note that the profile name, cell name, and the node name must be unique on all the three nodes.

f. Execute createprofile.bat/sh from the SBM_HOME\bin folder on sys76 and sys114. (Do not execute the scripts createSbmEjbServer.bat/sh and createSbmPortalServer.bat/sh.)

g. Execute createadminprofile.bat/sh from the SBM_HOME\cluster\bin folder on sys90. This would create the Deployment Manager profile, required for the management of the cluster.

h. Change the value of the com.ibm.SOAP.requestTimeout property from 180 to 0 in the soap.client.props file in the WEBSPHERE_HOME\appserver\profiles\<profile_name>\properties directory to avoid the java.net.SocketTimeoutException: Read timed out exception.

i. Federate both the nodes, that is, sys114 and sys76 to the Deployment Manager, that is, sys90.

j. The cluster scripts should be run from any of the cluster nodes, that is, sys76 or sys114, and not from the machine where Deployment Manager is installed, that is, sys90.

k. Currently the cluster setup is configured to use the cloudscape database. When the cluster is started for the first time after setup, the messaging engine creates folders in each of the nodes where the cluster members are running. These folders are created in the APPSERVER_HOME\AppServer\profiles\<profileName>\databases\com.ibm.ws.sib folder. Please note that each time the cluster is removed and re- installed, the messaging engine folder which is created inside the above-mentioned folder has to be removed. The messaging engine folder name follows the following convention: <nodeName>.<clusterMemberName>-<busName>. This has to be done in all the cluster member machines.

• Copy the file SBM_HOME\cluster\conf\sbm-cluster-was.xml as sbm-cluster.xml. Make changes in the file sbm-cluster.xml as per the cluster configuration. This will be your cluster configuration file.

Note: For the ejb and web cluster, ensure that the database name specified in the "<databasename>" tag under the "presistance" tag is valid.

Clustering Guide 66 Before Clustering

Page 67: Clustering Guide

Using Ports

While specifying the port numbers in the cluster configuration file, note the following points:

• The entire EJB cluster node should have the same <jndi-port> value. The <jndi-port> number of the jmsserver should be the same as the <jndi-port> of the EJB cluster node, which is hosting the jmsserver. For example, if the EJB cluster is described as below:

<cluster name="sbmejbCluster" type="ejb" create="true"> <nodes> <node name="sys114sbm65node"> <address>sys114.tdiinc.com</address> <jndi-port>9811</jndi-port> <sbm-home>D:/SBM65_WS60</sbm-home> </node> <node name="sys76sbm65node"> <address>sys76.tdiinc.com</address> <jndi-port>9811</jndi-port> <sbm-home>D:/SBM65_WS60</sbm-home> </node> </nodes>

<persistence>..

</persistence></cluster>

then, the jmsserver should have the following values:

<jmsserver name="sys76sbm65node"> <address>sys76.tdiinc.com</address> <jndi-port>9811</jndi-port> </jmsserver>

Note that the address and the <jndi-port> number of the jmsserver are the same as the address and <jndi-port> of the EJB cluster node, which host the jmsserver. Also all the EJB cluster nodes have the same <jndi-port> number.

NOTE: The node name should be same as the one you specified while installing SBM. You can find this node name from the sbm.websphere.node.name parameter in the SBM_HOME\conf\sbmjndi.properties file.

The tag <http-port> can also be specified after <jndi-port> tag for EJB server or EJB cluster to access the HTTP port (if available) on this EJB node. This tag is optional, and not valid for JMS server.

• All the Web cluster nodes should have the same <http-port> value. The <http-port> of cluster nodes of the Web cluster should be same as the <http-port> of the proxyserver. For example, if the proxyserver is described as below:

<proxyserver name="sys90" type="websphere"> <address>10.1.32.128</address> <http-port>9448</http-port> </proxyserver>

Clustering Guide 67 Before Clustering

Page 68: Clustering Guide

then, the Web cluster should be as shown below:

<cluster name="sbmwebCluster" type="web" create="true"> <nodes> <node name="sys114sbm65node"> <address>10.1.32.173</address> <http-port>9448</http-port> <sbm-home>D:/SBM_WS60</sbm-home> </node> <node name="sys76sbm65node"> <address>10.1.32.114</address> <http-port>9448</http-port> <sbm-home>D:/SBM65_WS60</sbm-home> </node> </nodes>

<persistence>..

</persistence></cluster>

Note that the <http-port> for all the Web cluster nodes is the same as the proxyserver <http-port>. All the Web cluster nodes have the same <http-port> number.

NOTE: The node name should be same as the one you specified while installing SBM. You can find this node name from the sbm.websphere.node.name parameter in the SBM_HOME\conf\sbmjndi.properties file.

The tag <jndi-port> can be specified for portal server nodes for query service to access the JNDI resources (JDBC, etc.) on the portal server nodes. The <jndi-port> value will be different than the <http-port> in case of a standalone portal server. In case of a cluster, the JNDI tree for all nodes is present at the cell level and hence the <jndi-port> value will be the same as the EJB <jndi-port> value.

Configuring ClustersConfiguring a cluster in WebSphere involves federating the installations with WebSphere ND, setting up EJB and Portal clusters, and configuring Portal load balancing.

Setting up EJB and Portal Clusters

1. Start WebSphere Deployment Manager, by executing startManager.bat in D:\WebSphere\DeploymentManager\bin (on sys90).

2. Start the node agent on sys76 and sys114. The node agent should still be running from when the addNode command was executed previously. To check that the node agents for sys76 and sys114 are running, use System Administration > Node Agent from the WebSphere Administrative Console of Deployment Manager. Then look at the status for the nodes sys76 and sys114. If the node agent is unavailable on one of the computers, start it from the command line of that computer.

D:\WebSphere\AppServer\bin\startNode.bat

Clustering Guide 68 Configuring Clusters

Page 69: Clustering Guide

3. Edit SBM_HOME\cluster\bin\setenv.bat|sh on all the nodes to verify WebSphere parameters. Ensure the location specified for the ADMINSERVER_HOME does not contain backward slash (“\”).

4. Create and initialize the SBM tables in the database. In SBM_HOME\bin on sys76 and sys114, execute:

setupSBM.bat -c all -u ebms -p ebms -yes

Note: After setting up the cluster, restart DMgr.

Configuring for QuickRules Support

After configuring the cluster, the following changes need to be done manually to configure QuickRules in the cluster mode.

1. Change the following entry from the deploy section of the file sbm-cluster.xml.<application name="quickrname="quickrules-was.war" ules-ps41" target="ejb">quickrules-ps41.ear</application>

to<application name="QuickRules3.1" target="ejb">quickrules-was60.ear</application>

2. Add the following entry in the deploy section of the file sbm-cluster.xml. <application location="%SBM_HOME%\webapps" name="quickrules.war" target="web">quickrules.war.ear</application>

Setting Up the ClusterTo run the cluster setup:

• Execute setupcluster.bat|sh -cmd in SBM_HOME\cluster\bin on one of the cluster nodes.

Configuring Portal Load Balancing

Configure IBM HTTP Server to perform SBM Portals load-balancing.

1. Edit the configurewebserver1.bat located under the bin directory of the Plugins installation directory. In this file, add the ND installation path before the wsadmin script and configureWebserverDefinition.jacl. For example,

wsadmin.bat -f configureWebserverDefinition.jacl webserver1 IHS "C:\\IBM\\IBMHTTPServer" "C:\\IBM\\IBMHTTPServer\\conf\\httpd.conf" 9448 MAP_ALL "C:\\IBM\\WebSphere\\Plugins" unmanaged aruba.savvion.com aruba.savvion.com windows

modify it to:C:\\IBM\\WebSphere\\AppServer\\bin\\wsadmin.bat -f C:\\IBM\\WebSphere\\AppServer\\bin\\configureWebserverDefinition.jacl webserver1 IHS

Clustering Guide 69 Setting Up the Cluster

Page 70: Clustering Guide

"C:\\IBM\\IBMHTTPServer" "C:\\IBM\\IBMHTTPServer\\conf\\httpd.conf" 9448 MAP_ALL "C:\\IBM\\WebSphere\\Plugins" unmanaged aruba.savvion.com aruba.savvion.com windows

2. Log in into the WebSphere Admin Console. In the left panel, go to Servers > Web Server, and then in the right panel, select webserver1 and click Generate Plugin-in. After confirmation click Propogate Plugin-in.

3. Open the file sbm-cluster.xml from the SBM_HOME\cluster\conf directory and check the value for <http-port> under the tag <proxyserver>. Copy this value to the value for the property Port in httpd.conf in the IBM Http Server installation location.

For more information, refer to WebSphere documentation - "Using WebSphere Application Server V5 for load balancing and failover".

Modifying SBM PropertiesEnsure that all nodes in the cluster have the same cluster configuration file, sbm-cluster.xml.

To modify the properties:

1. Edit the SBM_HOME\conf\sbm.conf and SBM_HOME\conf\sbmjndi.properties files and set the sbm.webappdir parameter in the sbm.conf and sbm.websphere.cell.name parameter in the sbmjndi.properties file. The cellname should be the cell name of the “dmgr” of the ND installation. Please note down the current values because you will need them while restoring the original configuration.

2. Edit the SBM_HOME\conf\bpmportal.conf file and modify the bpmportal.jasper.compiler.classpath parameter. The cellname should be the cell name of the “dmgr” of the ND installation. For example,

bpmportal.jasper.compiler.classpath=

D:\IBM\WebSphere\AppServer\profiles\sys79\installedApps\jasper\sbm_war.ear\sbm.war\WEB-INF\lib\jasperreports.jar|

D:\IBM\WebSphere\AppServer\profiles\sys79\installedApps\jasper\sbm_war.ear\sbm.war\WEB-INF\lib\commons-digester.jar|

should be changed to:

bpmportal.jasper.compiler.classpath=

D:\IBM\WebSphere\AppServer\profiles\sys79\installedApps\aruba\sbm_war.ear\sbm.war\WEB-INF\lib\jasperreports.jar|

D:\IBM\WebSphere\AppServer\profiles\sys79\installedApps\aruba\sbm_war.ear\sbm.war\WEB-INF\lib\commons-digester.jar|

where jasper is the profile name of an individual node and aruba is the profile name of an ND node.

Please note down the current values because you will need them while restoring the original configuration.

Clustering Guide 70 Modifying SBM Properties

Page 71: Clustering Guide

3. Edit the SBM_HOME\conf\webservices.conf file and update the following properties:

uddi.0.inquiryURL=http://jaguar.savvion.com:9448/sbm/uddi

uddi.0.publishURL=http://jaguar.savvion.com:9448/sbm/uddi

Both the URLs should point to the individual portal server URL. In the example above, http://jaguar.savvion.com:9448 is the portal server URL of the individual node on jaguar.

4. Run SBM_HOME\cluster\bin\modifyprop.bat on each node in the cluster to update the properties in the SBM conf files for the cluster. This will back up the affected configuration files under SBM_HOME\conf directory by appending .orig extensions to the respective conf files.

In case the cluster configuration file is other than sbm-cluster.xml, you need to run the modifyprop.bat |sh file with the option -f with the configuration file name.

modifyprop.bat [-f clusterFileName]

where clusterFileName is the name of the cluster configuration file to use. If no file is specified, then sbm-cluster.xml is used

5. Run SBM_HOME\bin\setupSbmPortalServer.bat on both sys76 and sys114.

Configuring BizPulse for FailoverSome parameters in bizpulse.conf affect BizPulse failover functionality significantly. For more information about these parameters, refer to Configuring BizPulse for Failover on page 48.

BizPulse Application Loading in a Cluster

For application loading, make sure that you copy all the relevant applications, and their compiled rules on all the nodes in the cluster. Ensure that the same copy of the applications exists on all the nodes and there is no version mismatch on different nodes.

You can use either BizPulseAdmin, or BPM Portal to load the applications.

Working with the ClusterYou need to first start the clusters and / or individual servers, and then run the BizLogic / BizPulse servers.

Starting EJB and Portal Clusters

1. Start the node agents on each node if not already started.

• In D:\WebSphere\AppServer\bin on sys76, execute:startNode.bat

• In D:\WebSphere\AppServer\bin on sys114, execute:startNode.bat

Clustering Guide 71 Configuring BizPulse for Failover

Page 72: Clustering Guide

2. Execute startCluster.bat from SBM_HOME\cluster\bin.

The wsadmin tool exits after ensuring the Start command to individual servers, so make sure that all the servers are started by checking the logs before proceeding (the portal server may take several minutes to start).

Alternatively, you can individually start the servers as follows:

a. On the sys76 node, (APPSERVER_HOME\AppServer\profiles\<profileName>\bin):

• startServer.bat|sh sbm_sys76sbm65node

• startServer.bat|sh sbm_web_sys76sbm65node

b. On the sys114 node,

• startServer.bat|sh sbm_sys114sbm65node

• startServer.bat|sh sbm_web_sys114sbm65node

Starting IBM HTTP Server

From the Deployment Manager Machine, in D:\IBMHttpServer, execute:

Apache.exe

You can now log in into SBM cluster using the common BPM Portal URL:

http://sys90.tdiinc.com:9448/sbm/bpmportal/login.jsp

Starting the BizLogic Server

Go to SBM_HOME\bin and start the BizLogic servers a follows:

1. If the EJB cluster is set up, then start with the command

startBizLogicServer -u <user name> -p <password> -nc <nodes in cluster>

2. If the EJB cluster is not set up, and there is a single EJB server, then start with the command:

startBizLogicServer

For more information on BizLogic server commands, refer to BizLogic Server Commands on page 76.

Note: Since the version of soap.jar distributed with SBM is different from the WebSphere’s soap.jar, the soap.jar under SBM_HOME/lib should be renamed (e.g., soap.jar.orig) before starting BizLogic and BizPulse servers.

Starting the BizPulse Server

Go to SBM_HOME\bin and start the BizPulse server as follows:

1. If the EJB Cluster is set up, then start with the command startBizPulseServer -nodes <nodes in cluster>

Clustering Guide 72 Working with the Cluster

Page 73: Clustering Guide

2. If the EJB Cluster is not set up, and there is a single EJB server, then start with the commandstartBizPulseServer

For more information on BizPulse server commands, refer to BizPulse Server Commands on page 78.

Note: BizLogic and BizPulse servers can also be started using BPM Portal.

Stopping the Cluster

You need to stop the cluster in the exact reverse order of starting the cluster as described in Starting EJB and Portal Clusters on page 71, by using the shutdown command for individual servers.

Restoring Original Configuration

1. Stop IBM HTTP Server, with CTRL+C in the terminal where IBM HTTP Server has started.

2. Stop EJB and Portal cluster:

a. Execute stopCluster.bat from SBM_HOME\cluster\bin.

b. Stop the node agents on each node:

• In D:\WebSphere\AppServer\bin on sys76, execute: stopNode.bat

• In D:\WebSphere\AppServer\bin on sys114, execute:stopNode.bat

3. Remove EJB and Portal Cluster by executing removeSBMClusterFromWS.bat from SBM_HOME\cluster\bin.

4. Convert the setup to stand-alone SBM installations by removing the nodes that were federated to the Deployment Manager:

• In D:\WebSphere\AppServer\bin on sys76, execute:removeNode.bat

• In D:\WebSphere\AppServer\bin on sys114, execute:removeNode.bat

Note that the command must not be issued on two nodes at the same time. Execute removeNode on computer sys76 first, wait for the command to complete, and then execute it on computer sys114.

After the command completes, you should get a message that the node has been successfully removed.

5. Rename the backed up configuration files from the SBM_HOME\conf directory by removing the .orig extensions.

6. Edit the SBM_HOME\conf\sbm.conf and SBM_HOME\conf\sbmjndi.properties files and set the sbm.webappdir parameter in the sbm.conf and sbm.websphere.cell.name parameter in the sbmjndi.properties file to their original values which you had noted down in the step 1 of the Modifying SBM Properties on page 70.

Clustering Guide 73 Restoring Original Configuration

Page 74: Clustering Guide

7. Remove the messaging engine datastore created inside the folder APPSERVER_HOME\AppServer\profiles\<profileName>\databases\com.ibm.ws.sib. The messaging engine folder name follows the following convention: <nodeName>.<clusterMemberName>-<busName>. This has to be done in all the cluster member machines.

Working with Two-Node ClustersThe configuration explained in the sample setup above can also be achieved using two machines instead of three machines, for example, sys90 and sys76. The following figure illustrates the architecture of the cluster.

Figure 19 WebSphere - Two-node Cluster

You can compare it with the architecture of the three-node cluster illustrated in Figure 18 on page 65.

1. Install WebSphere 6.0.2.5 Standard Edition on sys76 and sys90.

2. Install WebSphere 6.0.2.5 Network Deployment on sys90. During the installation, when a screen prompts "Modify ports for coexistence", select the check box. This is a very important step and if not done properly, the cluster may not work.

3. Federate both the nodes (sys90 and sys76) to the Deployment Manager (sys90).

4. Install SBM on sys90 and sys76.

5. If you need to federate the nodes after installing SBM, the parameter SBM.WebAppDir in sbm.conf needs to be manually changed on each node, using the following steps:

a. Find out the node name where Deployment Manager is installed, sys90 in this case.

Clustering Guide 74 Working with Two-Node Clusters

Page 75: Clustering Guide

b. Change the value of SBM.WebAppDir from individual machine name to the Deployment Manager machine name. For example, in sys76, from D:\WebSphere\AppServer\installedApps\sys76\sbm.war.ear\sbm.war to D:\WebSphere\AppServer\installedApps\sys90Network\sbm.war.ear\sbm.war.

c. Make sure that the change is carried out on all the nodes, for example, on both sys76 and sys114 in this case.

Note: When WebSphere 6.0.2.5 is installed on sys90, make sure that IBM HttpServer is installed as a Windows service. Refer to the IBM HttpServer Installation document for more details.

Clustering Guide 75 Working with Two-Node Clusters

Page 76: Clustering Guide

Appendix A

BizLogic Server Commands

This appendix describes the BizLogic commands you need to use for all the supported application servers. You can also start BizLogic Server from the BPM Portal Administration tab. Go to System > Status, select BizLogic Server and click Start.

Starting BizLogic Server InstancesStart the BizLogic servers on all the cluster instances by running the following batch script in SBM_HOME\bin.

startBizLogicServer [options] [-u [username]] [-p [password]] [-nc [count]]

Where,

[options]: -help

[count]: number of BizLogic Server Instances

[username]: optional, valid username

[password]: optional, valid password

For example, for a cluster with two nodes:

startBizLogicServer –u ebms -p ebms -nc 2

The above command starts the BizLogic server on all instances in the cluster. It also starts the BizStore, Emailer, MConsole, CheckDue, ResumeWS, and Session services. Use this command only if you want to start all the servers in a cluster.

76

Page 77: Clustering Guide

Use the following commands to start one or several of all the servers.

Assume a cluster with three nodes. One node in the cluster is shut down or crashes. After the node is restarted, use the following command to start only the BizLogic server on that node:

addBizLogicNodes –u ebms -p ebms -nc 1,

where 1 indicates the number of nodes to restart.

If you need to restart two nodes, use:

addBizLogicNodes –u ebms -p ebms -nc 2.

If a node has crashed or a new node is added, invoke the following command for Archiver or EventPublisher:

startArchiver.bat|shstartEventPublisher.bat|sh

If you see a warning message indicating that the Archiver or EventPublisher is already started, you can disregard it.

Stopping BizLogic Server InstancesYou may drop the BizLogic servers on the cluster instances by running the following batch script in SBM_HOME\bin.

stopBizLogicServer [options] [-u [username]] [-p [password]] [-nc [count]]

Where,

[options]: -help

[count]: number of BizLogic Server Instances

[username]: optional, valid username

[password]: optional, valid password

For example,

stopBizLogicServer –u ebms -p ebms -nc 2

Note: The startBizLogicServer and stopBizLogicServer scripts occasionally throw a weblogic.jms.common.JMSException. You can ignore the message and run the script again.

Clustering Guide 77 Stopping BizLogic Server Instances

Page 78: Clustering Guide

Appendix B

BizPulse Server Commands

This section describes the BizPulse commands you will need to use for all the supported application servers.You can also start BizPulse Server from the BPM Portal Administration tab. Go to System > Status, select BizPulse Server and click Start.

Starting and Stopping BizPulse Server

1. Start the BizPulse server by running startBizPulseServer on one of the nodes in the cluster.

Windows:

startBizPulseServer.bat -nodes <nodes in cluster>

UNIX:

startBizPulseServer.sh -nodes <nodes in cluster>

This command starts the BizPulse server on one node, and monitoring on all the nodes in the cluster, if the parameter bizpulse.server.cluster.monitor is set to “on” in the bizpulse.conf file.

If the parameter bizpulse.server.cluster.monitor is set to “off” in the bizpulse.conf file, the monitoring will not start. However, if you want to start monitoring after you have started the BizPulse server, you need to stop the server, set the parameter bizpulse.server.cluster.monitor to “on”, and start the server again.

2. Stop BizPulse server by running:

Windows:

stopBizPulseServer.bat -nodes <nodes in cluster>

UNIX:

stopBizPulseServer.sh -nodes <nodes in cluster>

This command stops the BizPulse server, and stops monitoring on all the nodes in the cluster.

78

Page 79: Clustering Guide

Starting and Stopping BizPulse Monitoring If you start the BizPulse server with the parameter bizpulse.server.cluster.monitor set to “on” in the bizpulse.conf file, monitoring will start on all the nodes in the server. In this setup, if you add a new node to the cluster, you can start the BizPulse monitor on that node by running:

Windows:startBizPulseMonitor.bat -nodes <nodes in cluster>

UNIX:startBizPulseMonitor.sh -nodes <nodes in cluster>

Note: To use the startBizPulseMonitor.bat|sh command on a new node, you must have started the server with the parameter bizpulse.server.cluster.monitor set to “on” in the bizpulse.conf file.

If you want to stop BizPulse monitoring without stopping the BizPulse server, you can stop BizPulse monitor by running:

Windows:

stopBizPulseMonitor.bat -nodes <nodes in cluster>

UNIX:

stopBizPulseMonitor.sh -nodes <nodes in cluster>

Clustering Guide 79 Starting and Stopping BizPulse Monitoring

Page 80: Clustering Guide

Glossary

This is a listing of common SBM terminology. For a full version of terms used in SBM documentation, refer to the Terminology Guide in the SBM_HOME\docs folder.

A | B | C | D | E | G | H | I | K | M | P | R | S | T | U | W

ACL ManagerIn Savvion BusinessManager (SBM), Access Control List Manager provides a finer, more precise control over user access rights for resources and actions.

Activity WorkstepIn SBM, the basic unit of work; must be performed by one or more human performers (valid individual user, multiple users or user group).

AdapterA Java class that integrates remote, third party classes and actions with SBM. An adapter can automate certain functions and tasks performed by a remote server or other external systems.

AdministrationA module in BPM Portal enabling the administrator to perform such tasks as installing/uninstalling applications, modifying configuration parameters controlling SBM operations, and manage SBM users, groups and access control.The Administration module is visible only to SBM users who have permissions to access it.

ApplicationIn SBM, an application is an installed, executable business process that automates a business flow.

A Go to Top

80

Page 81: Clustering Guide

Balanced ScorecardA management application in the Management module that measures performance by analyzing how an organization’s business activities help it achieve its strategic goals. The Balanced Scorecard provides an analysis from a range of perspectives.

BAMBusiness Activity Management combines Business Process Management with strategic and analytical information on specific business performance indicators, providing real-time status information and identifying critical events to assist senior management in making informed business decisions.

BizLogicAn SBM component that provides a flexible, lightweight, scalable workflow process engine for intranets, extranets, and the Internet.

BizPulseAn SBM component that provides an open event-driven rule engine to formulate and enforce policies in business applications.

BizSolo An SBM component that enables users to develop customizable, sophisticated presentation flows for business processes, install them as Web applications, and execute them on their Web browsers.

BizStoreAn open repository of rich e-business information collected from different SBM modules.

BPELBPEL (Business Process Execution Language) for Web services is an XML-based language designed to enable task-sharing for a distributed computing or grid computing environment - including across multiple organizations - using a combination of Web services.

BPMNBPMN (Business Process Modelling Notation) provides businesses with the capability of defining and understanding their internal and external business procedures through a Business Process Diagram giving organizations the ability to communicate these procedures in a standard manner.

BPM PortalAn SBM component that offers users, managers, administrators and developers a unified, customizable portal for single sign-on access to all SBM functionalities to which they are granted permission.

BPM StudioAn SBM component that is an Integrated Development Environment for SBM and enables SBM users to develop and deploy an SBM application without leaving the development environment.

Business CalendarAn SBM feature that accurately calculates the Due Date of tasks, and provides support for multiple business calendars across different time zones.

B Go to Top

81

Page 82: Clustering Guide

Business FlowThe logical sequence of process activities, related to one another by a triggering activity, to achieve an outcome. It represents a business process that begins with a commitment and ends with the termination of that commitment. In SBM, business flow includes workflow (the flow of all human-performed activities), integration flow (the flow of activities performed by systems) and presentation flow (from a user’s viewpoint, the flow of data from one Web page to the next).

Business LogicThe control flow and information flow among worksteps that define a business process.

Business ObjectA representation of an activity in the business domain, including its name, definition, attributes, behavior, relationships and constraints.

Business ProcessA process involving multiple worksteps in the form of operations, interactions and notifications performed by a user, group of users, an external adapter, or a script. Examples of internal business processes are purchasing, expense reporting, help desk, and time card. External processes may include order processing, sales, and customer service.

Business Process ManagementThe concept of guiding work activities through a multi-step business process in order to improve performance and reduce costs within and across functional business units.

Business RuleA combination of elements, including validation edits, logon verifications, database lookups, policies and transformations, that represent an enterprise’s way of doing business.

ClusterIn SBM, an integrated set of multiple, electronically connected but physically separated servers. This loosely coupled group of nodes collaborate to provide shared access to the services that each node hosts. To other systems, the cluster appears as a single system.

Control FlowThe sequences of worksteps and workstep conditions, as defined in a process template in BPM Studio or Process Modeler.

DashboardAn SBM feature that provides a graphic overview of the status of several business processes on a single Web page, enabling users to monitor the progress of each process. Users can view business processes across all applications or for a selected application.

DataslotA data placeholder that persists through the entire process and defines the information flow of the business process. Dataslots are associated with processes, where they can add information into (Input type) or out of (Output type) worksteps, and appear as editable or read-only fields on a user’s interface.

Expression EditorAn SBM tool that enables users to define complex conditional expressions within a Decision workstep to support their business requirements.

C Go to Top

D Go to Top

E Go to Top

82

Page 83: Clustering Guide

GroupIn SBM, an entity that has as members valid users or other groups who perform related work and have authorized access to specific components.

HeatmapAn SBM feature that provides a convenient, graphical tool for managers to visually locate the bottlenecks in the process execution. It helps managers to get an overview of the status of the currently active instances, identify suspended instances, and analyze the history of the completed instances.

HomeA module in BPM Portal through which users interact with SBM. Using the Home module, users complete entries to various tasks and applications, update profile, set preferences, and link to the support infrastructure required to achieve these tasks. The Home module is the primary interface for SBM application users.

Infopad In SBM, a data structure used to capture business metrics, typically displayed as a table with one or two dimensions.

InstanceAn individual object within a specific class. In SBM, a self-contained unit that is created each time you use a process template to run an SBM application.

KPIKey Performance Indicator, used in the Balanced Scorecard system, that provides the data translating enterprise goals into a set of measurable objectives.

Management A module in BPM Portal enabling the managers to query, report, and control processes and resources for users of SBM. The Management module is visible only to SBM users who have permissions to access it.

Managed Adapter In SBM, a Managed Adapter is an implementation of an adapter interface that facilitates data exchange between SBM processes and external applications.

MigrationThe process of moving from the use of one operating environment to another operating environment that is typically seen as improvement. Migration can involve moving to new hardware, new software, or both. It may involve a new application, another type of database, or a redesigned network. Migration is also used to refer simply to the process of moving data from one storage device to another. SBM supports data migration as well as application migration.

PAMProcess Asset Management recognizes that a company’s processes are a unique asset and provides a structure that organizes, stores, and secures process data, enabling users to retrieve information on any of the company’s processes.

G Go to Top

H Go to Top

I Go to Top

K Go to Top

M Go to Top

P Go to Top

83

Page 84: Clustering Guide

PerformerAn entity that executes a workstep. Depending on the workstep type, the performer can be a human user, a group of users, an adapter or other external performer, or a script.

Presentation FlowThe flow of information and user input from one interface to the next. Typically related to a single Activity workstep in the process and generated in a BizSolo environment.

Process EngineOrchestrates the execution of business processes and also coordinates conversations among process engines based on public processes, which forms the backbone of global business collaboration.

Process ModelerA stand-alone component that enables users to design templates for basic business processes and store or retrieve them from the Savvion central process repository, and to design and run simulations of processes.

Process RefreshAn SBM feature for replacing the installed process without versioning, facilitating the running process instances to refresh and seamlessly adapt to the new workflow.

Process RepositoryA central place (can contain several databases) in which a group of processes is stored and maintained in an organized way, and can be accessed to retrieve information.

Process TemplateIn SBM, a model of business flow that includes worksteps, connectors and dataslots. After users deploy and install it as an application in the SBM directory structure, they can use the application to create process instances.

RollbackIn SBM, a feature that restarts the workflow from a workstep previously selected as the rollback point in the process, performed automatically in the event of a failure.

RoleThe actions and activities assigned to a valid SBM user who is a member of a group. In SBM, only members of a group can be assigned a role. A role indicates the relationships of the user in a group context.

Rule WizardAn interactive utility that enables SBM users to quickly develop rules that can be applied to a business process.

SBM ApplicationAn application is an implementation of a business process. It can contain one or more process templates, performers, adapters, customized forms or rules. An application can be deployed, installed and run on BizLogic servers. In SBM, an application is an installed, executable business process that automates a workflow.

SBM Web ServicesAn SBM component that allows SBM application developers to; a) publish their applications as Web Services, and b) find and convert other available Web Services on the Internet into SBM applications.

Swim LanesUsed in workflow diagrams to organize complex processes across functional boundaries. For example, seen as horizontal lines on a process map, swim lanes can be used to place individual task steps into different categories that depend on task ownership.

R Go to Top

S Go to Top

84

Page 85: Clustering Guide

TaskIn SBM, a performer is assigned one or more workitems that the performer sees as tasks. There are two types of tasks: Assigned, which are assigned specifically to you; and Available, which are available to be performed by you or other members of your user group.

UserIn SBM, a valid human performer with authorized access to specific modules.

WorkflowThe logical sequence of activities performed by human performers, typically in a BPM Studio or Process Modeler environment. Workflow includes the tasks, procedural steps, organizations or people involved, required input and output information, and tools needed for each activity in a business process.

T Go to Top

U Go to Top

W Go to Top

85

Page 86: Clustering Guide

Index

Aapplications

deploying on a cluster 16Archiver 77

Bbatch script 76, 77BizPulse Clustering

Failover Configuration 48, 59, 71BPM Portal Clustering 15BPM Studio Clustering 16

CCluster Tool 18

Cluster Panel 20Configuration Panel 20Server Panel 21Setting up 21Starting 19

Clustering 10Adding New and Recovered Nodes 30, 41Designing 11for Failover 14for Load Balancing 14in SBM 12, 14Terminology 10

Clustering Framework 18, 32Cluster Information 21, 37Cluster Setup in Stages 40

clusters, deploying in a 16Conventions in SBM documentation 9Customer support 9

Ddeploying

applications on a cluster 16Designing Server Clusters 11

EEJB Cluster 56EJB server 56Environment Variables

Setting up 56EventPublisher 77Excel Adapter, issues in clustering 17

FFailover

BizPulse on Pramati 48BizPulse on WebLogic 59BizPulse on WebSphere 71

Iinstalling

SBM as Windows Service 13iWay Adapters, issues in clustering 17

86

Page 87: Clustering Guide

JJMS server 56

LLicense Agreement 2

Mmanaged adapters in clustering 16

PProduct Support Team 9

RRestoring Original Configuration

Pramati 47WebLogic 59WebSphere 73

SSBM

conventions in documentation 9documentation list 8user types 7

Setting up EJB ClusterPramati 46WebSphere 68

Setting up JMS ClusterWebLogic 56

Setting up Web ClusterPramati 46WebLogic 57WebSphere 68

UURL

Document Server 28, 40Using Ports

Pramati 44WebLogic 53WebSphere 67

WWebSphere

Three-node Cluster 65Two-node Cluster 74

Windows Service, installing SBM as 13

Clustering Guide 87