bbc Configuring LiveCycle Application Server Clusters Using WebSphere 6.0 Adobe LiveCycle June 2007 Version 7.2
2007 Adobe Systems Incorporated. All rights reserved. Adobe LiveCycle 7.2 Configuring LiveCycle Application Server Clusters Using WebSphere 6.0 for Microsoft Windows, Linux, and UNIX Edition 2.0, June 2007 If this guide is distributed with software that includes an end user agreement, this guide, as well as the software described in it, is furnished under license and may be used or copied only in accordance with the terms of such license. Except as permitted by any such license, no part of this guide may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, recording, or otherwise, without the prior written permission of Adobe Systems Incorporated. Please note that the content in this guide is protected under copyright law even if it is not distributed with software that includes an end user license agreement. The content of this guide is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Adobe Systems Incorporated. Adobe Systems Incorporated assumes no responsibility or liability for any errors or inaccuracies that may appear in the informational content contained in this guide. Please remember that existing artwork or images that you may want to include in your project may be protected under copyright law. The unauthorized incorporation of such material into your new work could be a violation of the rights of the copyright owner. Please be sure to obtain any permission required from the copyright owner. Any references to company names and company logos in sample material or in the sample forms included in this software are for demonstration purposes only and are not intended to refer to any actual organization. Adobe, the Adobe logo, LiveCycle, and Reader are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. IBM, AIX, DB2, and WebSphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. Oracle is a trademark of Oracle Corporation and may be registered in certain jurisdictions. SUSE is a trademark of Novell, Inc. in the United States and other countries. Sun, Java, and Solaris are trademarks or registered trademark of Sun Microsystems, Inc. in the United States and other countries. Microsoft, Windows, and Windows Server are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. UNIX is a registered trademark of The Open Group in the US and other countries. All other trademarks are the property of their respective owners. Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA. Notice to U.S. Government End Users. The Software and Documentation are Commercial Items, as that term is defined at 48 C.F.R. 2.101, consisting of Commercial Computer Software and Commercial Computer Software Documentation, as such terms are used in 48 C.F.R. 12.212 or 48 C.F.R. 227.7202, as applicable. Consistent with 48 C.F.R. 12.212 or 48 C.F.R. 227.7202-1 through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are being licensed to U.S. Government end users (a) only as Commercial Items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions herein. Unpublished-rights reserved under the copyright laws of the United States. Adobe Systems Incorporated, 345 Park Avenue, San Jose, CA 95110-2704, USA. For U.S. Government End Users, Adobe agrees to comply with all applicable equal opportunity laws including, if appropriate, the provisions of Executive Order 11246, as amended, Section 402 of the Vietnam Era Veterans Readjustment Assistance Act of 1974 (38 USC 4212), and Section 503 of the Rehabilitation Act of 1973, as amended, and the regulations at 41 CFR Parts 60-1 through 60-60, 60-250, and 60-741. The affirmative action clause and regulations contained in the preceding sentence shall be incorporated by reference.
Contents Preface... 5 Who should read this guide?... 5 Versions... 5 Conventions used in this guide... 5 Related documentation... 6 Updated LiveCycle product information... 7 1 Overview... 8 About clustering application servers... 8 Failover... 9 Load distribution and load balancing... 9 Web server load balancing... 9 Scalability...10 WebSphere and distributed sessions...10 Terminology...10 Clustering LiveCycle products...11 Supported topologies...12 Combining the web, application, and database servers...12 Combining the web and application servers...12 Combining the application and database servers...12 Separate web, application, and database servers...12 Adding additional web servers...12 Adding additional application servers...13 Multiple JVMs...13 Messaging topologies...13 Unsupported topologies...14 2 Configuring the Application Servers... 15 Preparing to install...15 Installing the Deployment Manager...15 Installing WebSphere application server...15 Installing the WebSphere FixPacks...15 Shutting down and restarting nodes and clusters...16 Creating profiles...17 Creating a WebSphere Deployment Manager profile...17 Creating a WebSphere Application Server profile...18 Adding and removing nodes...19 Adding nodes...19 Removing nodes...20 Deleting profiles...20 Configuring WebSphere clusters...21 Creating clusters by using the Deployment Manager...21 3 Configuring the Web Servers...23 Preparing for installation...23 Installing the web server...23 Installing the web server plug-in...24 3
Contents Configuring LiveCycle Application Server Clusters Using WebSphere 4 4 Post Installation... 26 Creating an endorsed directory...26 Configuring the shared libraries...26 Increasing the SOAP time-out...28 5 Configuring the Database... 29 Installing database drivers...29 Configuring the databases...30 Configuring Oracle databases...30 Configuring DB2 databases...30 Configuring a DB2 database for concurrent usage...32 Configuring SQL Server databases...32 Installing JTA stored procedures...33 Enabling XA transactions for Windows Server 2003...34 Configuring datasources...34 Configuring the Oracle data source...35 Configuring the DB2 data source...36 Configuring the SQL Server data source...37 6 Configuring Messaging and Security... 39 Configuring a default messaging provider for LiveCycle Policy Server...39 Configuring a default messaging provider for other products...41 Configuring security for LiveCycle Policy Server...48 7 Configuration Requirements... 50 Large document handling...50 Common elements between LiveCycle products...50 Configure WebSphere 6 under AIX to use IPv4...50 Configuring LiveCycle Workflow properties...51 Scheduler property definition and values that can be added...51 Cache configuration properties...52 Adding property definitions...54 Email receiver configuration...54 LiveCycle Policy Server caching configuration setup...55 Configuring caching properties for User Management...55 Configuring JVM properties...56 8 Deploying LiveCycle Products... 57 Assembling LiveCycle.ear for LiveCycle PDF Generator in a cluster...57 About deploying LiveCycle products to a cluster...57 Summary of deployable components...57 Deploying LiveCycle products...58 Starting the application...62 Verifying the LiveCycle Forms deployment...63 Bootstrapping LiveCycle products...63 Generating and propagating the web server plug-in...64 Viewing log files...65 9 Issues with Clustering... 66 Failed to acquire job exception in WebSphere...66 ORB threadpool for LiveCycle Policy Server and LiveCycle Document Security...66 LiveCycle Forms preferences do not get propagated...66 LiveCycle Reader Extensions UI is not supported in a cluster...67
Preface This document explains how to deploy an Adobe LiveCycle server product in a IBM WebSphere Application Server 6.0 clustered environment. Who should read this guide? This guide provides information for administrators or developers responsible for installing, configuring, administering, or deploying LiveCycle products. The information provided is based on the assumption that anyone reading this guide is familiar with WebSphere Application Server, RedHat Linux, SUSE Linux, Microsoft Windows, AIX, or Sun Solaris operating systems, MySQL, Oracle, DB2, or SQL Server database servers, and web environments. Versions This document describes clustering for LiveCycle 7.2.x. Conventions used in this guide This guide uses the following naming conventions for common file paths. Name Default value Description [LiveCycle root] [appserver root] [profiles root] Windows: C:\Adobe\LiveCycle\ Linux and UNIX : /opt/adobe/livecycle/ Windows: C:\Program Files\IBM\WebSphere\ AppServer Linux and UNIX: /opt/ibm/websphere/appserver Application Server: [appserver root]/appserver/profiles Deployment Manager: [appserver root]/deploymentmanager /profiles The installation directory that is used for all LiveCycle products. The installation directory contains subdirectories for Adobe Configuration Manager, product SDKs, and each LiveCycle product installed (along with the product documentation). The home directory of the application server that runs the LiveCycle products. The directory location that stores profiles. The directory paths listed indicate the default locations, however, administrators may specify their own profiles directory location. 5
Preface Configuring LiveCycle Application Server Clusters Using WebSphere Related documentation 6 Name Default value Description [dbserver root] [product root] Depends on the database type and your specification during installation. Windows: C:\Adobe\LiveCycle\Assembler C:\Adobe\LiveCycle\pdfgenerator C:\Adobe\LiveCycle\Workflow C:\Adobe\LiveCycle\Forms C:\Adobe\LiveCycle\Print C:\Adobe\LiveCycle\Formmanager Linux, UNIX: /opt/adobe/livecycle/assembler /opt/adobe/livecycle/pdfgenerator /opt/adobe/livecycle/workflow /opt/adobe/livecycle/forms /opt/adobe/livecycle/print /opt/adobe/livecycle/formmanager The location where the LiveCycle database server is installed. The directories where product-specific directories and files (such as documentation, uninstall files, samples, and license information) are located. Most of the information about directory locations in this guide is cross-platform (all file names and paths are case-sensitive on Linux). Any platform-specific information is indicated as required. Related documentation This document should be used in conjunction with the Installing and Configuring LiveCycle guide or the Installing and Configuring LiveCycle Security Products guide for your application server. Throughout this document, specific sections in these installing and configuring guides are listed when more detailed information is available. The Installing and Configuring LiveCycle 7.2.x guides apply to the following products: Adobe LiveCycle Assembler 7.2.1 Adobe LiveCycle Forms 7.2 Adobe LiveCycle Form Manager 7.2.2 Adobe LiveCycle PDF Generator 7.2.1 and 7.2.2 Adobe LiveCycle Print 7.2 Adobe LiveCycle Workflow 7.2.2 Adobe LiveCycle Workflow Designer 7.2.2 Watched Folder 1.2 The Installing and Configuring LiveCycle Security Products guides apply to the following products: Adobe LiveCycle Document Security 7.2.1 and 7.2.2 Adobe LiveCycle Reader Extensions 7.2 Adobe LiveCycle Policy Server7.2
Preface Configuring LiveCycle Application Server Clusters Using WebSphere Updated LiveCycle product information 7 Updated LiveCycle product information Adobe Systems has posted a Knowledge Center article to communicate any updated LiveCycle product information with customers. You can access the article at: www.adobe.com/support/products/enterprise/knowledgecenter/c4811.pdf.
1 Overview This section describes the benefits and issues associated with setting up clusters. About clustering application servers A cluster is a group of application server instances running simultaneously, which act like a single system enabling load distribution, load balancing, scalability, high availability, and failover. Within a cluster, multiple server instances can run on the same computer (known as a vertical cluster) or be located on different computers (known as a horizontal cluster), or they can form a combination of both horizontal and vertical clusters. With clustering, client work can be distributed across several nodes instead of being handled by a single application server. In a clustered configuration, application server instances are server members of the cluster, all of which must have identical application components deployed on them. However, other than the configured applications, cluster members do not have to share any other configuration parameters. For example, you can cluster multiple server instances on one computer, with a single instance on another computer, provided they are all running WebSphere 6.0. 8
Overview Configuring LiveCycle Application Server Clusters Using WebSphere Failover 9 By clustering, you can achieve one or more of the following benefits. How you implement clustering determines which benefits are achieved: Failover Failover Load balancing Load distribution Scalability Failover allows one application server instance to act as a backup to a failed application server instance and resume processing the task, thereby enabling one application server to carry on processing. Some products, such as LiveCycle Workflow, can recover process states at the step and process levels. Load distribution and load balancing Load distribution is a static technique used to distribute client HTTP requests across the servers in a cluster based on a predefined algorithm such as round-robin or random (even or weight-based) so that no single device is overwhelmed. If one server starts to get congested or overloaded, requests are forwarded to another server with more capacity. Load balancing is a dynamic or adaptive load distribution technique by which a cluster attempts to balance load on all servers based on real time variations between the member servers. Dynamic load balancing can be achieved by JMS request dequeing, other techniques are beyond the scope of this guide. Application server load balancing is useful for managing the load between application server tiers. Application servers can be configured to use a weighted round-robin routing policy that ensures routing distribution based on the set of server weights that have been assigned to the members of a cluster. Configuring all servers in the cluster to have the same weight produces a load distribution in which all servers receive the same number of requests and this configuration is recommended when all nodes in the cluster have similar hardware configurations. Weighting some servers more heavily sends more requests to these servers than the lower weight value servers. Preferred routing configurations can also be configured to ensure, for example, that only cluster members on that node are selected (using the round-robin weight method) and cluster members on remote nodes are selected only if a local server is not available. Application server load balancing is best used when balancing is needed between tiers. Web server load balancing Web server load balancing is useful for queuing and throttling requests. For IBM HTTP Server, the two most commonly used methods for load balancing and single-system imaging are Round-Robin DNS and the IBM enetwork Dispatcher. Round-Robin DNS is a relatively simple method of load balancing, where a DNS (Domain Name System) server provides a name to address resolution and is always involved when a host name is included in a URL. A Round-Robin DNS server has the capability of resolving one single host name into multiple IP addresses, such that requests for a single URL (containing a host name) actually reference different web servers. The client requests a name resolution for the host name, but in fact receives different IP addresses, thus spreading the load among the web servers. In a simple configuration, the Round-Robin DNS server cycles through the list of available servers.
Overview Configuring LiveCycle Application Server Clusters Using WebSphere Scalability 10 Scalability The IBM enetwork Dispatcher provides load balancing services by routing TCP/IP session requests to different servers in a cluster, using advisor services to query and evaluate the load of each of the servers in the cluster. The manager service routes clients' requests to a web server based on the current load information received from these advisor services. The web servers process the requests and respond directly to the clients. Scalability in a cluster is the capability of an administrator to increase the capacity of the application dynamically to meet the demand without interrupting or negatively impacting service. WebSphere clusters allow administrators to remove nodes from a cluster in order to upgrade components, such as memory, or to add nodes to the cluster without bringing down the cluster itself. WebSphere and distributed sessions The HTTP protocol is a stateless protocol. However, an HTTP session provides the ability to track a series of requests and associate those requests with a specific user, thereby allowing applications to appear stateful. Furthermore, applications store user information and other information, which means that they need to track sessions in some way, such as through cookies or URL rewriting. In the cluster environment where multiple nodes can serve user requests, it is very important that user Hot Standby Cluster information is available during all requests by ensuring that up-to-date session data is available at all of the nodes. Several different scenarios are used to achieve this requirement: Persistence to database: In this scenario, all of the session data is stored in a database. If one server node fails, other servers can retrieve session data from the database and continue processing client requests. In this scenario, session data survives the crash of a server. Memory to memory: In this scenario, all of the session data is stored in memory at each node, and some kind of replication service replicates the session data among nodes. Most application servers provide peer-to peer-replication. WebSphere provides three models of memory-to-memory replication: Buddy system of single replica Dedicated replication server Peer-to-peer replication The WebSphere Distributed Replication Service is used to replicate data among distributed processes in a cell; however, session replication is only scalable when used with relatively small data sized objects or small numbers of objects. Terminology WebSphere uses specific terminology, which is defined here to avoid confusion: Server: Represents an instance of a Java virtual machine (JVM). Node: Represents a physical system running one or more WebSphere servers. Cell: Represents a logical grouping of multiple nodes for administrative purposes. Cluster: Represents a logical grouping of multiple application servers within a cell for administration, application deployment, load balancing, and failover purposes. Federation: The process of joining a stand-alone WebSphere node to a WebSphere cell.
Overview Configuring LiveCycle Application Server Clusters Using WebSphere Clustering LiveCycle products 11 Clustering LiveCycle products If you install a LiveCycle product on an application server cluster, here are a few things you must know: (All LiveCycle products except LiveCycle PDF Generator Professional and LiveCycle PDF Generator Elements) You are required to install the product on only one system, not necessarily a server. After configuring the LiveCycle product, you can deploy it to the cluster. (LiveCycle PDF Generator Professional and LiveCycle PDF Generator Elements) You must install the product on each node of the cluster. LiveCycle must be clustered by using a homogeneous topology (all nodes in the cluster must be configured identically) on each application server it is deployed to. You can ensure that all modules are configured identically by configuring run-time properties in the single-installation staging area. The configuration is deployed using the single entity approach; all nodes in a cluster are deployed as if deploying to a single node. Server clustering is supported by WebSphere Application Server ND and WebSphere Application Server Enterprise. Clustering is not supported by WebSphere Base or WebSphere Application Server Express. For more information, see the appropriate chapter in this guide for the LiveCycle product you are clustering. Caution: LiveCycle requires that all nodes in the cluster run the same operating system. Clustering LiveCycle products involves the following tasks: 1. Installing the web servers 2. Installing instances of WebSphere Application Server 3. Installing WebSphere Application Server Network Deployment 4. Creating the cluster Creating a deployment server profile and creating the Deployment Manager Creating application server profiles on all the nodes Starting all servers on all nodes that will become members of the cluster Federating nodes to the Deployment Manager Creating the cluster Starting the cluster Configuring cluster resources 5. Deploying applications 6. Generating the WebSphere HTTP plug-in 7. Starting the HTTP server
Overview Configuring LiveCycle Application Server Clusters Using WebSphere Supported topologies 12 Supported topologies The following sections discuss various topologies, both clustered and non-clustered, that can be employed. Combining the web, application, and database servers This topology consists of a web server, an application server, and a database server on the same node. This topology is the simplest one and must be used for development only. Combining the web and application servers This topology can be considered for production in cases where the load on the user interface (including the web tier) is minimal, with a small number of users. Combining the web and application servers means that all Enterprise Java Bean (EJB) look-ups are local, and therefore reduces the overhead of doing a remote look-up. Also, it reduces network overhead of a round trip between the web tier and the application tier. However, with both servers on the same node, if the web tier is compromised, both tiers are compromised, and if the web tier experiences a heavy load, the application server processing is affected and vice versa. User response time is usually affected in situations when users need to wait a significant amount of time to get a page back due to all server resources (that is, CPU and/or memory) being consumed by the application server. If the web tier has a large session size, the application could be deprived of the memory required to process messages off the Java Message Service (JMS) layer. Combining the application and database servers The simplest topology that should be considered for a production environment is a web server and combined application server with database server. Use this topology only if you are sure that your database load will be minimal. In this scenario, the web server is providing a redirection to the application server. The advantages of this topology are low cost, low complexity, and no need for load balancing. The disadvantages of this topology are little redundancy, low scalability, inability to perform updates and upgrades, and possible low performance due to too many CPU processes. Separate web, application, and database servers This topology is the most common in production systems because it allows allocation of separate resources to each of the tiers. In this case, the web server acts as a proxy to the web tier on the application server that hosts the web components. This level of indirection provides additional security by securing the application server even if the web server is compromised. Adding additional web servers You can add additional web servers for scalability and failover. When using multiple web servers, the WebSphere HTTP plug-in configuration file must be applied to each web server. Failure to do so after introducing a new application will likely cause a 404 File Not Found error to occur when a user tries to access the web application.
Overview Configuring LiveCycle Application Server Clusters Using WebSphere Adding additional application servers 13 Adding additional application servers This topology is used in most large-scale production systems where the application servers are clustered to provide high availability and, based on the application server capabilities, failover and load balancing. Clustering application servers has these benefits: Allows you to use cheaper hardware configurations and still achieve higher performance Allows you to upgrade software on servers without downtime Provides higher availability (that is, if one server fails, the other nodes in the cluster pick up the processing) Provides the ability to leverage load distribution algorithms on the web server (by using load balancers) as well as on the EJB tier for load balancing requests Can provide faster average scalability and throughput LiveCycle products are typically CPU-bound and, as a result, performance gains are better achieved by adding more application servers than by adding more memory or disk space to an existing server. Multiple JVMs Vertical scaling of multiple JVMs offers the following advantages: Better utilization of CPU resources: An instance of an application server runs in a single JVM process. However, the inherent concurrency limitations of a JVM process prevent it from fully utilizing the processing power of a machine. Creating additional JVM processes provides multiple thread pools, each corresponding to the JVM process associated with each application server process. This correspondence avoids concurrency limitations and lets the application server use the full processing power of the machine. Load balancing: Vertical scaling topologies can use the WebSphere Application Server workload management facility. Process failover: A vertical scaling topology also provides failover support among application server cluster members. If one application server instance goes offline, the other instances on the machine continue to process client requests. For more information on vertical clustering, go to the IBM website at http://publib.boulder.ibm.com/infocenter/wasinfo/v5r1//index.jsp?topic=/com.ibm.websphere.nd.doc/in fo/ae/ae/ctop_vertscale.html Messaging topologies You can configure embedded JMS in various messaging topologies: Multiple WebSphere Application Servers and a single JMS server within the cluster Multiple WebSphere Application Servers and a single JMS server that is not part of the cluster Multiple WebSphere Application Servers, each with their own messaging engine JMS server implementation Multiple WebSphere application servers and a single JMS server within the cluster Features This topology is not recommended for any product because it does not provide scalability, load balancing, or load distribution. It only provides failover for the application server and the JMS. Only one server performs all processing and the other server takes over if the primary server fails.
Overview Configuring LiveCycle Application Server Clusters Using WebSphere Unsupported topologies 14 JMS server implementation Multiple WebSphere application servers and a single JMS server that is not part of the cluster Multiple WebSphere application servers, each with their own JMS Features This topology provides true load balancing as well as JMS failover, high availability, and load distribution. This topology provides JMS failover, high availability, load distribution, but not true JMS load balancing. Unsupported topologies The following topologies are not supported for LiveCycle. Splitting the web container / EJB container Splitting LiveCycle servers into presentation/business logic tiers and running them on distributed computers is not supported. Geographically distributed configuration Many applications locate their systems geographically to help distribute the load and provide an added level of redundancy. LiveCycle does not support this configuration because LiveCycle components cannot be pulled apart to run on different hosts; LiveCycle is deployed as a monolithic application.
2 Configuring the Application Servers You must now configure your WebSphere Application Servers. Preparing to install Before installing WebSphere, the following configuration tasks must be performed: Disk space: Ensure that the partition that will hold the application server has 10 GB of free disk space. Note: IBM AIX maintenance-level packages are extracted to /usr/sys/ist.images and can be up to 1 GB. IP address settings: All of the computers must have a fixed IP address and must be in the same DNS. Installing the Deployment Manager You must install the Deployment Manager (WebSphere Application Server Network Deployment) on an administrative system. For information on installing the Deployment Manager, see: http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp Installing WebSphere application server You must install WebSphere version 6.0.2.15 for running LiveCycle products. Install WebSphere on each node that will form the cluster, accepting all default configuration options, including default messaging. Installing the WebSphere FixPacks If you are running WebSphere Application Server 6.0.2, installing Fix Pack 15 upgrades your installation to version 6.0.2.15. You can obtain the Fix Pack from IBM at this location: www-1.ibm.com/support/docview.wss?rs=180&uid=swg27006876#60215 You must also upgrade the Java JDK to 1.4.2 SR4 or later, you can find the latest IBM JDK here: http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg24011104 Installing the CORBA FixPack The following Fix Pack is required if you are installing WebSphere 6.0 with Fix Pack 15. If you install Fix Pack 17 or higher, the Corba Fix Pack is not required. In order to install this Fix Pack you must have administrative rights in Windows, or be the Actual Root User in a UNIX environment, and be logged in with the same authority level when unpacking a fix, Fix Pack or Refresh Pack. 15
Configuring the Application Servers Configuring LiveCycle Application Server Clusters Using WebSphere Shutting down and restarting nodes and clusters 16 To install the CORBA Fix Pack: 1. Download the 6.0.2.9-WS-WAS-IFPK30872.pak Fix Pack file from the following link: http://www-1.ibm.com/support/docview.wss?uid=swg24012068 2. Unzip the Update Installer to the [appserver root]/updateinstaller directory and place the Fix Pack in the [appserver root]/updateinstaller/maintenance directory. 3. If WebSphere is currently started, stop it. 4. Open a command prompt and navigate to the [appserver root] and run the following command:./updateinstaller/update Note: The update command should be run from the [appserver root] directory to avoid errors. 5. Follow the wizard with all default settings (if the wizard needs to upgrade the IBM JVM, follow the prompts to relaunch the wizard). Make sure to select the CORBA Fix Pack file as the maintenance pack to install. 6. Restart WebSphere. Shutting down and restarting nodes and clusters The procedures below detail how to shut down and restart the servers in a cluster and should be referenced when instructed throughout this document to restart servers in the cluster. To shut down a cluster: 1. In a web browser, type the URL to the Deployment Manager; for example, type: http://<servername>:9060/ibm/console 2. In the left frame, select Servers and click the Clusters link. 3. Select the cluster and click Stop. To shut down a node: 1. In a web browser, type the URL to the Deployment Manager; for example, type: http://<servername>:9060/ibm/console 2. In the left frame select System Administration and click Nodes. 3. Select the node and click Stop. To restart the nodes the node agents from the command line: 1. Navigate to the [profile root]/bin directory of the application server on each node. 2. Run the startnode command: (Windows) startnode.bat (Linux, UNIX) startnode.sh
Configuring the Application Servers Configuring LiveCycle Application Server Clusters Using WebSphere Creating profiles 17 Creating profiles Profiles are an integral aspect of WebSphere 6 and provide a powerful means of creating complex clusters and diverse node management. Note that the concept of profiles and nodes are directly correlated in WebSphere 6. In order to properly set up a cluster, you must first create a Deployment Manager profile that will run the Administrative Console and then you can add and federate the other nodes that will comprise your eventual cluster. Creating a WebSphere Deployment Manager profile On the node you have selected to host the Deployment Manager, you must create a Deployment Manager profile. This profile will contain the Administrative Console and also host the cell to which the nodes will be federated (server based profiles) that will comprise you cluster. To create a WebSphere Deployment Manager profile: 1. From a command prompt, change the current directory to [appserver root]/bin/profilecreator. 2. Start the WebSphere Profile Creation wizard by entering the following command: (Windows) pctwindows.exe (AIX) pctaix.bin (Solaris) pctsolaris.bin (Linux) pctlinux.bin 3. On the Welcome panel, click Next. 4. Select Create a Deployment Manager profile, and then Click Next. 5. In the Profile Name box, type a name for the profile or accept the default, and click Next. 6. Click Next to accept the default directory to store the profile. 7. In the Node Name box, type a unique name to represent this profile s node. Typically this name is in the form [DNS_Name]-[Node_Name]. 8. In the Host Name box, type the full DNS name or IP address of this machine and click Next. 9. The Cell Name box will default to a generated name such as [DNS_Name]CellXX, where XX represents the cell number. For example, if this is the first Deployment Manager created on this node the number will default to 01. Type a new cell name, or accept the default, and click Next. 10. Record the port number used for the SOAP connector and the Web Container (HTTP and HTTPS), and then click Next. Note: You will need to know these port numbers when you run Configuration Manager to configure the application server. 11. (Windows) Specify whether you want to run the server as a Windows service, and then specify the user account to run the service and click Next. 12. Review the profile summary and click Next. 13. Click Finish.
Configuring the Application Servers Configuring LiveCycle Application Server Clusters Using WebSphere Creating a WebSphere Application Server profile 18 Creating a WebSphere Application Server profile When installing WebSphere Base, a default profile will be created. You can create a different profile in order to leverage in your cluster by following these procedures. WebSphere needs to be running when you perform this task. To create a WebSphere Application Server profile: 1. From a command prompt, change the current directory to [appserver root]/bin/profilecreator. 2. Start the WebSphere Profile Creation wizard by entering the following command: (Windows) pctwindows.exe (AIX) pctaix.bin (Solaris) pctsolaris.bin (Linux) pctlinux.bin 3. On the Welcome panel, click Next. 4. Select Create an Application Server profile, and then click Next. 5. In the Profile Name box, type a name for the profile or accept the default, and click Next. 6. Click Next to accept the default directory to store the profile. 7. In the Node Name box, type a unique name to represent this profile s node. Typically this name is in the form [DNS_Name]-[Node_Name]. In the Host Name box, type the full DNS name or IP address of this machine and click Next. 8. Record the port number used for the SOAP connector and the Web Container (HTTP and HTTPS), and then click Next. Note: You will need to know these port numbers when you run Configuration Manager to configure the application server. 9. (Windows) Specify whether you want to run the server as a Windows service, and then specify the user account to run the service and click Next. 10. Review the profile summary and click Next. 11. Click Finish. Repeat steps 1 to 11 for each node in the cluster. For a vertical cluster, these steps would be repeated on the same machine as the first profile was created; otherwise, these steps would be performed on the other machines that comprise the cluster.
Configuring the Application Servers Configuring LiveCycle Application Server Clusters Using WebSphere Adding and removing nodes 19 Adding and removing nodes Now that your profiles have been created, you now must federate each of those profiles/nodes into the Deployment Manager profile. The procedures below detail how to add a node to or remove a node from an existing WebSphere cell (with multiple nodes). Adding nodes In order to federate a node, ensure that the Deployment Manager is running. Check to ensure that you can ping the Deployment Manager from the new node by name, not simply by IP address. It is also important to ensure that the server system clocks are synchronized so that they are within 5 minutes of each other. To federate a node: 1. From a command prompt, navigate to the [profiles root]\<profile name>\bin directory of the new node. 2. Run the addnode script (addnode.bat for Windows, addnode.sh for Linux/UNIX) and use the computer name as a parameter; for example, type: (Windows) addnode.bat [ND_ServerName] [ND_ServerPort] (UNIX/Linux) addnode.sh [ND_ServerName] [ND_ServerPort] In addition to federating the node to the cell, addnode also starts the node agent process. After the node is federated to a cell, the node agent is started with the startnode command, which is also located in the profile s bin directory. During this process, the node being federated communicates to the Deployment Manager using port 8879, by default. The node agent pings all of the application servers on a node. When the node agent detects that the application server is not available, it tries to stop and restart the application server. It is a good idea to add the node agent as an operating system daemon process in UNIX. You can add the node agent as a service in Windows by using WASService, available in the bin directory of the base application server installation. Alternatively, the nodes can also be federated from the Administrative Console of the Deployment Manager. To federate nodes from the Deployment Manager: 1. Navigate to System Administration > Nodes and click Add Node. 2. Select Managed Node and click Next. 3. Specify the following properties: In the Hostname box, enter the hostname or IP address of the node. In the JMX connector port box, type the connector port to be used, the default value is 8880. Deselect include busses and include applications Click OK. 4. Repeat steps 1 to 3 for each additional node to be added. 5. Log out of the Administrative Console, and then log back in. The federated nodes will be visible under System Administration > Nodes.
Configuring the Application Servers Configuring LiveCycle Application Server Clusters Using WebSphere Removing nodes 20 Removing nodes Nodes can be removed either using script files on each of the nodes, or in the Administrative Console of the Deployment Manager. To remove a node from a cluster using script files: 1. Verify that the Deployment Manager is running. 2. On each node, navigate to the bin directory of the profile running the node manager and run the appropriate removenode and cleanup scripts: (Windows) removenode.bat (Linux, UNIX) removenode.sh (Windows) cleanupnode.bat (Linux, UNIX) cleanupnode.sh To remove a node from a cluster using the admin console: 1. Verify that the Deployment Manager is running. 2. In a web browser, type the URL to the Deployment Manager; for example, type: http://<servername>:9060/ibm/console 3. In the left frame, select System Administration and click the Nodes link. 4. Select the node to be deleted and click Remove Node. 5. Verify the node has been removed. Deleting profiles You can delete profiles that are no longer needed on your Deployment Manager and servers. To delete a profile: 1. Open a command prompt, and navigate to the [appserver root]/bin directory. 2. Run the following command from the console: (Windows) wasprofile.bat -delete -profilename [profilename] (UNIX/Linux) wasprofile.sh -delete -profilename [profilename] Note: The deleted profiles directory and log files will not be deleted. If you attempt to create a new profile using the same profile name as the deleted profile, you will receive an error. You must manually delete the directory before creating the new profile.
Configuring the Application Servers Configuring LiveCycle Application Server Clusters Using WebSphere Configuring WebSphere clusters 21 Configuring WebSphere clusters Creating WebSphere clusters involves the following tasks: Federating the nodes Creating clusters using the Deployment Manager Setting up the clusters Adding ports to the host alias list Creating clusters by using the Deployment Manager Log in to the Administrative Console of the Deployment Manager computer. By default, the Administrative Console web application listens on port 9060. You should have already created server profiles for your nodes and a Deployment Manager profile for your ND node. For information on creating profiles, see: publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.nd.doc/info/a e/ae/tins_scenario4.html To create a cluster using the Deployment Manager: 1. In a web browser, type the URL to the Deployment Manager; for example, type http://<servername>:9060/ibm/console 2. In the left frame, expand the Servers menu and click the Clusters link. 3. Click New. 4. In the Step 1: Enter Basic Cluster Information window, type the name of the cluster; for example, type mycluster. 5. Select Create replication domain for this cluster. Under Existing Server, select Do not include an existing server in this cluster, and then click Next. 6. In the Step 2: Create cluster members window, enter the name of the server to be added to the cluster. 7. In the Select Node list, select the node that will contain the new cluster member. 8. In the Weight box, type the server weight. Servers with a higher value receive a larger share of the cluster s workload. 9. Select Generate Unique Http Ports. 10. Select Default application server template and click Apply. 11. Repeat steps 6 to 10 to add additional servers in the cluster, and then click Apply. 12. Click Next, in the Step 3: Summary window, click Finish. 13. Click Save. 14. In the Save to Master Configuration window, select Synchronize changes with Nodes and click Save.
Configuring the Application Servers Configuring LiveCycle Application Server Clusters Using WebSphere Creating clusters by using the Deployment Manager 22 To start the cluster: 1. Select Servers > Clusters, select the new cluster and then click Start. Alternatively, you can click Ripplestart, which starts the servers in sequence. 2. Select Servers > Application Servers, and ensure that the servers you created in step 6. on page 21 are listed and started. 3. Navigate to System administration > Nodes, select expand each of the nodes and ensure that the nodes are listed, and that their status is listed as Started. 4. Navigate to Servers > Application Servers > [ServerName], select the Configuration tab, and then click Container Settings > Session Management > Distributed Environment Settings. 5. In the same Configuration panel, select Web Container Settings > Session Management and then click Memory-to-memory replication. Note: Unless you select this option, memory-to-memory replication may not be available for your cluster. 6. Under Replication domain, select the name of the cluster you provided in step 4. on page 21. 7. Under Replication mode, select Both client and server and then click OK. 8. In the same Configuration panel, under Additional Properties, click Custom tuning parameters. 9. Under General Properties, select Low (optimize for failover), and then click OK. 10. Click Server > Application Server > [ServerName], and under Performance select Performance Monitoring Infrastructure (PMI). 11. Under General Properties, select Enable Performance Monitoring Infrastructure (PMI). 12. Under Currently Monitored Statistics Set, select Basic and click OK. 13. Repeat steps 4 to 12 for each server you created in step 6. on page 21. 14. Save your changes to the master configuration. You should now take the time to verify that each server has its own unique HTTP port. Completing the cluster configuration: 1. In a web browser, type the URL to the Deployment Manager; for example, type http://<servername>:9060/ibm/console 2. Click Servers > Application Servers > [Server Name] and under Communications, click Ports. 3. In the table, select WC_defaulthost, and assign a unique port address for each server in the cluster. 4. Repeat steps 2 to 3 for each server in the cluster. 5. Select Environment > Virtual Hosts > default_host > Host Aliases, and for each port assigned in step 3 click New and add the port you assigned for each server in the cluster. In the host name, enter * (asterisk). 6. Start the newly added server by clicking Servers > Application Servers > [new server] and then clicking Start.
3 Configuring the Web Servers It is recommended that you use IBM HTTP server that ships with the WebSphere Application Server. Preparing for installation Before you install the web server, the following configuration tasks must be performed: Server domain: If you are using a domain architecture, ensure that the server is not a member of any domain other than the same domain as the LDAP server. Create local user: In Microsoft Windows, if you plan to run the HTTP server as a service, you can create a local account and make this account a part of the local administrators group. Installing the web server The following steps detail how to install IBM HTTP server on a separate node from the WebSphere ND or WebSphere basic application servers. For information on installing and configuring other IBM supported web servers such as Apache, Microsoft IIS, and Sun Java System Web Server, see: http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.expres s.doc/info/exp/ae/tins_manualwebserver.html It is assumed that you have inserted the installation media or copied the files to a local directory, and have opened a system terminal and navigated to that directory. Note: This procedure can be used to upgrade the current version of IBM HTTP Server by replacing the existing installation. To install the web server: 1. To start the installation, navigate to the WAS6 installer directory and type: (UNIX) launchpad.sh (Windows) launchpad.bat 2. From the Launchpad, select Launch the installation for IBM HTTP Server. 3. At the Welcome screen, click Next. 4. Select I accept the terms in the license agreement and click Next. 5. Specify the location of the installation directory and then click Next. 6. Select Custom and then click Next. 7. Under Product Information, select HTTPServer Base and Security and then click Next. 8. Specify the HTTP port and HTTP Administration port and then click Next. 23
Configuring the Web Servers Configuring LiveCycle Application Server Clusters Using WebSphere Installing the web server plug-in 24 9. (Windows) Specify the following values: Select Run IBM HTTP Server as a Windows Service. Select Run IBM HTTP Administration as a Windows Service. Select Log on as local system account. Note: A user name and password is not required for this selection. To run this service using a specific user account and password combination, select Log on as a specified user account and specify your user ID and password information. Under Startup Type, select Automatic. Click Next. 10. Review the confirmation panel to verify your selections. Click Back to change any of your specifications. Click Next to begin installing IBM HTTP Server. 11. After displaying installation status, the wizard displays the Completion status panel that indicates a successful installation. 12. Deselect the Launch the WebSphere Application Server - Plugin install and click Finish. Installing the web server plug-in After the application server is installed and the applications are deployed, you must install the web server plug-in on the HTTP server. This procedure assumes a remote HTTP server on a node that is not in the cluster. To install the web server plug-in: 1. On the webserver machine (the remote system that has HTTP server installed) copy the WebSphere 6 installer, and then, from a console navigate to the WebSphere 6 installer directory and run launchpad by typing: (UNIX) launchpad.sh (WIndows) launchpad.bat 2. From the Launchpad, select the Launch the installation wizard for Web server plug-ins. 3. Deselect Installation roadmap. 4. Deselect Plug-ins section of the Getting Started guide and then click Next. 5. Select I accept the terms in the license agreement and then click Next. 6. The installer will now check your system. If your system passes the prerequisites check, click Next. Note: If your system does not pass the prerequisites check, stop the installation, correct any problems, and restart the installation. 7. Select IBM HTTP Server V6 and click Next. 8. Select Web server machine (remote) and click Next. 9. Specify the [plugins_root] directory, the location where the web server plug-ins should be installed, and click Next.
Configuring the Web Servers Configuring LiveCycle Application Server Clusters Using WebSphere Installing the web server plug-in 25 10. In the Select the existing IBM HTTP Server httpd.conf file select, click Browse and select the httpd.conf file from the [webserver root]/conf directory. Where [webserver root] specifies the directory where the IBM HTTP server is installed. 11. In the Specify the Web server port box, leave the default port value of 80 and click Next. 12. In the Specify a unique Web server definition name box, enter a unique identifier for this definition and then click Next. 13. In the Web server plugin-cfg.xml file box, accept the default settings and then click Next. 14. In the Host name or IP address for the Application Server box, type the host name or IP address of the ND node and then click Next. 15. In the confirmation panel, click Next. 16. In the summary information panel, click Next. 17. Once the files have been copied, click Next and then click Finish. 18. Copy the [plugins_root]/bin/configure<webserver definition name>.bat or configure<webserver definition name>.sh to the WebSphere ND [appserver root]\bin folder. 19. Ensure the Deployment Manager is running and run the configurewebserver command (configure<webserver definition name>.bat for Windows or configure<webserver definition name>.sh for Linux/UNIX) on the WebSphere ND machine to create an unmanaged node on the WebSphere ND machine and add the web server to it.
4 Post Installation If you have not installed LiveCycle, you must do so now before continuing. Creating an endorsed directory You must create an endorsed directory in the WebSphere directory. The endorsed directory must be placed in the same location, within the WebSphere directory, on each node that will be in the cluster and on the Deployment Manager. To create an endorsed directory: 1. Navigate to the [appserver root]/java/jre/lib directory and create a directory called endorsed. 2. Copy the following files from the [LiveCycle root]/components/um/endorsed directory to the endorsed directory you just created: dom3-xercesimpl-2.4.0.jar dom3-xml-apis-2.4.0.jar xalan-2.4.1.jar 3. (Solaris) Move the [appserver root]/java/jre/lib/endorsed/xml.jar file to the [appserver root]/java/jre/lib directory. Note: For more information, see the Adobe Knowledge Center article c4863, LiveCycle Forms issues with WebSphere. Configuring the shared libraries You must copy the DocumentServicesLibrary.jar file to the WebSphere directory on each base node in the cluster, and then configure WebSphere shared libraries. You also need to configure a new classloader that uses the shared library. Note: All of tasks in this section must be performed for each node in the cluster. You must also copy the Document Services Library file and configure the shared library files on the Deployment Manager. Please ensure that you use the same directory path for all servers. (All products except LiveCycle Policy Server) To configure the DocumentServicesLibrary file: 1. Copy the DocumentServicesLibrary.jar file from the [LiveCycle root]/components/csa/websphere /lib/adobe directory to the [appserver root]/optionallibraries directory. 2. In the WebSphere Administrative Console navigation tree, select Environment > Shared Libraries. 3. Click Browse Nodes, select the node you are using for LiveCycle, and then click OK. 4. Click Apply, and then click New. 26
Post Installation Configuring LiveCycle Application Server Clusters Using WebSphere Configuring the shared libraries 27 5. On the Configuration page, specify the following information: In the Name box, type DocumentServicesLibrary In the Classpath box, type [appserver root]/optionallibraries/documentserviceslibrary.jar 6. Click OK, and then click Save. 7. Repeat 2 to 6 for each of the remaining nodes in the cluster. 8. Save changes to the Master Configuration. (LiveCycle Policy Server only) To configure the shared library files: 1. For each node in the cluster, copy the edc-server-spi.jar file from [LiveCycle root]/policyserver/sdk/spi-lib/edc-server-spi.jar to the [appserver_root]/optionallibraries directory. 2. In the WebSphere Administrative Console navigation tree, select Environment > Shared Libraries. 3. Click Browse Nodes, and select the node you are using for LiveCycle Policy Server, and then click OK. 4. Click Apply, and then click New. 5. On the Configuration page, type the following information: In the Name box, type EDCApplication In the Classpath box, type [appserver_root]/optionallibraries/edc-server-spi.jar Then click Apply. 6. Click OK, and then click Save. 7. Save changes to the Master Configuration. 8. After you have added the edc-server-spi.jar file to the optionallibraries directory and configured it as a shared library, you must install and configure the library. To configure the classloader: 1. In the WebSphere Administrative Console navigation tree, select Servers > Application Servers. 2. Click the server instance that you are configuring (for example, server1). 3. In the Configuration tab under Server Infrastructure > Java and Process Management, click ClassLoader. 4. Click New. In the Class loader mode list, keep the default value Parent_First, and click OK. 5. On the page that appears, click the Classloader ID link of the newly created classloader instance. 6. On the page that appears, under Additional Properties, click Libraries and click Add. 7. In the Library Name list, select DocumentServicesLibrary and click OK. 8. (LiveCycle Policy Server only) In the Library Name list, select EDCApplication and click OK. 9. Save your changes to the Master Configuration.
Post Installation Configuring LiveCycle Application Server Clusters Using WebSphere Increasing the SOAP time-out 28 Increasing the SOAP time-out For each node in the cluster and on the Deployment Manager, you must increase the default SOAP time-out by editing the soap.client.props file. Edit the soap.client.props file. You can find the file under: [profiles root]/<profile name>/properties The default value for the com.ibm.soap.requesttimeout property is 180 seconds. You must change the value to 1800 for each profile that comprises the cluster, including the Network Deployment Manager. Once the value has been increased, the entire cluster, including the node agents, must be restarted.
5 Configuring the Database Before installing some LiveCycle products to the cluster, the database must be configured. See the installing and configuring guide for the LiveCycle product you are clustering. To configure the database, you must have a database server installed and a database created. For more information on creating and installing databases for LiveCycle products, see the installing and configuring guide for the LiveCycle product you are clustering. Installing database drivers If you are installing an Oracle or DB2 database, you must install database drivers to the installation directories of the application server. Drivers are required to enable Configuration Manager and the application server to connect to the LiveCycle database. You need to install the drivers for the type of database that you use for the LiveCycle database. These drivers have to be installed on the same [appserver root] location for all nodes. Caution: For LiveCycle Policy Server, the WebSphere embedded drivers are not supported for the MS SQL Server 2000 SP 3 database. You can only use the Microsoft database drivers. These drivers are available from the Microsoft website. For other LiveCycle products, you can use either the embedded drivers or the Microsoft drivers. To install the Oracle driver: 1. Download the Oracle 10g (10.2.0.1) driver from http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc_10201.html. 2. In the [appserver root] directory, create a directory named db_driver. 3. Copy the ojdbc14.jar file that you downloaded to the [appserver root]/db_driver directory. To install the DB2 driver: 1. In the [appserver root] directory, create a directory named db_driver 2. Copy the db2jcc_license_cu.jar and db2jcc.jar files from the [dbserver root]/java directory, for example [dbserver root]/ibm/sqllib/java (Windows) or [dbserver root]/java (Linux, UNIX), to the [appserver root]/db_driver directory. To install the Microsoft drivers: 1. Download the MS SQL Server 2000 SP 3 database drivers from www.microsoft.com/downloads/details.aspx?familyid=07287b11-0502-461a-b138-2aa54bfdc03a&d isplaylang=en. 2. In the [appserver root] directory, create a directory named db_driver. 3. Copy the msbase.jar, mssqlserver.jar, and msutil.jar files that you downloaded to the [appserver root]/db_driver directory. 29
Configuring the Database Configuring LiveCycle Application Server Clusters Using WebSphere Configuring the databases 30 Configuring the databases This section describes how to set up the database that stores LiveCycle configuration information and run-time data. The procedures described in this section apply to all LiveCycle products that use User Management. If you previously configured the database for deploying other LiveCycle products, you do not need to perform the tasks again. Note: User Management is an optional feature for LiveCycle Forms. If this is the first installation of a LiveCycle product, you must create an empty database. All of the tables required to support LiveCycle products will be created by Configuration Manager when you initialize the database. Before creating the database, you must ensure that you have read the pre-installation requirements and have the required software installed. Also note that if you are installing LiveCycle Policy Server along with other LiveCycle products, two databases and two data sources are required. Configuring Oracle databases If you prefer not to use the default database that was created when you installed Oracle 9i or 10g, create a new database using the Database Configuration Assistant tool. You must create a database that uses the UTF-8 character set if the LiveCycle user records database authenticates against an LDAP directory that uses UTF-8 characters. You must also create a new user on the database. For deployments on Linux and UNIX, the user name must not exceed 8 characters and, on Windows, it must not exceed 12 characters. This user name and password will be used again when you create the data source. For both Oracle 9i and Oracle 10g, the user account must be assigned both the CONNECT and RESOURCE roles. For Oracle 9i, the user account must be granted the ACCESS_ANY_WORKSPACE, CREATE VIEW, and UNLIMITED TABLESPACE system privileges. For Oracle 10g, the user account must be granted the ACCESS_ANY_WORKSPACE, CREATE SESSION, CREATE SYNONYM, CREATE VIEW, and UNLIMITED TABLESPACE system privileges. For information about using Oracle9i or 10g, see the Oracle 9i or 10g user documentation. Configuring DB2 databases Create a DB2 database by running the script provided in this section. The script is tuned for a system that will use 1 GB of memory for the database. If your system has a different amount of memory dedicated for the database, see the DB2 documentation for details on configuring your system settings. You must also create a user with SYSADM and DBADM privileges that can be used when configuring the data source on the application server. For information about creating a user, see the DB2 documentation. For deployments on Linux and UNIX, the user name must not exceed 8 characters and, on Windows, it must not exceed 12 characters. The user name and password of the new user you create on the database are used again when you create the data source. After you create the database, you must configure it to enable concurrent usage.
Configuring the Database Configuring LiveCycle Application Server Clusters Using WebSphere Configuring DB2 databases 31 To create a DB2 database: 1. On the computer that hosts DB2, create a new text file that includes the following DB2 script: create database dbname using codeset utf-8 territory default; connect to dbname; CREATE BUFFERPOOL "BP8K" SIZE 50000 PAGESIZE 8192 NOT EXTENDED STORAGE; connect reset; connect to dbname; CREATE TEMPORARY TABLESPACE DBNAME_TEMP_8K IN DATABASE PARTITION GROUP IBMTEMPGROUP PAGESIZE 8192 MANAGED BY SYSTEM USING ('DB2_root\DBNAME_TEMP') EXTENTSIZE 32 PREFETCHSIZE 16 BUFFERPOOL BP8K; CREATE REGULAR TABLESPACE DBNAME_DATA_8K IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 8192 MANAGED BY DATABASE USING (FILE'DB2_root\DBNAME_DATA'9000) EXTENTSIZE 16 PREFETCHSIZE 16 BUFFERPOOL BP8K; commit work; connect reset; connect to dbname; alter bufferpool ibmdefaultbp immediate size 96000; alter bufferpool bp8k immediate size 32000; commit work; connect reset; update db cfg for dbname using dbheap 4000; update db cfg for dbname using logbufsz 2048; update db cfg for dbname using locklist 2000; update db cfg for dbname using chngpgs_thresh 40; update db cfg for dbname using logfilsiz 4000; deactivate database dbname; activate database dbname; 2. Make the following changes to the script: Replace the instances of dbname and DBNAME with the name that you want for the LiveCycle database. Replace DB2_root with the path to the root directory where DB2 is installed. Ensure that no commands include line breaks and each command is terminated by a semicolon ( ; ). Change 9000 in the following line based on your database size: (FILE'DB2_root\DBNAME_DATA'9000) This number specifies the minimum number of pages required to initialize the database. You can also change this number using the DB2 administration tools after initializing the database. 3. Save the text file in a location that DB2 Command Line Processor can access. 4. Open a command prompt. 5. (Windows) Enter the following command to open DB2 Command Line Processor: db2cmd 6. Enter the following command to run the script: db2 -tf <path_to_script_file>/<script_file_name>
Configuring the Database Configuring LiveCycle Application Server Clusters Using WebSphere Configuring a DB2 database for concurrent usage 32 Configuring a DB2 database for concurrent usage If you are using a DB2 database, you must configure it for multiple-user scenarios. To configure the DB2 database for concurrent usage: 1. Start DB2 Control Center: (Windows) Select Start > Programs > IBM DB2 > General Administration Tools > Control Center. (Linux and UNIX) From a command prompt, enter the command db2jcc 2. In the DB2 Control Center object tree, click All Databases. 3. Right-click the database you created for LiveCycle products and click Configuration Advisor. 4. Follow the steps in the Configuration Advisor wizard and ensure that the properties in the following table are set. DB2 property Workload type Average number of SQL transactions per unit of work Database Administration Priority Populated Database Isolation Level Required value Mixed Fewer than 10 Faster transaction performance Set according to the current state of the database. The database is not populated if the database has not yet been initialized using Configuration Manager. Cursor Stability Configuring SQL Server databases You can create a SQL Server database that LiveCycle products use to store run-time and configuration data. For information on creating a SQL Server database, refer to the SQL Server documentation. LiveCycle products support SQL Server 2000 SP3a and SP4. Create a SQL Server database and create a user with DB_OWNER privileges that can be used when configuring the data source on the application server. For information about creating the database and user, see the SQL Server documentation. The SQL Server database can be configured with the Windows or SQL Server authentication types. You must also install JTA stored procedures on SQL Server. The embedded Connect JDBC driver is shipped with WebSphere Application Server in two parts. The JAR files are included in the main product installation and are updated automatically when the application server is updated. However, the stored procedures for JTA are found on a CD that is separate from the main installation. Because the stored procedures for JTA must reside on your machines running SQL Server, which might be separate from your machines that run WebSphere Application Server, you must install the stored procedures manually. (See Installing JTA stored procedures on page 33.) If SQL Server runs on Windows 2003, you need to enable XA transactions at the operating system level. (See Enabling XA transactions for Windows Server 2003 on page 34.)
Configuring the Database Configuring LiveCycle Application Server Clusters Using WebSphere Configuring SQL Server databases 33 Installing JTA stored procedures LiveCycle products deployed on WebSphere use a database driver to connect to the SQL Server database. This driver requires stored procedures for JTA on the SQL Server computer. You need to obtain and install updated SQL Server install files for JTA stored procedures. To install JTA stored procedures: 1. Download the ConnectJDBC33-JTA.zip file from the ftp://ftp.software.ibm.com/software/websphere/info/tools/datadirect/datadirect.htm website. This file applies to SQL Server 2000 when connecting from WebSphere version 5.1 and later. 2. Extract the ConnectJDBC33-JTA.zip file to a directory on the SQL Server computer. 3. Obtain and install the SQL Server 2000 Driver for JDBC SP3 from: http://www.microsoft.com/downloads/details.aspx?familyid=07287b11-0502-461a-b138-2aa54bfdc 03A&displaylang=en 4. Copy the sqljdbc.dll file from the [extracted location]\sqlserver JTA\32-bit directory to the [install directory]\microsoft SQL Server\MSSQL\Binn directory, where [install directory] is the location where SQL Server is installed. Note: If the SQL Server computer uses a 64-bit architecture, copy the sqljdbc.dll file from the [extracted location]\sqlserver JTA\64-bit directory. 5. Log in to SQL Server 2000 Query Analyzer using a user account that is a member of the sysadmin group. The default member is sa. 6. In the menu of available databases, ensure that master is selected. 7. Open the instjdbc.sql file from the [extracted location]\sqlserver JTA\32-bit directory, and then execute it. Note: If the SQL Server computer uses a 64-bit architecture, execute the instjdbc.sql file from the [extracted location]\sqlserver JTA\64-bit directory If you are running this query for the first time, you will see several messages that indicate xp_xxx cannot be dropped. These messages are warnings and do not indicate that the installation failed. The last message should read instxa.sql completed successfully. The instjdbc.sql script generates many messages. In general, these messages can be ignored; however, the system administrator should scan the output for any messages that may indicate an execution error. The last message should indicate that instjdbc.sql ran successfully. The script fails when there is insufficient space available in the master database to store the JDBC XA procedures or to log changes to existing procedures. 8. Ensure that MS DTC is started for SQL Server 2000: Start SQL Server Service Manager. In the Services list, select Distributed Transaction Coordinator. Click Start/Continue. If you want MS DTC to start automatically when the computer starts, select Auto-start service when OS starts.
Configuring the Database Configuring LiveCycle Application Server Clusters Using WebSphere Configuring datasources 34 Enabling XA transactions for Windows Server 2003 If you are running SQL Server 2000 on the Windows Server 2003 Enterprise Edition operating system, XA transactions must be enabled at the operating system level. Before you perform the tasks in this section, you must verify whether XA transactions are already enabled for Windows Server 2003. To enable XA transactions on the operating system, you need to perform the following tasks: Enable XA transactions for the MS DTC. Create a registry entry for the sqljdbc.dll database drivers file that you are using. To enable XA transactions for MS DTC: 1. Select Start > Programs > Administrative Tools > Component Services. 2. Select Component Services > Computers. 3. Right-click the computer name that you want to support for XA transactions and click Properties. 4. Click the MSDTC tab and click Security Configuration. 5. Under Security Settings, select Enable XA Transactions. To create registry entries for the driver file: 1. Use a registry editor (such as regedit) to navigate to the registry key named HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\XADLL. 2. Create a new String Value registry named value that has the following properties: Name: sqljdbc.dll Type: String (REG_SZ) Value: The full path name (including the file name) of the DLL file: [install directory]\microsoft SQL Server\MSSQL\Binn\sqljdbc.dll 3. Restart the computer so that the changes to the registry take effect. Configuring datasources WebSphere can be configured to run with an Oracle, DB2, or SQL Server database. The configuration differs slightly for each database. If you are installing LiveCycle Policy Server and any other LiveCycle application that requires a datasource, you are required to create two datasources as detailed in the following procedures. Caution: Using WebSphere environment variables that have been defined at the cell level in the classpath is strongly discouraged. Instead, environment variables should be configured at the cluster level.
Configuring the Database Configuring LiveCycle Application Server Clusters Using WebSphere Configuring the Oracle data source 35 Configuring the Oracle data source Before performing the following procedure, you must have already created an Oracle database and a user on the database. To create a data source on WebSphere: 1. In the WebSphere Administrative Console navigation tree, select Resources > JDBC Providers. 2. For Scope, select Cluster and click Apply. 3. Click New and select the following values: Oracle in step 1 Oracle JDBC Driver in step 2 Connection pool data source in step 3 4. Click Next and click Apply. 5. Under General Properties, in the Class Path box, type [appserver root]/db_driver/ojdbc14.jar Note: For the Native library path property, leave the box blank. 6. Click Apply. 7. Under Additional Properties, select Data Sources. 8. Click New and type a name for the data source (for example, LiveCycleDS). 9. (LiveCycle Policy Server) In the JNDI Name box, type EDC_DS and then click Apply. 10. (All products except LiveCycle Policy Server) In the JNDI Name box, type IDP_DS and then click Apply. 11. In the URL box, type jdbc:oracle:thin:@[server-name]:[port]:[service-name] (where [server-name] is your Oracle 9i or Oracle 10g server name, [port] is the port number (default is 1521), and [service-name] is your database), and then click Apply. 12. Under Related Items, select J2EE Connector Architecture (J2C) authentication data entries. 13. Click New and, in the Alias box, type a name (for example, MyAlias). 14. Type the user ID and password that correspond with the user you created on the database, click Apply, and then click OK. 15. Save your changes to the Master Configuration. 16. Navigate back to JDBC Providers > Oracle JDBC Driver > Data Sources and select LiveCycleDS. 17. Under General Properties, set both Component-managed authentication alias and Container-managed authentication to [computer_name]/myalias and click Apply. 18. From Mapping-configuration alias, select DefaultPrincipalMapping and click Apply. 19. Save your changes to the Master Configuration. Note: If you attempt to test the connection at this point, you will receive a failure since the test connection is conducted from the Deployment Manager and is not part of the cluster.
Configuring the Database Configuring LiveCycle Application Server Clusters Using WebSphere Configuring the DB2 data source 36 Configuring the DB2 data source Before performing the following procedure, you must have already created a DB2 database and a user on the database. To create a data source on WebSphere: 1. In the WebSphere Administrative Console navigation tree, select Resources > JDBC Providers. 2. For Scope, select Cluster and click Apply. 3. Click New and select the following values: DB2 in step 1 DB2 Universal JDBC Driver Provider in step 2 Connection pool data source in step 3 4. Click Next and click Apply. 5. Under General properties, in the Class Path box, type: [appserver root]/db_driver/db2jcc_license_cu.jar [appserver root]/db_driver/db2jcc.jar Note: For the Native library path property, leave the box blank. Click Apply. 6. Under Additional Properties, select Data Sources. 7. Click New and type a name for the data source (for example, LiveCycleDS). 8. (All Products except LiveCycle Policy Server) In the JNDI Name box, type IDP_DS. 9. (LiveCycle Policy Server) In the JNDI Name box, type EDC_DS. 10. Under DB2 Universal data source properties, set the following properties: Database name: The database name of the DB2 database in which the LiveCycle database resides. Driver type: Set to 4. Server name: The name of the DB2 server to which you are connecting. Port number: The port number of the DB2 server to which you are connecting. The default is 50000. 11. Under Data Store Class Helper Name, select Select a data store helper class, and in the Data store helper classes provided by WebSphere Application Server box, select DB2 Universal data store helper. 12. Click Apply. 13. Under Related Items, select J2EE Connector Architecture (J2C) authentication data entries. 14. Click New and, in the Alias box, type a name (for example, MyAlias). 15. Type the user ID and password that correspond with the user you created on the database, and then click Apply.
Configuring the Database Configuring LiveCycle Application Server Clusters Using WebSphere Configuring the SQL Server data source 37 16. Save your changes to the Master Configuration. When prompted, select Synchronize changes with nodes. 17. Navigate back to JDBC Providers > DB2 Universal JDBC Driver Provider > Data Sources and select the name for the data source (for example, LiveCycleDS). 18. Set both Component-managed authentication alias and Container-managed authentication to [computer_name]/myalias. 19. From Mapping-configuration alias, select DefaultPrincipalMapping and click Apply. 20. (LiveCycle PDF Generator, LiveCycle Workflow, LiveCycle Form Manager, LiveCycle Assembler) Perform the following steps: Navigate back to JDBC Providers > DB2 Universal JDBC Driver Provider > Data Sources and select the name for the data source (for example, LiveCycleDS). Under Additional Properties, select Connection pool properties and, in the Maximum connections box, type 100. Click Apply. 21. Save your changes to the Master Configuration. When prompted, select Synchronize changes with nodes. 22. Test the data source connection by navigating to JDBC Providers > DB2 Universal JDBC Driver Provider > Data Sources. 23. Select the check box next to the data source you created and click Test Connection. A message is displayed describing the test results. Note: If the test results indicate failure, please restart the nodes and the servers, and then test the connection again. 24. If you already had a data source configured and have created a new one, stop and restart the application server. Configuring the SQL Server data source Before performing the following procedure, you must have already created a SQL Server database and a user on the database. To enable WebSphere and your LiveCycle deployment to connect to the SQL Server database, you must complete the following tasks: Configure JDBC information. Configure J2C authentication information. Create a data source on WebSphere. To create a data source on WebSphere: 1. In the WebSphere Administrative Console navigation tree, select Security > Global Security > JAAS Configuration > J2C Authentication Data. 2. Click New and, in the Alias box, type a name for the alias (for example, SQLServer). 3. In the User ID box, type the user name of the user account you created on the database and, in the Password box, type the corresponding password.
Configuring the Database Configuring LiveCycle Application Server Clusters Using WebSphere Configuring the SQL Server data source 38 4. Click Apply, click OK, and then save to the Master Configuration. 5. In the navigation tree, select Resources > JDBC Providers. 6. Click Cluster and click Apply. 7. Click New and select the following values: SQL Server in step 1 WebSphere embedded ConnectJDBC driver for MS SQL Server in step 2 Connection pool data source in step 3 8. Click Next and click Apply. 9. Under General properties, in the Class path box, type: [appserver root]/db_drivers/util.jar [appserver root]/db_drivers/base.jar [appserver root]/db_drivers/sqlserver.jar Note: If you are using the Microsoft drivers, replace util.jar, base.jar and sqlserver.jar with msutil.jar, msbase.jar, and mssqlserver.jar. Note: For the Native library path property, leave the box blank. 10. In the Name box, type WebSphere embedded ConnectJDBC driver for MS SQL Server. 11. In the Description box, type WebSphere embedded ConnectJDBC driver for MS SQL Server. 12. In the Implementation Classname box, type com.ibm.websphere.jdbcx.sqlserver.sqlserverdatasource and click OK. 13. Click SQL Server JDBC Provider and, under Additional Properties, select Data Sources. 14. Click New and, in the Name box, type a name for the data source (for example, LiveCycleDS). 15. (All products except LiveCycle Policy Server) In the JNDI Name box, type IDP_DS. 16. (LiveCycle Policy Server) In the JNDI Name box, type EDC_DS. 17. Under General Properties, set both Component-managed authentication alias and Container-managed authentication to the alias you created in step 2 and click Apply. 18. In the Mapping-configuration alias menu, select DefaultPrincipalMapping and click Apply. 19. Under Connect JDBC data source properties, type the name of your database name, server name, and port number. 20. Under Additional Properties, click Connection Pool, change the value of Maximum connections to 30, and then click OK. 21. Save your changes to the Master Configuration. 22. Test your connection by selecting Resources > JDBC Providers > SQL Server JDBC Provider > Data Sources and clicking Test Connection.
6 Configuring Messaging and Security You must now configure the default messaging provider for WebSphere. Configuring a default messaging provider for LiveCycle Policy Server You configure embedded messaging by completing the following tasks: Create a service integration bus. Define bus members. Set up a JMS queue connection factory. Set up a JMS queue. Set up a bus destination. Set up a JMS activation specification. To create a service integration bus: 1. In the WebSphere Administrative Console navigation tree, select Service Integration > Buses and click New. 2. In the Name box, type EDC_JMS_BUS. 3. Click Apply and save your changes to the Master Configuration. To create bus members: 1. Select the new bus by clicking EDC_JMS_BUS. 2. Click Bus Members and then click Add. 3. Select the cluster. 4. Click Next, review the configuration, and then click Finish. 5. Save your changes to the Master Configuration. To set up a JMS queue connection factory: 1. In the WebSphere Administrative Console navigation tree, select Resources > JMS Providers > Default Messaging. 2. Under Scope, select Cluster. 3. Under Connection Factories, select JMS Queue Connection Factory and click New. 4. In the Name box, type EDCEventQCF. 5. In the JNDI Name box, type jms/edceventqcf. 39
Configuring Messaging and Security Configuring LiveCycle Application Server Clusters Using WebSphere Configuring a default messaging provider for LiveCycle Policy Server 40 6. In the Bus Name list, select EDC_JMS_Bus. 7. In the Non Persistent Message Reliability list, select As Bus Destination. 8. In the Persistent Message Reliability list, select As Bus Destination. 9. In the Component-Managed Authentication Alias, select the database alias you created earlier and click Apply. 10. Navigate to Container-managed authentication alias and select EDC_DS for your datasource. 11. Select the connection factory you created. 12. Under Additional Properties, select Connection pool properties and, in the Maximum Connections box, type 50, in the Minimum Connections box, type 10, and then click OK. 13. Click Apply and save your changes to the Master Configuration. To set up a JMS queue: 1. In the WebSphere Administrative Console navigation tree, select Resources > JMS Providers > Default Messaging. Under Destinations, select JMS Queue, and then click New. 2. In the Name box, type EDC_Event_Queue. 3. In the JNDI Name box, type queue/edc_event_queue. 4. In the Bus Name list, select EDC_JMS_Bus. 5. In the Queue Name list, select Other, Please Specify. In the box, type EDC_Event_Queue. 6. In the Delivery Mode list, select Persistent. 7. In the Read Ahead list, select As Connection Factory. 8. Click Apply and save your changes to the Master Configuration. To set up a Bus destination: 1. In the WebSphere Administrative Console navigation tree, select Service Integration > Buses > EDC_JMS_Bus > Destinations. 2. Click New, select Queue, and then click Next. 3. In the Identifier box, type EDC_Event_Queue and click Next. 4. Under Bus Members, select the cluster and click Next. 5. Click Finish and save your changes to the Master configuration. To set up a JMS activation specification: 1. In the WebSphere Administrative Console navigation tree, select Resources > JMS Providers > Default Messaging. 2. Set scope to Cluster and click Apply. 3. Under Activation Specifications, select JMS Activation Specification and click New.
Configuring Messaging and Security Configuring LiveCycle Application Server Clusters Using WebSphere Configuring a default messaging provider for other products 41 4. In the Name box, type EDCEvent_AS. 5. In the JNDI Name box, type EDCEvent_AS. 6. In the Destination Type list, select Queue. 7. In the Destination JNDI Name box, type queue/edc_event_queue. 8. In the Bus Name list, select EDC_JMS_Bus. 9. Click Apply and save your changes to the Master Configuration. Configuring a default messaging provider for other products The recommended topology for LiveCycle in a WebSphere 6.0 cluster is to have one active JMS messaging engine that is external to the LiveCycle cluster. In order to ensure failover of the JMS messaging engine, a second cluster of at least two servers should be created to host the messaging engine. Each application server instance in the messaging engine cluster should run on a separate physical machine to avoid a single point of hardware failure. However, the same physical machines that are used for the LiveCycle cluster's application servers can be used for the messaging engine cluster's application server instances. Caution: To configure your application server using this messaging topology, you will require a private patch from IBM, please contact your IBM representative for details. Create the messaging engine cluster. Create a service integration bus. Create the bus members. Create the messaging engines. Set up WebSphere queue connection factories. Set up WebSphere topic connection factories. Set up WebSphere queue destinations. Set up WebSphere topic destinations. Set up WebSphere activation specifications. Set up JVM Arguments. To create the messaging engine cluster: 1. In the WebSphere Administrative Console navigation tree, select Servers >Clusters, and then click New. 2. In the Cluster Name box, type the name of your cluster. For example, type MECluster. 3. Select the default settings for all other options and then click Next. 4. In the Member Name box, type the name of the application server instance to add to the cluster. 5. In the Select Node list, select the node on which to create this application server instance, and select Generate Unique Http Ports. 6. Under Select Template, click Default application server template and click Apply. 7. Repeat steps 4 to 6 for each subsequent application server instance to add to the cluster.
Configuring Messaging and Security Configuring LiveCycle Application Server Clusters Using WebSphere Configuring a default messaging provider for other products 42 8. Click Next. 9. Click Finish. Note: At least two application server instance must be created in the message engine cluster. To create a service integration bus: 1. In the WebSphere Administrative Console navigation tree, select Service Integration > Buses and click New. 2. In the Name box, type IDP_JMS_BUS. 3. Click Apply and save your changes to the Master Configuration. To create bus members: 1. Select the new bus by clicking IDP_JMS_BUS. 2. Click Bus Members and then click Add. 3. Select your message engine cluster from the list. 4. In the Data source JNDI name field, type IDP_DS. 5. Click Next, review the configuration, and then click Finish. 6. Save your changes to the Master Configuration. Note: The LiveCycle cluster should not be added as a bus member. If it has been added, it should be removed. To add required queues to the WebSphere default JMS server: 1. In the WebSphere Administrative Console navigation tree, select Service Integration > Buses > IDP_JMS_BUS and under Destination Resources click Destinations. 2. For each queue listed in the following table, perform steps 3 to 5. Queue name ADOBE.WORKFLOW.OBJECT_DELETE.QUEUE ADOBE.WORKFLOW.PE_COMMAND.QUEUE ADOBE.WORKFLOW.PED_COMMAND.QUEUE ADOBE.WORKFLOW.PED_LONGLIVED.QUEUE ADOBE.WORKFLOW.PE_INTERACTION.QUEUE ADOBE.WORKFLOW.PE_LONGLIVED.QUEUE ADOBE.WORKFLOW.SCHEDULEDMSG.QUEUE ADOBE.PDFG.AESJOB.QUEUE ADOBE.PDFG.PDFGCOMPLETEDJOBS.QUEUE Applicable LiveCycle product LiveCycle Form Manager or LiveCycle Workflow LiveCycle Form Manager or LiveCycle Workflow LiveCycle Form Manager or LiveCycle Workflow LiveCycle Form Manager or LiveCycle Workflow LiveCycle Form Manager or LiveCycle Workflow LiveCycle Form Manager or LiveCycle Workflow LiveCycle Form Manager or LiveCycle Workflow LiveCycle PDF Generator LiveCycle PDF Generator
Configuring Messaging and Security Configuring LiveCycle Application Server Clusters Using WebSphere Configuring a default messaging provider for other products 43 3. Click New, select Queue, and then click Next. 4. In the Identifier box, type the name of the appropriate queue, and click Next. 5. Under Bus members, select [messaging engine cluster] and click Next. 6. Review the summary and click Finish. 7. Save your changes to the Master Configuration. To add required topics to the WebSphere default Messaging Engine: 1. In the WebSphere Administrative Console navigation tree, select Service Integration > Buses > IDP_JMS_BUS > Destinations. 2. For each topic listed in the following table, perform steps 3 to 5. Topic name MQJMS/ADOBE/WORKFLOW/POF_OBJECT_TOPIC MQJMS/ADOBE/WORKFLOW/POF_SCHEMA_TOPIC MQJMS/ADOBE/WORKFLOW/ PROCESS_EVENT_TOPIC MQJMS/ADOBE/WORKFLOW/TASK_EVENT_TOPIC MQJMS/ADOBE/WORKFLOW/ TEMPLATE_EVENT_TOPIC MQJMS/ADOBE/EBXML/ REGISTRYCACHE_MONITOR_TOPIC MQJMS/ADOBE/PDFG/AESCONFIGUPDATES_TOPIC MQJMS/ADOBE/WATCHEDFOLDER/ CONFIG_MANAGER_TOPIC Applicable LiveCycle product LiveCycle Form Manager or LiveCycle Workflow LiveCycle Form Manager or LiveCycle Workflow LiveCycle Form Manager or LiveCycle Workflow LiveCycle Form Manager or LiveCycle Workflow LiveCycle Form Manager or LiveCycle Workflow LiveCycle Form Manager or LiveCycle Workflow LiveCycle PDF Generator Watched Folder 3. Click New, select Topic Space, and then click Next. 4. In the Identifier box, type the name of the appropriate topic and click Next. 5. Review the summary and then click Finish. 6. (LiveCycle Workflow and LiveCycle Form Manager) For each additional server (beyond the first) in your cluster, create a new TASK_EVENT_TOPIC topic which will be used for processing email. Repeat steps 3 to 5 for each additional server in your cluster with the following information: Identifier: MQJMS/ADOBE/WORKFLOW/TASK_EVENT_TOPIC_Server[X] where Server[X] is a unique identifier for each additional server. 7. Save your changes to the Master Configuration. Note: For each of the subsequent sections, the term cluster refers to the LiveCycle cluster, and not the messaging engine cluster.
Configuring Messaging and Security Configuring LiveCycle Application Server Clusters Using WebSphere Configuring a default messaging provider for other products 44 To set up WebSphere queue connection factories: 1. In the WebSphere Administrative Console navigation tree, select Resources > JMS Providers > Default messaging. 2. For Scope, select Cluster and click Apply. 3. Under Connection Factories, click JMS Queue Connection Factory. 4. (LiveCycle Workflow, LiveCycle Form Manager) Click New, set the following properties, and then click OK: Name: QueueConnectionFactory JNDI Name: QueueConnectionFactory Category: LiveCycle Bus Name: IDP_JMS_BUS 5. (LiveCycle PDF Generator) Click New, set the following properties, and then click OK: Name: AESQueueConnectionFactory JNDI Name: jms/queueconnectionfactory Category: LiveCycle Bus Name: IDP_JMS_BUS 6. (LiveCycle Workflow, LiveCycle Form Manager) Select the QueueConnectionFactory created in step 4. Under Additional Properties, click Connection pool properties and, in the Maximum connections box, type 30, and then click OK. 7. Save your changes to the Master Configuration. To set up WebSphere topic connection factories: 1. For each topic connection factory listed in the following tables, perform steps 2 to 7. LiveCycle Form Manager or LiveCycle Workflow Name JNDI name Scope TopicConnectionFactory TopicConnectionFactory Server POFConnectionFactory POFConnectionFactory Server RegistryTopicConnectionFactory RegistryTopicConnectionFactory Cluster LiveCycle PDF Generator Name JNDI name Scope AESTopicConnectionFactory jms/topicconnectionfactory Cluster 2. In the WebSphere Administrative Console navigation tree, select Resources > JMS Providers > Default messaging.
Configuring Messaging and Security Configuring LiveCycle Application Server Clusters Using WebSphere Configuring a default messaging provider for other products 45 3. For Scope, select the scope as indicated in the table in step 1. If the scope is Server, steps 2 to 7 must be repeated for each server. 4. Under Connection Factories, select JMS Topic Connection Factory and click New. 5. In the Name box and JNDI Name box, type the names as indicated in the table in step 1. 6. In the Category box, type LiveCycle. 7. In the Bus box, type IDP_JMS_BUS and click OK. 8. Save your changes to the Master Configuration. To set up WebSphere queue destinations: 1. In the WebSphere Administrative Console navigation tree, select Resources > JMS Providers > Default Messaging. 2. For Scope, select Cluster and click Apply. 3. Under Destinations, click JMS queue and create the following queue destinations by completing steps 4 to 7 for each queue destination. LiveCycle Form Manager or LiveCycle Workflow Name Queue name JNDI name adobe_objectdeletequeue adobe_pecommandqueue adobe_pedcommandqueue adobe_pedlonglivedqueue adobe_peinteractionqueue adobe_pelonglivedqueue ADOBE.WORKFLOW. OBJECT_DELETE.QUEUE ADOBE.WORKFLOW. PE_COMMAND.QUEUE ADOBE.WORKFLOW. PED_COMMAND.QUEUE ADOBE.WORKFLOW. PED_LONGLIVED.QUEUE ADOBE.WORKFLOW PE_INTERACTION.QUEUE ADOBE.WORKFLOW. PE_LONGLIVED.QUEUE queue/ adobe_objectdeletequeue queue/ adobe_pecommandqueue queue/ adobe_pedcommandqueue queue/ adobe_pedlonglivedqueue queue/ adobe_peinteractionqueue queue/ adobe_pelonglivedqueue adobe_pescheduledmsgqueue ADOBE.WORKFLOW. PE_SCHEDULEDMSG.QUEUE queue/ adobe_pescheduledmsgqueue LiveCycle PDF Generator Name Queue name JNDI name AESJobQueue ADOBE.PDFG.AESJOB.QUEUE queue/aesjobqueue PDFGCompletedJobsQueue ADOBE.PDFG. PDFGCOMPLETEDJOBS.QUEUE queue/ PDFGCompletedJobsQueue
Configuring Messaging and Security Configuring LiveCycle Application Server Clusters Using WebSphere Configuring a default messaging provider for other products 46 4. Click New, in the Name box, type the name as indicated in the table in step 3. 5. In the Bus Name box, select IDP_JMS_BUS. 6. In the JNDI Name box, type the name as indicated in the table in step 3. 7. In Queue Name box, select the name as indicated in the table in step 3. 8. Save your changes to the Master Configuration. To set up WebSphere topic destinations: 1. For each topic destination listed in the following tables, perform steps 2 to 6. LiveCycle Form Manager or LiveCycle Workflow Name JNDI name Topic name / topic space Scope adobe_pofobject Topic topic/ adobe_pofobjecttopic MQJMS/ADOBE/WORKFLOW/ POF_OBJECT_TOPIC Server adobe_pofschema Topic topic/ adobe_pofschematopic MQJMS/ADOBE/WORKFLOW/ POF_SCHEMA_TOPIC Server adobe_processevent Topic topic/ adobe_processeventtopic MQJMS/ADOBE/WORKFLOW/ PROCESS_EVENT_TOPIC Server adobe_taskevent Topic topic/ adobe_taskeventtopic MQJMS/ADOBE/WORKFLOW/ TASK_EVENT_TOPIC Server adobe_templateevent Topic topic/ adobe_templateeventtopic MQJMS/ADOBE/WORKFLOW/ TEMPLATE_EVENT_TOPIC Server adobe_registrycache MonitorTopic topic/ adobe_registrycachemonitortopic MQJMS/ADOBE/EBXML/ REGISTRY_CACHE_MONITOR_ TOPIC Cluster LiveCycle PDF Generator Name JNDI name Topic name / topic space Scope AesConfigUpdates Topic topic/aesconfigupdatestopic MQJMS/ADOBE/PDFG/ AESCONFIGUPDATES_TOPIC Cluster Watched Folder Name JNDI name Topic name / topic space Scope WatchedFolderConfig ManagerTopic topic/watchedfolderconfig ManagerTopic MQJMS/ADOBE/WATCHED FOLDER/CONFIG_MANAGER _TOPIC Server 2. Select Resources > JMS Providers > Default messaging. 3. Set the Scope as indicated in the table in step 1 and click Apply. If the scope is Server, repeat steps 2 to 6 for each server.
Configuring Messaging and Security Configuring LiveCycle Application Server Clusters Using WebSphere Configuring a default messaging provider for other products 47 4. Under Destinations, click JMS Topic and click New. 5. In the Name, JNDI Name, Topic Name, and Topic Space boxes, type the information as indicated in the table in step 1. 6. In the Bus name list, select IDP_JMS_BUS. 7. (LiveCycle Workflow and LiveCycle Form Manager) For each additional server (beyond the first) in your cluster, create a new TASK_EVENT_TOPIC topic destination which will be used for processing email. Repeat steps 2 to 6 for each additional server in your cluster with the following information: Scope: Server Name: adobe_taskeventtopic JNDI Name: topic/adobe_taskeventtopic Topic Name/Topic Space: MQJMS/ADOBE/WORKFLOW/TASK_EVENT_TOPIC_Server[X] where Server[X] is a unique identifier for each additional server. 8. Save your changes to the Master Configuration. To set up WebSphere activation specifications: 1. For each activation specification listed in the following tables, perform steps 2 to 9. All LiveCycle products Name / JNDI name Type Destination JNDI name Scope Task_Event_AS Topic topic/adobe_taskeventtopic Server RegistryCache_AS Topic topic/adobe_registrycachemonitortopic Cluster PECommand_AS Queue queue/adobe_pecommandqueue Cluster Watched Folder Name / JNDI name Type Destination JNDI name Scope WatchedFolderConfig Manager_AS Topic topic/watchedfolderconfigmanagertopic Server LiveCycle PDFG Name / JNDI name Type Destination JNDI name Scope ConfigUpdates_AS Topic topic/aesconfigupdatestopic Cluster Dequeue_AS Queue queue/aesjobqueue Cluster PDFGCompletedJobs_AS Queue queue/pdfgcompletedjobsqueue Cluster PsDequeue_AS Queue queue/aesjobqueue Cluster 2. Navigate to Resources > JMS Providers > Default messaging.
Configuring Messaging and Security Configuring LiveCycle Application Server Clusters Using WebSphere Configuring security for LiveCycle Policy Server 48 3. Set scope as indicated in the table in step 1 and click Apply. 4. Under Activation Specifications, click JMS activation specifications and click New. 5. Navigate to General Properties > Administration. 6. In the Name and JNDI name boxes, type the information as indicated in the table in step 1. 7. Navigate to General Properties > Destination. 8. In the Destination Type and Destination JNDI name boxes, type the information as indicated in the table in step 1. 9. In the Bus Name box, type IDP_JMS_BUS. 10. Save your changes to the Master Configuration. Configuring security for LiveCycle Policy Server Administrators and users must be authenticated to access LiveCycle Policy Server features. LiveCycle Policy Server supports form-based authentication and basic authentication. LiveCycle Policy Server uses form-based JAAS authentication by default. To implement basic authentication, you use the LiveCycle Policy Server SDK to integrate a custom authentication service provider. For more information, see the LiveCycle Policy Server Developing Custom Applications guide or contact Adobe Customer Support. Note: LDAP exchanges information in clear text. You should configure WebSphere to send authentication information over an SSL connection. You must configure the JAAS application login module properties by performing the following tasks. To create the application login: 1. In the WebSphere Administration Console navigation tree, select Security > Global Security. Under Authentication, click JAAS Configuration > Application Logins > New. 2. In the Alias box, type UsernamePwd_Auth and click OK. 3. Save your changes. To configure the application login module: 1. In the WebSphere Administration Console navigation tree, select Security > Global Security. Under Authentication, click JAAS Configuration > Application Logins > UsernamePwd_Auth > JAAS Login Modules > New. 2. In the Module Classname box, type the following value and then click OK: com.adobe.edc.server.provider.authentication.login.ldaploginmodule 3. Save your changes.
Configuring Messaging and Security Configuring LiveCycle Application Server Clusters Using WebSphere Configuring security for LiveCycle Policy Server 49 To set custom properties for the application login: 1. In the WebSphere Administration Console navigation tree, select Security > Global Security. Under Authentication, click JAAS Configuration > Application Logins >UsernamePwd_Auth > JAAS Login Modules > com.adobe.edc.server.provider.authentication.login.ldaploginmodule > Custom Properties > New. 2. Create a new entry for each Name-Value pair listed in the following tables. A description is not needed. You should save the configuration after you specify the property value. Required values for Sun ONE Name Debug java.naming.factory.initial java.naming.security.authentication user.provider.url userdnprefix userdnsuffix Value False com.sun.jndi.ldap.ldapctxfactory simple ldap://myldap.mycompany.com:port Configure according to your LDAP server (for example, uid=). Configure according to your LDAP server (for example, ou=people,o=mycompany.com). Required values for Active Directory Name Debug java.naming.factory.initial java.naming.security.authentication user.provider.url searchuser searchusinganonymousbind binduser bindpassword basedn searchfilterprefix searchfiltersuffix Value False com.sun.jndi.ldap.ldapctxfactory simple ldap://myldap.mycompany.com:port true false [user name] [password] [basedn] [your search filter prefix] [your search filter suffix]
7 Configuration Requirements The following section details configuration requirements for using LiveCycle products in a clustered environment. Large document handling For large document handling in LiveCycle Form Manager, an NFS shared directory, which allows all nodes to read and write to it, has to be created and mounted. On Windows servers, create a shared directory and allow all nodes read and write access to it. Common elements between LiveCycle products The following section details common configuration elements for LiveCycle Workflow, LiveCycle Form Manager and LiveCycle Forms. Configure WebSphere 6 under AIX to use IPv4 If you are running AIX, you must now configure your Deployment Manager and servers to use IPv4. To configure your Deployment Manager for IPv4 1. Log in to the Administrative Console. 2. Click System Administration > Deployment Manager. 3. Click Java and Process Management > Process Definition > Java Virtual Machine and under Additional Properties, click Custom Properties. 4. Click New. 5. In the Name box, type java.net.preferipv4stack. 6. In the Value box, type true. 7. Click OK. 8. Save your changes to the master configuration. To configure your servers for IPv4 1. Log into the Administrative Console. 2. Click Servers > Application Servers and click the server name. 3. Click Java and Process Management > Process Definition > Java Virtual Machine and under Additional Properties, click Custom Properties. 4. Click New. 5. In the Name box, type java.net.preferipv4stack. 50
Configuration Requirements Configuring LiveCycle Application Server Clusters Using WebSphere Configuring LiveCycle Workflow properties 51 6. In the Value box, type true. 7. Click OK. 8. Repeat steps 2-7 for each server in the cluster. 9. Save your changes to the master configuration. Configuring LiveCycle Workflow properties This section only applies to LiveCycle Workflow and LiveCycle Form Manager. LiveCycle Workflow requires two properties files to be configured for clustering: adobe-workflow.properties adobe-pof.properties These files are installed to the [LiveCycle root]/workflow/workflowproperties directory. To configure these files you must copy the contents of this folder to the [workflow properties] directory on each server in the cluster. To copy the properties files: 1. Navigate to [appserver root] and create a directory called workflowproperties. Note: This directory is referenced as [workflow properties] in this section. 2. Copy the contents of the [LiveCycle root]/workflow/workflowproperties directory to the [workflow properties] directory. Scheduler property definition and values that can be added LiveCycle Workflow bundles the Quartz scheduler in its implementation to provide functionality for persistent timers. The quartz timers are stored in the QRTZ_tables. The scheduler, however, must be configured to work in a clustered setup to connect to the database to handle its timers. These configurations are in the adobe-workflow.properties file. To configure the scheduler properties definition: 1. Navigate to the [workflow properties] directory and open the adobe-workflow.properties file in a text editor. 2. Configure the following scheduler properties: adobe.workflow.scheduler.java.naming.factory.initial: This property specifies the initial context factory. Set this property to com.ibm.websphere.naming.wsinitialcontextfactory. adobe.workflow.scheduler.java.naming.provider.url: The JNDI provider URL is dependent on the application server used; for WebSphere, use: iiop://host:bootstrap port The bootstrap port can be found for each server through the admin console by selecting Application Server > [server name] > Ports > Bootstrap Address. adobe.workflow.scheduler.bootstrap.wait_time_mins: This is the time the scheduler waits after bootstrap is done and after initialization prior to starting the scheduler service. The delay is needed
Configuration Requirements Configuring LiveCycle Application Server Clusters Using WebSphere Cache configuration properties 52 because of an issue in Quartz, where the immediate start of the scheduler upon initialization results in timer jobs already scheduled not being picked for processing. The default is 60 seconds. adobe.workflow.scheduler. startup.wait_time_secs: This is the time the scheduler waits after bootstrapping and initialization, but prior to starting the scheduler service. The delay is needed because of an issue in Quartz, where the immediate start of the scheduler upon initialization results in timer jobs already scheduled not being picked for processing. The default is 60 seconds. adobe.workflow.scheduler.startup.threads: This is the number of threads used by the scheduler. The default is 15. adobe.workflow.scheduler.jdbc.delegate: The JDBC delegate driver to be used to connect to the database. The following values are available. Delegate value org.quartz.impl.jdbcjobstore. StdJDBCDelegate org.quartz.impl.jdbcjobstore. MSSQLDelegate org.quartz.impl.jdbcjobstore. PostgreSQLDelegate org.quartz.impl.jdbcjobstore. WebSphereDelegate org.quartz.impl.jdbcjobstore. oracle.oracledelegate Databases supported Used for most JDBC-compliant drivers. This works for Oracle 9i, Oracle 10G, and MySQL. Must be used when SQL Server is used as the database to connect to. For PostgreSQL database. When WebSphere database drivers are used in the application server rather than the database vendor provided drivers For Oracle drivers, although the standard JDBC driver delegate works fine. Note: The default is org.quartz.impl.jdbcjobstore.stdjdbcdelegate, which works for all databases except SQL Server. adobe.workflow.scheduler.isclustered: This property must be set to true if you have multiple instances of Quartz using same set of database tables. Set this value to true. adobe.workflow.scheduler.instanceid: Each instance in the cluster must have a unique instance ID. Set this value to AUTO. 3. Configure adobe-workflow.properties for each server in the cluster. Cache configuration properties For clustering, LiveCycle Workflow Server supports Swarm Cache, which is an implementation based on JGroups that provides the cache capabilities needed in a clustered environment. The cache is configured in the adobe-pof.properties file. This file must be placed on each server in the cluster. To configure the cache configuration properties: 1. Navigate to the [workflow properties] directory and open the adobe-pof.properties file in a text editor. 2. Configure the following cache properties: adobe.pof.cache.provider: If the value of hashmap is selected prior to server startup, the server starts up using a hashmap as a cache. If the value of swarm is used, the server uses the swarm cache implementation bundled.
Configuration Requirements Configuring LiveCycle Application Server Clusters Using WebSphere Cache configuration properties 53 adobe.pof.cache.logging-enabled: If the value of true is selected, all of the additions, updates, and removals of data elements in the cache are logged by LiveCycle Workflow. Note that these are logged by the LiveCycle Workflow codebase; these do not enable the logging for the swarm cache implementation (that is, TCP or UDP connections and communication). adobe.pof.cache.swarm.cluster-enabled: The value of true indicates to the cache to use TCP configurations and a value of false indicates usage of UDP configuration. adobe.pof.cache.swarm.cluster-tcp-config: This property is used to configure TCP communication between various cache nodes in the cluster. adobe.pof.cache.swarm.cluster-udp-config: The property is used to configure UDP communication between various cache nodes in the cluster. For LiveCycle Workflow, set the following values: Property name adobe.pof.cache.provider adobe.pof.cache.logging-enabled adobe.pof.cache.swarm.cluster-enabled adobe.pof.cache.swarm.cluster-tcp-config adobe.pof.cache.swarm.cluster-udp-config Values swarm false <default>, true true see the example (below) leave empty Example: TCP configuration The following is an example for a cluster containing two servers called ServerA and ServerB. In the adobe-pof.properties file for ServerA, configure your adobe.pof.cache.swarm.cluster-tcp-config string as follows: TCP(bind_addr=serverA;start_port=7800):TCPPING(initial_hosts=serverB[780 0];port_range=5;timeout=3000;num_initial_members=5):FD_SOCK:VERIFY_SUSPE CT(timeout=1500;down_thread=false;up_thread=false):pbcast.NAKACK(gc_lag= 100;retransmit_timeout=600,1200,2400,4800;up_thread=true;down_thread=tru e):pbcast.stable(desired_avg_gossip=20000;max_bytes=0;stability_delay=10 00;up_thread=false;down_thread=false):pbcast.GMS(join_timeout=5000;join_ retry_timeout=2000;shun=false;print_local_addr=true;down_thread=true;up_ thread=true):pbcast.state_transfer(up_thread=true;down_thread=true) In the adobe-pof.properties file for ServerB, configure your adobe.pof.cache.swarm.cluster-tcp-config string as follows: TCP(bind_addr=serverB;start_port=7800):TCPPING(initial_hosts=serverA[780 0];port_range=5;timeout=3000;num_initial_members=5):FD_SOCK:VERIFY_SUSPE CT(timeout=1500;down_thread=false;up_thread=false):pbcast.NAKACK(gc_lag= 100;retransmit_timeout=600,1200,2400,4800;up_thread=true;down_thread=tru e):pbcast.stable(desired_avg_gossip=20000;max_bytes=0;stability_delay=10 00;up_thread=false;down_thread=false):pbcast.GMS(join_timeout=5000;join_ retry_timeout=2000;shun=false;print_local_addr=true;down_thread=true;up_ thread=true):pbcast.state_transfer(up_thread=true;down_thread=true) 3. Change the values of ServerA and ServerB as required for your cluster. 4. Configure adobe-pof.properties configurations for each server in the cluster.
Configuration Requirements Configuring LiveCycle Application Server Clusters Using WebSphere Adding property definitions 54 Adding property definitions This section only applies to LiveCycle Workflow and LiveCycle Form Manager. Property definitions define settings that enhance the system's use of the JVM by specifying command line arguments to pass to the JVM code that starts the application server process. To add the properties to the WebSphere Server cluster: 1. Log in to the Administrative Console for your WebSphere cluster. 2. On each server, navigate to Application Servers > [server name]. 3. On the Configuration tab, select Server Infrastructure > Java and Process Management > Process Definition. 4. Under Additional Properties, click Java Virtual Machine and, in the Generic JVM arguments box, type the following: (LiveCycle Workflow and LiveCycle Form Manager) Add the following code: -Djava.awt.headless=true -Dclient.encoding.override=UTF-8 -Dadobe.workflow.engine.publish-process-events=false (LiveCycle Form Manager) Add the following: -Dcom.adobe.fm.lucene.enabled=false 5. Add the following JVM argument to point to your adobe-workflow.properties file: -Dadobe.workflow.properties=[workflow properties]/adobe-workflow.properties where [workflow properties] is the workflowproperties directory location. 6. Add the following JVM argument to point to your adobe-pof.properties file: -Dadobe-pof.properties=[workflow properties]/adobe-pof.properties where [workflow properties] is the workflowproperties directory location. 7. Click Apply, click Apply again, and then save your changes to the Master Configuration. 8. Save and restart the cluster. For information on how to restart the cluster, see Shutting down and restarting nodes and clusters on page 16. Email receiver configuration When all servers in a LiveCycle Workflow cluster are configured to process incoming email messages, a form that is emailed to LiveCycle Workflow Server to initiate a process will initiate multiple instances of the process. To avoid this situation, you must configure each server in the cluster so that only one server processes email messages. By default, all servers in the cluster are configured to process email messages. The following property must be added to the JVM arguments on each server except the server that you want to process email messages using the following command: -Dcom.adobe.workflow.email.runInboxReader=false For information on how to add property definitions, see Adding property definitions on page 54.
Configuration Requirements Configuring LiveCycle Application Server Clusters Using WebSphere LiveCycle Policy Server caching configuration setup 55 LiveCycle Policy Server caching configuration setup Create a file called edccache.properties with the following entries and copy it to the [profile root]/properties directory on each node. LiveCycle Policy Server caches many complex objects in memory, therefore, it is important that in a cluster, all of the LLiveCycle Policy Server instances have the same version of cached objects. LiveCycle Policy Server uses a multicast protocol to communicate among cache managers and update cache entries. #cluster based caching # This entry tells the maximum number of each type of object to cache. The value depends on the machine capacity and allocated JVM memory. edc.cache.size=200 # This entry specifies whether LiveCycle Policy Server is configured in a cluster environment or as stand-alone server. This entry is very important. edc.cluster=true # This entry defines the multicast IP address. The server uses this entry only when edc.cluster is set to true. Please refer to your system administrator in order to set the following address values. edc.cluster.multicast.address=231.12.21.132 Configuring caching properties for User Management This section only applies to LiveCycle Workflow and LiveCycle Form Manager. You must configure User Management caching if you have LiveCycle Form Managerr or LiveCycle Workflow installed. To configure caching properties for User Management: 1. Navigate to [appserver root]\properties and create a file named umcache.properties. 2. Copy the following text and save it into the umcache.properties file: #cluster based caching # This entry tells the maximum number of each type of object to cache. The #value depends on the machine capacity and allocated JVM memory. um.cache.size=200 # This entry specifies that UM is running in a clustered environment um.cluster=true # This entry defines the multicast IP address. The server uses this entry #only when um.cluster is set to true. Please refer to your system #administrator in order to set the following address values. um.cluster.multicast.address=231.13.22.132 3. Configure the umcache.properties file for each server in the cluster.
Configuration Requirements Configuring LiveCycle Application Server Clusters Using WebSphere Configuring JVM properties 56 Configuring JVM properties You will now have to configure the Java Virtual Machine. To set up JVM arguments: 1. Select Servers > Application servers > [server] and click the Configuration tab. 2. Select Server Infrastructure > Java and Process Management > Process Definition > Java Virtual Machine. 3. In the Initial Heap Size box, type 2048. 4. In the Maximum Heap Size box, type 2048. 5. Save your changes to the Master Configuration. 6. Restart WebSphere. 7. Repeat steps 1-6 for each server in the cluster. Note: If you anticipate a high load on your LiveCycle Server you should also increase the Default disposal time-out (in seconds) value to 1800 in the LiveCycle product. You can set this value by running the LiveCycle Configuration manager and modifying the default value in the Data Manager Module Configuration screen. Refer to the LiveCycle Installation and Configuration guides for more information on running the LiveCycle configuration Manager. (LiveCycle PDF Generator) To set up custom JVM properties 1. Select Server Infrastructure > Java and Process Management > Process Definition > Java Virtual Machine > Custom Properties and click New. 2. Specify the following attributes: Name=java.io.tmpdir Value=[path to a common shared location with read-write access to all the nodes in the cluster] 3. Click New. 4. (LiveCycle PDF Generator Professional or LiveCycle PDF Generator Elements) Specify the following attributes: Name=com.ibm.websphere.ejbcontainer.poolSize Value=pdfg-all#aaes-ejb.jar#Dequeue=1,1:pdfg-all#adobe-PsToPdfEjb.jar #PsToPdfDequeue=1,3:*=40,100 5. (LiveCycle PDF Generator for PostScript) Specify the following attributes: Name=com.ibm.websphere.ejbcontainer.poolSize Value=pdfg-ps-all#adobe-PsToPdfEjb.jar#PsToPdfDequeue=1,3:*=40,100 6. Click Apply and then click Save. 7. Repeat steps 1-6 for each server in the cluster.
8 Deploying LiveCycle Products This chapter describes how to deploy your LiveCycle products to WebSphere. About deploying LiveCycle products to a cluster on page 57 Deploying LiveCycle products on page 58 Starting the application on page 62 Assembling LiveCycle.ear for LiveCycle PDF Generator in a cluster When assembling the LiveCycle.ear file for deployment to a cluster, you must ensure that the LiveCycle temp and Global Storage directory are specified, and they must point to the same NFS shared directory used when defining the JVM argument java.io.tempdir. About deploying LiveCycle products to a cluster Before you deploy LiveCycle products, ensure that you have met the following requirements: You have installed the required software and files and know the location of the directories you will be working with. You have run Configuration Manager to configure and assemble the products according to your system and application server requirements. If you need to make any further changes to the properties after deployment, you can run Configuration Manager to make the changes, and then redeploy the updated EAR file. For more information, see the Installing and Configuring LiveCycle for WebSphere and Installing and Configuring LiveCycle Security Products for WebSphere guides. If you are using an external web server, see your web server documentation for information regarding the configuration required to allow access to the application server. This chapter refers to the WebSphere home directory as [appserver root], which may not be the same on all nodes. This directory is the same as the one specified for the WAS_HOME environment variable. Similarly, [LiveCycle root] refers to the location where LiveCycle products and components are installed. Summary of deployable components During the deployment process, you need to deploy the following components. Component adobe-assembler7.ear adobe-fontmanager.ear adobe-printsubmitter.ear FormsIVS.ear LiveCycle product LiveCycle Assembler All products except LiveCycle Policy Server LiveCycle Print sample application LiveCycle Forms sample application 57
Deploying LiveCycle Products Configuring LiveCycle Application Server Clusters Using WebSphere Deploying LiveCycle products 58 Component LCM.ear LiveCycle.ear LiveCycle-security.ear adobe-credentialsecurityejb.ear edc-server.ear pdfg-all.ear pdfg-ps-all.ear LiveCycle product All All products except LiveCycle Policy Server LiveCycle Reader Extensions LiveCycle Document Security LiveCycle Document Security LiveCycle Policy Server LiveCycle PDF Generator Professional and LiveCycle PDF Generator Elements LiveCycle PDF Generator for PostScript Note: FormsIVS is not designed for clustering. Note: The LiveCycle Reader Extensions UI is not supported in a cluster; however, the API is supported. Deploying LiveCycle products You deploy LiveCycle products to WebSphere by deploying the component EAR files to the cluster using the WebSphere Administrative Console. Before deploying to WebSphere, you must start the application server on your computer. After deploying the required components, you must stop and restart the application server before starting any services. To deploy the EAR files: 1. Copy the following files from the [LiveCycle root]/configurationmanager/export directory to the [appserver root]/installableapps directory of any of the managed nodes or the Deployment Manager: (All products except LiveCycle Policy Server) LiveCycle.ear (All products except LiveCycle Policy Server) adobe-fontmanager.ear (LiveCycle Assembler) adobe-assembler7.ear (LiveCycle PDF Generator Professional, LiveCycle PDF Generator Elements)pdfg-all.ear (LiveCycle PDF Generator for PostScript) pdfg-ps-all.ear (LiveCycle Reader Extensions, LiveCycle Document Security) LiveCycle-security.ear (LiveCycle Print) adobe-printsubmitter.ear (LiveCycle Policy Server) edc-server.ear 2. Copy the LCM.ear file from the [LiveCycle root]/configurationmanager/deploy/websphere directory to the [appserver root]/installableapps directory. 3. Copy the FormsIVS.ear file from [LiveCycle root]/components/forms/samples/common to the [appserver root]/installableapps directory.
Deploying LiveCycle Products Configuring LiveCycle Application Server Clusters Using WebSphere Deploying LiveCycle products 59 (LiveCycle Print) To deploy the adobe-printsubmitter.ear file: 1. In the WebSphere Administrative Console navigation tree, select Applications > Install New Application. 2. Click Browse to navigate to the [appserver root]/installableapps directory, select adobe-printsubmitter.ear, and then click Open or OK (depending on your operating system). 3. Continue to click Next, until you reach the step Map Modules to Servers, and select all the modules. Then click Next again. 4. In the Clusters and Servers step, select the cluster and the node containing the Web Server and click Apply. 5. Click Next to continue, accepting the default values that are displayed on each screen, and then click Finish. 6. Save to the master configuration, and ensure that you select Synchronize changes with nodes. (LiveCycle Forms) To deploy the FormsIVS.ear file: 1. In the WebSphere Administrative Console navigation tree, select Applications > Install New Application. 2. Click Browse to navigate to the [appserver root]/installableapps directory, select FormsIVS.ear, and then click Open or OK (depending on your operating system). 3. Continue to click Next, until you reach the step Map Modules to Servers, and select all the modules, then click Next again. 4. In the Clusters and Servers step, select the cluster and the node containing the Web Server and click Apply. 5. Click Next to continue, accepting the default values that are displayed on each screen, and then click Finish. 6. Save to the master configuration. Ensure that you select Synchronize changes with nodes. (All products except LiveCycle Policy Server) To deploy the adobe-fontmanager.ear file: 1. In the WebSphere Administrative Console navigation tree, select Applications > Install New Application. 2. Click Browse to navigate to the [appserver root]/installableapps directory, select adobe-fontmanager.ear, and then click Open or OK (depending on your operating system). 3. Click Next, and select Generate Default Bindings. 4. Continue to click Next, until you reach the step Map Modules to Servers, and select all the modules. Then click Next again. 5. In the Clusters and Servers step, select the cluster and the node containing the Web Server and click Apply. 6. Click Next to continue, accepting the default values that are displayed on each screen, and then click Finish. 7. Save to the master configuration. Ensure that you select Synchronize changes with nodes.
Deploying LiveCycle Products Configuring LiveCycle Application Server Clusters Using WebSphere Deploying LiveCycle products 60 (All products except LiveCycle Policy Server) To deploy the LiveCycle.ear file: 1. In the navigation tree, select Applications > Install New Application. 2. Click Browse to navigate to the [appserver root]/installableapps directory, select LiveCycle.ear, and then click Open or OK (depending on your operating system). 3. Click Next, and select Generate Default Bindings. 4. Continue to click Next, until you reach the step Map Modules to Servers, and select all the module. Then click Next again. 5. In the Clusters and Servers step, select the cluster and the node containing the Web Server and click Apply. 6. Click Next to continue, accepting the default values that are displayed on each screen. 7. (LiveCycle Assembler) On the Provide JNDI Names for Bean screen, for the AdobeIDP2UI_MonitorComponent EJB, type the JNDI name, ejb/adobeidp2ui_monitorcomponent, and then click Next. 8. Click Finish. 9. Save to the master configuration. Ensure that you select Synchronize changes with nodes. To deploy the LCM.ear file: 1. In the WebSphere Administrative Console navigation tree, select Applications > Install New Application. 2. Click Browse to navigate to the [appserver root]/installableapps directory, select LCM.ear, and then click Open or OK (depending on your operating system). 3. Click Next, and select Generate Default Bindings. 4. Continue to click Next until you reach the step Map Modules to Servers, and select all the modules. Then click Next again. 5. In the Clusters and Servers step, select the cluster and the node containing the Web Server and click Apply. 6. Click Next to continue, accepting the default values that are displayed on each screen, and then click Finish. 7. Save to the master configuration. Ensure that you select Synchronize changes with nodes. (LiveCycle Reader Extensions, LiveCycle Document Security) To deploy the LiveCycle-security.ear file: 1. In the WebSphere Administrative Console navigation tree, select Applications > Install New Application. 2. Click Browse to navigate to the [appserver root]/installableapps directory, select LiveCycle-security.ear, and then click Open or OK (depending on your operating system). 3. Click Next, and select Generate Default Bindings.
Deploying LiveCycle Products Configuring LiveCycle Application Server Clusters Using WebSphere Deploying LiveCycle products 61 4. Continue to click Next until you reach the step Map Modules to Servers, and select all the module. Then click Next again. 5. In the Clusters and Servers step, select the cluster and the node containing the Web Server and click Apply. 6. Click Next to continue, accepting the default values that are displayed on each screen, and then click Finish. 7. Save to the master configuration. Ensure that you select Synchronize changes with nodes. (LiveCycle Policy Server) To deploy the edc-server.ear file: 1. In the WebSphere Administrative Console navigation tree, select Applications > Install New Application. 2. Click Browse to navigate to the [appserver root]/installableapps directory and select edc-server.ear. 3. Click Next. 4. In the Clusters and Servers list, select the following then click Apply: The cluster you configured for LiveCycle Policy Server The node containing the WebSphere server Select All Modules 5. Click Next. 6. Accept the default values that are displayed on the remaining screens, and then click Finish. 7. In the WebSphere Administrative Console navigation tree, select Applications > Enterprise Applications and select EDC Application. 8. In the Classloader Mode list, select Parent Last and click Apply. 9. Under Additional Properties, select Libraries and click Add. 10. In the Library Name list, select EDCApplication and click Apply. 11. Save to the master configuration. Ensure that you select Synchronize changes with nodes. 12. Stop and restart WebSphere. (LiveCycle PDF Generator) To deploy the pdfg-all.ear or pdfg-ps-all.ear files: 1. In the navigation tree, select Applications > Install New Application. 2. (LiveCycle PDF Generator Professional and LiveCycle PDF Generator Elements)Click Browse to navigate to the [appserver root]/installableapps directory, select pdfg-all.ear, and then click Open. 3. (LiveCycle PDF Generator for PostScript)Click Browse to navigate to the [appserver root]/installableapps directory, select pdfg-ps-all.ear, and then click Open. 4. Click Next. In Step 8: Map Modules to Servers, select all the modules.
Deploying LiveCycle Products Configuring LiveCycle Application Server Clusters Using WebSphere Starting the application 62 5. In the Clusters and Servers step, select the cluster and the node containing the Web Server and click Apply. 6. Click Next to continue, accept the default values that are displayed on each screen, and then click Finish. 7. Save to the master configuration. Ensure that you select Synchronize changes with nodes. (LiveCycle Assembler) To deploy the adobe-assembler7.ear: 1. In the navigation tree, select Applications > Install New Application. 2. Click Browse to navigate to the [appserver root]/installableapps directory, select adobe-assembler7.ear, and then click Open. 3. Click Next, and select Generate Default Bindings. 4. Click Next. On the Step 8: Map Modules to Servers step, select all the modules. 5. In the Clusters and Servers step, select the cluster and the node containing the web server and click Apply. 6. Save to the master configuration. Ensure that you select Synchronize changes with nodes. Now that all of the applications have been deployed, you must now update the web server plug-in file. See Installing the web server plug-in on page 24. Starting the application After deploying the product, you need to start the applications. When the red X beside the name of the application changes to a green arrow, the application has been deployed and started successfully. WebSphere displays an error message if it cannot start the application. For information about WebSphere error messages, refer to your WebSphere Application Server documentation. To start an application in WebSphere: 1. In the WebSphere Administrative Console navigation tree, select Applications > Enterprise Applications. 2. Select any or all of the applications you want to start. 3. Click Start. The red X beside the status of each application changes to a green arrow, indicating that the application is running. Tip: Wait several minutes between deploying the LiveCycle.ear and starting the application. This waiting period allows adequate time for WebSphere to copy the files to each node in the cluster. The EAR file may not start if not fully deployed.
Deploying LiveCycle Products Configuring LiveCycle Application Server Clusters Using WebSphere Verifying the LiveCycle Forms deployment 63 Verifying the LiveCycle Forms deployment You can verify that LiveCycle Forms has been deployed properly and is running by deploying the Installation Verification sample application that is installed with the product. The sample application (FormsIVS.ear) is in the [LiveCycle root]/components/forms/samples/common directory. Note: For information about using the sample application, click the Help link in the Samples page in the web browser. To deploy the LiveCycle Forms Installation and Verification sample application: 1. In the navigation tree, select Applications > Enterprise Applications, and then select FormsIVS. 2. Click Start. The red X beside the name of each application changes to a green arrow, indicating that the application is running. 3. Start the application by typing http://hostname:portnumber/formsivs in the URL line of a web browser. Bootstrapping LiveCycle products After the LiveCycle product is deployed in the cluster, you need to bootstrap. You can run the bootstrap process from any of the nodes. However, first you need to find the JNDI server name and port number. You can find this information by running the dumpnamespace.bat file from the bin directory where the application server is installed. Note: Ensure that you have manually deployed LCM.ear before starting this bootstrap procedure. LCM does not support deployment of LCM.ear in a clustered environment. To bootstrap using Configuration Manager: 1. Start Configuration Manager by navigating to the [LiveCycle root]/configurationmanager directory and entering the following command: (Windows) ConfigurationManager.exe (Linux, UNIX) ConfigurationManager.bin 2. On the Welcome screen, click Next. 3. Select Custom Configuration Wizard and click Next. 4. If prompted, on the Configuration Preferences screen, select either Use Previously Entered Values or Revert to Default Values, and then click Next. The Configuration Preferences screen only appears if you have previously run Configuration Manager. 5. On the Product Selection screen, select Foundation, select the products that you want to configure, and then click Next. 6. On the Task Selection screen, select Bootstrap Database, deselect all other options, and then click Next.
Deploying LiveCycle Products Configuring LiveCycle Application Server Clusters Using WebSphere Generating and propagating the web server plug-in 64 7. In the Application Server Configuration Details screen, specify the following properties.: In the Deploy Type box, select Standalone. In the hostname box, enter the host name of any one node in the cluster. In the SOAP port box, type the SOAP port which can be found under Application Servers > [server name] >Ports >SOAP_CONNECTOR_ADDRESS. In the Server Instance Name box, type the name of the server instance you are bootstrapping on this node. In the Local Application Server Root Directory box, browse to select the directory. 8. Click Next. 9. In the Enter Application Server URL screen, type the URL that Configuration Manager can use to connect to the application server in the Application Server Base URL box, and then click Next. The URL must be in the following format: http://[host name]:[port] where [host name] is the name or IP address of the node that hosts the application server, and [port] is the HTTP service port that the application server uses (for example, http://localhost:9080). Note: To verify the port number to use for this setting, select Servers > Application Servers > [server] > Ports and look for the WC_defaulthost value. 10. On the Prepare database for LiveCycle screen, click Next. 11. On the Database Initialization screen, click Initialize Database Now and, when the task is complete, click Next. Generating and propagating the web server plug-in If you have already created the cluster, and deployed your LiveCycle application, you must now generate the webserver plug-in. To generate the Webserver plug-in: 1. Log in to the Administrative Console of the WebSphere ND node. 2. Navigate to Applications > Enterprise Applications. 3. Click LiveCycle and under Additional properties, click Map modules to servers. 4. In the Clusters and servers window, choose the cluster and the newly added webserver node. 5. Select all the modules and click Apply, click OK and save the changes. 6. Repeat 3-5 for all remaining LiveCycle applications. 7. Navigate to Servers > Web Servers and verify that the newly added web server appears in the list. 8. Select the webserver and click Generate Plug-in.
Deploying LiveCycle Products Configuring LiveCycle Application Server Clusters Using WebSphere Viewing log files 65 9. Once the generation is complete, click Propagate plug-in. 10. (Optional) If the Propagate plug-in step fails, copy the plugin-cfg.xml manually from [appserver root]/dmgrprofile/config/cells/cell-name/nodes/webserver-nodename/servers/[webserver name] directory to the [plugins_root]/config/webserver-name directory on the webserver machine. 11. Restart the cluster and the webserver. Viewing log files Events, such as run-time or startup errors, are recorded to the application server log files. If you have problems deploying to the application server, you can use the log files to help you find the problem. You can open the log files using any text editor. The following log files are located in the [profiles root]/[profile name]/logs/servername directory: SystemErr.log SystemOut.log StartServer.log
9 Issues with Clustering This section contains issues that may occur in your cluster. Failed to acquire job exception in WebSphere In WebSphere clusters, a Failed to acquire job exception appears in the log file if you execute a directory synchronization immediately after the server nodes start up. You need to ensure that the directory sync did perform correctly; if it did not, invoke a directory sync again. ORB threadpool for LiveCycle Policy Server and LiveCycle Document Security In typical cluster configurations and configurations where LiveCycle Policy Server is used with LiveCycle Document Security, a threadpool for ORB connections set to 50 (default) concurrent threads is likely inadequate to handle the load. Administrators should increase this threadpool size to as great a number of concurrent threads as their applications require, typically 125 or more. For high availability configurations, this guideline applies to each node in the cluster. For example, if one system goes down in a two-node cluster, the remaining node can still accommodate the application s maximum number of concurrent connections. LiveCycle Forms preferences do not get propagated Changes to LiveCycle Forms preferences do not get propagated among the cluster nodes when LiveCycle Forms is configured with or without database options. You must update the preferences for all nodes in the cluster individually. To update the LiveCycle Forms preferences: 1. Open a browser and navigate to: (LiveCycle Forms with database option) http://[nodeip]:[port]/adminui (LiveCycle Forms without database option) http://[nodeip]:[port]/formserveradmin/settings.html Where [nodeip] is the IP address of the node, and [port] is the node s port number. 2. (LiveCycle Forms with database option) Log in to the LiveCycle Administration Console, click Services, and then click Adobe LiveCycle Forms. 3. Perform the required changes to the LiveCycle Forms preferences. 4. Click Save. 5. Repeat steps 1 to 4 for each node in the cluster. 66
Issues with Clustering Configuring LiveCycle Application Server Clusters Using WebSphere LiveCycle Reader Extensions UI is not supported in a cluster 67 LiveCycle Reader Extensions UI is not supported in a cluster The LiveCycle Reader Extensions user interface is not supported in a clustered environment. Only the LiveCycle Reader Extensions API is supported in a clustered environment.