bbc Configuring LiveCycle Application Server Clusters Using WebLogic Adobe LiveCycle June 2007 Version 7.2
2007 Adobe Systems Incorporated. All rights reserved. Adobe LiveCycle 7.2 Configuring LiveCycle Application Server Clusters Using WebLogic 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. BEA WebLogic Server is a registered trademark of BEA Systems, Inc. DB2 is a trademark 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. Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or 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. 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... 6 Who should read this guide?... 6 Versions... 6 Conventions used in this guide... 6 Related documentation... 7 Updated LiveCycle product information... 8 1 Overview... 9 About clustering application servers... 9 Failover...10 Load balancing...10 Application server load balancing...10 Web server load balancing...10 Scalability and availability...10 Terminology...11 Clustering LiveCycle products...11 Supported topologies...12 Combined web, application, and database servers...12 Combined web and application servers with separate database server...12 Single web server with combined application and database server...12 Separate web, application, and database servers...12 Adding additional web servers...12 Adding additional application servers...13 Multiple JVMs...13 JMS messaging...13 Unsupported topologies...14 2 Installing the Application Servers... 15 Preparing to install...15 Installing WebLogic Server...15 Configuring anonymous admin lookup...17 Configuring the WebLogic transaction time-out...18 Creating an endorsed directory...19 Copying LiveCycle JAR files...19 Increasing the WebLogic Server thread count...19 Copying and editing files...20 3 Configuring the Database... 22 Creating the database...22 Creating an Oracle database...22 Creating a SQL Server database...22 Installing JTA stored procedures...23 Enabling XA transactions for Windows Server 2003...24 Installing database drivers...24 Registering required JAR files and turning on Remote Start...26 3
Contents Configuring LiveCycle Application Server Clusters Using WebLogic 4 4 Setting Up WebLogic Clusters... 28 Creating the WebLogic cluster...28 Starting the cluster...31 Starting the Administration Server...31 Configuring Node Manager...31 Starting Node Manager...33 Starting Node Manager as a service...33 Starting Node Manager with a script...33 Command syntax for starting Node Manager...33 Starting Managed Servers...34 Configuring WebLogic Managed Servers...34 Configuring server resources...35 Configuring JDBC resources...35 Configuring JDBC resources for LiveCycle Policy Server...35 Configuring JDBC resources for all products except LiveCycle Policy Server...37 Configuring JMS resources...39 Configuring queue and topic throttling...44 5 Maintaining WebLogic Clusters... 46 Performing a graceful shutdown of all servers...46 Performing a forced shutdown of all servers...46 Creating a new server...47 Starting all Managed Servers...47 Adding a server to the cluster...48 Removing a server from the cluster...48 6 Installing the Web Servers... 49 Preparing for installation...49 Installing the web server under Linux or UNIX...49 Installing the web server under Windows...50 7 Common Components...52 Large document handling...52 Queues and topics...52 JMS connection pool sizes...52 JMS stores...52 Queue and topic throttling...52 Distributed destinations...53 Common elements between LiveCycle products...53 Configuring LiveCycle Workflow properties...54 Scheduler property definition and values that can be added...54 Cache configuration properties...55 Configuring caching properties for User Management...57 Adding property definitions...57 Email receiver configuration...58 8 Clustering LiveCycle Products...59 About deploying LiveCycle products to a cluster...59 Summary of deployable components...59 Deploying LiveCycle products...60 Viewing log files...61 Bootstrapping LiveCycle products...62 Configuring HTTP server fail-over...62
Contents Configuring LiveCycle Application Server Clusters Using WebLogic 5 9 Issues with Clustering... 65 LiveCycle Forms preferences do not get propagated...65 LiveCycle Reader Extensions UI is not supported in a cluster...65 Using LiveCycle Form Manager in a WebLogic cluster...65
Preface This document explains how to deploy an Adobe LiveCycle server product individually in a 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 BEA WebLogic Server application servers, RedHat Linux, SUSE Linux, Microsoft Windows, 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. Conventions used in this guide This guide uses the following naming conventions for common file paths. Name Default value Description [LiveCycle root] [appserver root] BEA_HOME Windows: C:\Adobe\LiveCycle\ Linux and UNIX : /opt/adobe/livecycle/ Windows: C:\bea\weblogic81\ Linux and UNIX: /opt/bea/weblogic81 Windows C:\bea Linux, UNIX: /opt/bea 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 install directory for WebLogic as specified for the BEA_HOME environment variable. 6
Preface Configuring LiveCycle Application Server Clusters Using WebLogic Related documentation 7 Name Default value Description [appserverdomain] Windows: C:\bea\user_projects\domains\mydomain UNIX: /opt/bea/user_projects/domains/mydomain The domain that you configured on WebLogic. [product root] 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 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 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 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 and 7.2.2 Adobe LiveCycle Reader Extensions 7.2 Adobe LiveCycle Policy Server 7.2
Preface Configuring LiveCycle Application Server Clusters Using WebLogic Updated LiveCycle product information 8 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 clustered application servers and 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 high availability and load balancing. 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 BEA WebLogic Server 8.1. By clustering, you can achieve one or more of the following benefits. How you implement clustering determines which benefits are achieved: Failover Load balancing Scalability 9
Overview Configuring LiveCycle Application Server Clusters Using WebLogic Failover 10 Failover 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. However, if an application server fails during a transaction, the backup application server does not recover the state of the failed instance. If a server fails when a user enters data into a form, for example, the data may have to be reentered. Some products, such as LiveCycle Workflow, can recover process states at the step and process levels. Load balancing Load balancing is a technique used to distribute work across a number of systems 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. Application server load balancing Application server load balancing is useful for managing the load between application servers. Application servers can be configured to use a weighted round-robin routing policy that ensures a balanced 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 roughly the same number of requests. Weighting some servers more heavily sends more requests to these servers than to those that are weighted less heavily. 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 the Apache HTTP Server, the most commonly used method for load balancing is Round-Robin DNS. Round-Robin DNS is a relatively simple method of load balancing, where a Domain Name System (DNS) 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 can resolve 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. Scalability and availability Scalability in a cluster means that an administrator can increase the capacity of the application dynamically to meet the demand without interrupting or negatively impacting service. WebLogic 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.
Overview Configuring LiveCycle Application Server Clusters Using WebLogic Terminology 11 Terminology WebLogic uses specific terminology, which is defined here to avoid confusion: Server: Represents an instance of a Java virtual machine (JVM). Machine: Represents a physical system running one or more WebLogic Servers. Cluster: Represents a logical grouping of multiple application servers within a domain for administration, application deployment, load balancing, and failover purposes. 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 only on the server that runs the WebLogic domain Administration Server. (LiveCycle PDF Generator Professional and LiveCycle PDF Generator Elements) You must install the product on each machine in 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. For more information, see the appropriate chapter in this guide for the LiveCycle product you are clustering. Clustering LiveCycle products involves the following tasks: 1. Installing instances of WebLogic Server 2. Setting up the cluster Creating the cluster Running the Administration Server Starting Node Manager Running Managed Servers 3. Installing the web servers 4. Configuring resources Configuring the JDBC resources Configuring the JMS resources 5. Configuring HTTP server failover
Overview Configuring LiveCycle Application Server Clusters Using WebLogic Supported topologies 12 Supported topologies The following sections discuss various topologies, both clustered and non-clustered, that you can employ. For additional information on configuring WebLogic in a cluster, see edocs.bea.com/platform/suppconfigs/configs81/81_over/overview.html Combined 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. Combined web and application servers with separate database server This topology can be considered for production in case 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, this topology reduces the 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. 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. Single web server with combined application and database server 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 WebLogic 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 WebLogic 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 balancing algorithms on the web server (by using load balancers) as well as on the EJB tier for processing requests 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: Increased processing power efficiency: 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 WebLogic 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. JMS messaging You can configure embedded JMS in various topologies: Single WebLogic Server, with a single JMS server Multiple WebLogic Servers, with a single JMS server Multiple WebLogic Servers, each with their own JMS servers A single JMS server in a single or multiserver environment is simple to configure and does not require JMS Server Management. However, it can only handle low volumes. Because the data store (where messages are stored) is not available for tuning and/or management, the single JMS server cannot be tuned as it is started, nor can it be managed by WebLogic Server. Using multiple WebLogic Servers with a single embedded JMS server is not supported by many LiveCycle products, such as LiveCycle Workflow and LiveCycle Form Manager. Each node requires its own embedded JMS.
Overview Configuring LiveCycle Application Server Clusters Using WebLogic Unsupported topologies 14 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 Installing the Application Servers You can install WebLogic Server on each machine in the cluster or you can install the application server on a single machine. The Administration Server should be installed on one of the servers, but not necessarily on one of the servers in the cluster. Preparing to install Before installing WebLogic, the following configuration tasks must be performed: Disk space: Ensure that the partition that will hold the application server has a minimum of 10 GB of free disk space. IP address settings: All of the computers must have a fixed IP address managed through a single DNS. IP multicast: All of the computers must fully support IP multicast packet propagation, which means all routers and other tunneling technologies must be configured to propagate multicast messages to clustered server instances. The network latency must be low enough to ensure that most multicast messages reach their final destination within 200 to 300 milliseconds. Finally, the multicast Time-To-Live (TTL) value for the cluster must be high enough to ensure that routers do not discard multicast packets before they reach their final destination. Versions: All of the computers in the cluster must have the same version and same service pack of WebLogic Server software. Installing WebLogic Server The following procedure details how to install WebLogic Server. It is assumed that you have downloaded and unzipped the installation file to an installation directory, and have opened a system terminal and navigated to that directory. For each WebLogic Server, perform the following procedure. To install WebLogic Server 8.1: 1. Run the installation program appropriate for your operating system: (Windows) platform815_win32.exe (Linux) platform815_linux.bin (Solaris) platform815_solaris.bin 2. In the Welcome window, click Next. 3. In the BEA License Agreement window, select Yes and click Next. 4. In the BEA Home Directory box, type the home directory for your WebLogic installation and click Next. 5. In the Choose Install Type window, select Complete and click Next. 15
Installing the Application Servers Configuring LiveCycle Application Server Clusters Using WebLogic Installing WebLogic Server 16 6. In the Choose Product Directory window, in the Product Installation Directory box, type the installation directory for this server installation and click Next. 7. In the Installation Complete window, deselect Run Quickstart and click Done. To create a WebLogic domain: 1. From a command prompt, start the WebLogic Configuration Wizard by navigating to the [appserver root]/common/bin directory and entering the following command: (Windows) config.cmd (Linux, UNIX) config.sh 2. On the Create or Extend a Configuration screen, select Create a new WebLogic configuration and click Next. 3. On the Select a Configuration Template screen, select Basic WebLogic Server Domain and click Next. 4. On the Choose Express or Custom Configuration screen, select Express and click Next. 5. Type your user name and password, confirm the password by retyping it, and then click Next. 6. In the left panel, select Production Mode. 7. In the right panel, select BEA Supplied SDKs and Sun SDK 1.4.2_08@[BEA_HOME]/jdk142_08, and then click Next. 8. On the Create WebLogic Configuration screen, from the Summary View list, select Deployment and click Create. You have the option of changing the default domain from mydomain; however, all machines in the cluster must use the same domain name. 9. On the Creating Configuration screen, when the configuration creation is 100% complete, do the following step: (Windows) Select Start Admin Server and click Done. (Linux, UNIX) Click Done. Start the server by navigating, from a command prompt, to the [appserverdomain] and entering startweblogic.sh Note: You must provide execute permissions on the startweblogic.sh script in the mydomain directory. 10. When prompted, enter the WebLogic administrative user name and password you provided in step 5. To create a new WebLogic Managed Server: 1. If WebLogic Administration Server is not already running, from a command prompt, navigate to the BEA_HOME\user_projects\domains\[domainname] directory, and enter the following command: (Windows) startweblogic.cmd (Linux, UNIX) startweblogic.sh 2. Start WebLogic Administration Console by typing http://[host name]:7001/console in the URL line of a web browser. 3. Type the user name and password that were used in creating this WebLogic configuration, and then click Sign In.
Installing the Application Servers Configuring LiveCycle Application Server Clusters Using WebLogic Configuring anonymous admin lookup 17 4. Right-click Servers and select Configure a New Server. 5. Name the new server (for example, server1) and, in the Listen Port box, type a different value, such as 8001. (Port 7001 is already being used by the Administration Server.) 6. Click Create. 7. From a command prompt, stop WebLogic by navigating to the BEA_HOME\user_projects\domains\[domainname] directory, and entering the following command: (Windows) stopweblogic.cmd adminusername (Linux, UNIX) stopweblogic.sh adminusername 8. When prompted, type the administrator password and press Enter. 9. Start WebLogic Administration Server by entering the following command: (Windows) startweblogic.cmd (Linux, UNIX) startweblogic.sh 10. Start Node Manager by navigating to the [appserver root]/server/bin directory and entering the following command: (Windows) startnodemanager.cmd (Linux, UNIX) startnodemanager.sh 11. Start WebLogic Server Administration Console by typing http://[host name]:7001/console in the URL line of a web browser. 12. In the navigation tree, click Machines. 13. Click Configure a New Machine. 14. Type a name for the new machine, and then click Create. 15. Select Servers, click the WebLogic Managed Server you just created, and then select the machine you just created. 16. Click Apply. 17. Start the WebLogic Managed Server by selecting mydomain > Control Tab and clicking Start all Managed Servers. Configuring anonymous admin lookup You must enable anonymous admin lookup on the application server. This section only applies to the Administration Server. To enable anonymous admin lookup: 1. Start WebLogic Server Administration Console by typing http://[host name]:7001/console in the URL line of a web browser. 2. In the navigation tree, click Security.
Installing the Application Servers Configuring LiveCycle Application Server Clusters Using WebLogic Configuring the WebLogic transaction time-out 18 3. In the General tab of the Configuration tab, select Anonymous Admin Lookup Enabled and click Apply. 4. Stop the Managed Server by clicking Domain > Control, and then click Start/Stop. 5. Once stopped, restart the server by clicking Start/Stop. Configuring the WebLogic transaction time-out You must increase the WebLogic transaction time-out value. The default value of 30 seconds is insufficient for running your applications. This time-out value must be higher than the value configured at the Job Source (through Administrator). The recommended value is 84600 seconds. This section only applies to the Administration Server. To set the WebLogic transaction time-out: 1. Start the WebLogic Server Administration Console by typing http://[host name]:[port]/console in the URL line of a web browser. 2. Type the user name and password that you created for the WebLogic domain, and then click Sign In. 3. In the navigation tree, select [domain name], click the Configuration tab, and then click the JTA tab. 4. In the Timeout Seconds box, type 84600, and then click Apply. 5. In the navigation tree, select [domain name] > Servers > [servername] and click the Tuning tab. 6. In the Stuck Thread Max Time box, type 1200 and click Apply. 7. Shut down the servers by selecting Domain > Control > Graceful Shutdown of all Managed Servers. Once the shutdown has completed, open a command prompt to the bea domain folder and run the following command: (Windows) stopweblogic.cmd <username> (Linux, UNIX) stopweblogic.sh <username> Enter the password when prompted. 8. Once stopped, restart the server by running the following command: (Windows) startweblogic.cmd (Linux, UNIX) startweblogic.sh Enter the user name and password when prompted. 9. When the server is started, log in to the WebLogic Server Administration Console and start the Managed Server by selecting Domain > Control > Start all Managed Servers.
Installing the Application Servers Configuring LiveCycle Application Server Clusters Using WebLogic Creating an endorsed directory 19 Creating an endorsed directory Once all LiveCycle products have been installed, you must create an endorsed directory and copy Java library files to the directory. This directory is required to ensure that the Java run-time environment (JRE) that runs WebLogic uses the classes from the libraries in the endorsed directory instead of the same-named classes that are identified in the system classpath. Repeat this procedure for each machine to be added to the cluster. To create an endorsed directory: 1. Navigate to the BEA_HOME/jdk142_08/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 Copying LiveCycle JAR files You need to copy one or more LiveCycle JAR files from the LiveCycle installation directories to the WebLogic directories. Repeat this procedure for each machine to be added to the cluster. To copy LiveCycle JAR files: 1. In the [appserverdomain] directory, create a directory called lib. 2. Copy the DocumentServicesLibrary.jar file from the [LiveCycle root]/components/csa/weblogic/lib/adobe directory to the [appserverdomain]/lib directory. Increasing the WebLogic Server thread count Before deploying LiveCycle products to WebLogic Server, you must increase the server thread count. The default value of 25 is insufficient for running your applications. Repeat this procedure for each Managed Server instance (each server to be added to the cluster). To increase the WebLogic Server thread count: 1. Start WebLogic Server Administration Console by typing http://[host name]:[port]/console in the URL line of a web browser. 2. Type the user name and password that you created for the WebLogic domain, and then click Sign In. 3. Select Servers, right-click the Managed Server name, and select View Execute Queues. 4. Click weblogic.kernel.default. 5. In the Thread Count box, type 40 and click Apply. 6. Restart the Managed Server instance by selecting Domain > Control > Graceful Shutdown. Start the server by selecting Domain > Control, and then click Start/Stop.
Installing the Application Servers Configuring LiveCycle Application Server Clusters Using WebLogic Copying and editing files 20 Copying and editing files This section applies to LiveCycle Policy Server only. To complete the configuration, you will have to copy several files to the server and modify your startup scripts. To copy and edit files: 1. Create a directory named lib in the [appserverdomain] directory. 2. Copy the appropriate database jar files from the [LiveCycle root]/components/policyserver/common/ lib/thirdparty directory to the [appserverdomain]/lib directory: db2jcc.jar db2jcc_license_cu.jar mysql-connector-java.jar ojdbc14.jar nls_charset12.jar 3. Copy the endorsed directory from the [LiveCycle root]/policyserver/sdk/lib/weblogic directory to the [appserverdomain]/lib directory. Ensure that the following files have been copied: dom3-xercesimpl-2.4.0.jar dom3-xml-apis-2.4.0.jar xalan-2.4.1.jar Note: Only perform this step if LiveCycle Policy Server is the only product being installed; otherwise these files were copied to an endorsed directory previously. 4. Copy the edc-server-spi.jar file from the [LiveCycle root]/policyserver/sdk/spi-lib directory to the [appserverdomain]/lib directory. 5. Copy the jax-qname.jar file from the [LiveCycle root]/policyserver/sdk/lib/weblogic directory to the [appserverdomain]/lib directory. 6. Copy the jaas.config file from the [LiveCycle root]/policyserver/weblogic-conf/jaas/ directory to the [appserverdomain]/lib directory. 7. In a text editor, edit the jaas.config file by configuring the user.provider.url, userdnprefix, and userdnsuffix entries, and then save the file. For example, edit jaas.config: UsernamePwd_Auth { com.adobe.edc.server.provider.authentication.login.ldaploginmodule required debug="true" java.naming.factory.initial="com.sun.jndi.ldap.ldapctxfactory" user.provider.url="ldap://dirsj.corp.adobe.com:389" java.naming.security.authentication="simple" userdnprefix="uid=" userdnsuffix=",ou=people,o=adobe.com"; };
Installing the Application Servers Configuring LiveCycle Application Server Clusters Using WebLogic Copying and editing files 21 8. Copy the following file from the [LiveCycle root]\policyserver\ weblogic-conf\scripts\ directory to the [appserverdomain] directory: (Windows) startweblogic.cmd and startmanagedweblogic.cmd (Linux and UNIX) startweblogic.sh and startmanagedweblogic.sh 9. Edit the startweblogic command: (Windows Administration Server) [appserverdomain]\startweblogic.cmd (Windows Managed Server) [appserverdomain]\startmanagedweblogic.cmd (Linux and UNIX Administration Server) [appserverdomain]/startweblogic.sh (Linux and UNIX Managed Server) [appserverdomain]/startmanagedweblogic.sh 10. Ensure that the following properties are configured: set EDC_DOMAIN_DIR=%BEA_HOME%\user_projects\domains\mydomain set SERVER_NAME=myserver 11. Ensure that JAVA_HOME points to BEA_JDK (version 1.4.2_08) and that the bin directory for JAVA_HOME is included in the path. 12. Ensure that edc-server-spi.jar, jax-qname.jar, and the database drivers are in the classpath. 13. Add the following in Java arguments: (Only LiveCycle Policy Server) -Djava.endorsed.dirs=%WL_DOMAIN_DIR%/lib/endorsed -Djava.security.auth.login.config= %WL_DOMAIN_DIR%/lib/jaas.config (LiveCycle Policy Server deployed with other LiveCycle products) -Djava.security.auth.login.config= %WL_DOMAIN_DIR%/lib/jaas.config 14. Save your changes to the file. 15. Edit the startup scripts for all the nodes. 16. Restart the Managed Server instance by selecting Domain > Control > Graceful Shutdown. Then start the server by selecting Domain > Control, and click Start/Stop.
3 Configuring the Database Before installing any LiveCycle product to the cluster, the database must be configured. You must have a database server installed and a database created. For more information on creating and installing databases for LiveCycle products, see the installation and configuration guide for the LiveCycle product you are clustering. Creating the database This section describes how to set up the database that stores LiveCycle configuration information and run-time data. If deploying LiveCycle Forms (without User Management), LiveCycle Reader Extensions, or LiveCycle Document Security, you do not need to complete this section. 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. Creating an Oracle database 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 CREATE VIEW system privileges. For Oracle 10g, the user account must be granted the CREATE SESSION, CREATE SYNONYM, and CREATE VIEW system privileges. Optionally, for both Oracle 9i and 10g, UNLIMITED TABLESPACE can be granted. However, an initial 500 MB table space size can be allocated instead, with the option that this size will grow over time and should be monitored using administration utilities inside of Oracle, such as alarms. For information about using Oracle9i or 10g, see the Oracle 9i or 10g user documentation. Creating a SQL Server database 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 using SP3a or SP4. 22
Configuring the Database Configuring LiveCycle Application Server Clusters Using WebLogic Creating a SQL Server database 23 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. If the WebLogic host computer belongs to a Windows workgroup, the SQL Server host computer must belong to a workgroup and not a domain. You must also install JTA stored procedures on SQL Server. (See Installing JTA stored procedures on page 23.) 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 24.) Installing JTA stored procedures LiveCycle products deployed on WebLogic 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. Obtain and install SQL Server 2000 Driver for JDBC SP3 from the http://www.microsoft.com/technet/prodtechnol/sql/2000/downloads/default.mspx website. 2. Copy the sqljdbc.dll file from the Microsoft SQL Server 2000 Driver for JDBC\SQLServer JTA directory to the [install directory]\microsoft SQL Server\MSSQL\Binn directory, where [install directory] is the location where SQL Server is installed. 3. 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. 4. In the menu of available databases, ensure that master is selected. Note: Changes made to the Master database are global and affect all databases in the instance. 5. Open the instjdbc.sql file from the Microsoft SQL Server 2000 Driver for JDBC\SQLServer JTA directory, and then execute it. 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. 6. 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 WebLogic Installing database drivers 24 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 that 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. Installing database drivers You must now install your database drivers. The server referred to in this section is the Managed Server. To install the Oracle driver: 1. From a browser, navigate to http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc_10201.html 2. Under Oracle Database 10g Release 2 (10.2.0.1.0) JDBC Drivers, download the ojdbc14.jar file. 3. Under the [WebLogic root]/server/ directory, create a new directory called db_drivers. 4. Place the new ojdbc14.jar file in the [WebLogic root]/server/db_drivers directory.
Configuring the Database Configuring LiveCycle Application Server Clusters Using WebLogic Installing database drivers 25 5. Start the WebLogic Server Administration Console by typing: http://[host name]:[port]/console in the URL line of a web browser. 6. Type the user name and password that were used in creating this WebLogic configuration, and then click Sign In. 7. In the navigation tree, select [domain name], click Servers, and then click the server you created. 8. Click the Remote Start tab on the Configuration tab. 9. Add the following text to the Class Path box: (Windows) %WL_HOME%\server\db_drivers\ojdbc14.jar; (Linux and UNIX) ${WL_HOME}/server/db_drivers/ojdbc14.jar: Note: Use the ; separator (Windows) or the : separator (Linux and UNIX). 10. Save your changes. To install the SQL Server driver: 1. Start the WebLogic Server Administration Console by typing: http://[host name]:[port]/console in the URL line of a web browser. 2. Type the user name and password that were used in creating this WebLogic configuration, and then click Sign In. 3. In the navigation tree, select [domain name], click Servers, and then click the server you created. 4. Click the Remote Start tab on the Configuration tab. 5. Add the following text to the Class Path box: (Windows) %WL_HOME%\server\lib\wlbase.jar;%WL_HOME%\server\lib\wlsqlserver.jar; %WL_HOME%\server\lib\wlutil.jar; (Linux and UNIX) ${WL_HOME}/server/lib/wlbase.jar:${WL_HOME}/server/lib/wlsqlserver.jar :${WL_HOME}/server/lib/wlutil.jar: Note: Use the ; separator (Windows) or the : separator (Linux and UNIX). 6. Save your changes.
Configuring the Database Configuring LiveCycle Application Server Clusters Using WebLogic Registering required JAR files and turning on Remote Start 26 Registering required JAR files and turning on Remote Start You must configure WebLogic to use the JAR files that you copied to the WebLogic computer. The server referred to in this section is the Managed Server. To modify the startmanagedweblogic command: 1. Start the WebLogic Server Administration Console by typing: http://[host name]:[port]/console in the URL line of a web browser. 2. Type the user name and password that were used in creating this WebLogic configuration, and then click Sign In. 3. In the navigation tree, select [domain name], click Servers, and then click the server you created. 4. Click the Remote Start tab on the Configuration tab. 5. In the Java Home box, type the path to the jdk142_08 directory. For example, type C:\bea815\jdk142_08. 6. In the BEA Home box, type the path to the WebLogic installation directory. For example, type C:\bea815. 7. In the Class Path box, type the paths to the DocumentServicesLibrary.jar file and the database drivers. For example: [appserverdomain]/lib/documentserviceslibrary.jar; [appserver root]<database driver>; [BEA_HOME]/jdk142_08/lib/tools.jar; (LiveCycle Policy Server only) [appserverdomain]/lib/edc-server-spi.jar [appserverdomain]/lib/jax-qname.jar The [appserver root]<database drivers> refers to the database drivers you previously added to the class path in Installing database drivers on page 24. Note: Use the ; separator (Windows) or the : separator (Linux and UNIX). 8. In the Arguments box, type the following text: -Dweblogic.Name=[servername] -Dweblogic.ProductionModeEnabled=true -Djava.endorsed.dirs=[BEA HOME]/jdk142_08/jre/lib/endorsed -Dadobeidp.RootDirectory=[BEA HOME]/user_projects/domains/[yourDomain] -Djava.security.policy=[BEA HOME]/weblogic81/server/lib/weblogic.policy (LiveCycle Form Manager) Add the following text in the argument: -Dcom.adobe.fm.lucene.enabled=false (Solaris, LiveCycle Form Manager) Also add the following argument: -XX:NewRatio=8. (LiveCycle Policy Server) Add the following arguments: -Djava.security.auth.login.config={WL_Domain}/lib/jaas.config Caution: These commands must all be on one line with one space between them and no other separators. If you are copying and pasting text directly from this document, remove any hard returns or extraneous text that may get copied along with the required code.
Configuring the Database Configuring LiveCycle Application Server Clusters Using WebLogic Registering required JAR files and turning on Remote Start 27 9. In the User Name box, type the WebLogic user name. 10. In the Password and Confirm Password boxes, type the WebLogic user password. 11. Click Apply. Note: Ensure that the yellow /!\ icon flashes after you click Apply. This flash indicates that the changes have been applied. If the icon does not flash, click Apply again. 12. Restart the Managed Server instance by selecting Domain > Control > Graceful Shutdown. Start the server by selecting Domain > Control, and clicking Start/Stop.
4 Setting Up WebLogic Clusters To deploy the cluster in this chapter, use the WebLogic configuration wizard to create the domain, servers, and cluster. WebLogic Server supports and provides capabilities to create a cluster on a single computer as well as remote, networked computers. For more information on any topic, see the WebLogic online documentation at http://e-docs.bea.com/wls/docs81. Creating the WebLogic cluster To set up a WebLogic cluster you will need to perform the following tasks: Install Weblogic on all nodes that are to be part of the cluster. On one of the nodes, create a cluster domain. Create a Managed Server on all machines that will host Managed Servers. In the WebLogic Server Administrative Console, define the cluster. To create the WebLogic cluster: 1. Start the configuration wizard on the system that will be running the Administration Server. For example: (Windows) Select Start > Programs > BEA WebLogic Platform 8.1 > Configuration Wizard. (UNIX) Open a console, navigate to BEA_HOME/weblogic81/common/bin and run config.sh. 2. Click Create a new WebLogic configuration. 3. Select Basic WebLogic Server Domain template, click Next, and then select Custom configuration. 4. In the Name box, type an alphanumeric name that will appear in the Administration Console, such as AdminServer. Each server within a domain must have a unique name. You use this name to identify the server when using the Administration Console or APIs. 5. In the Listen Address box, specify the IP address of the Administration Server. 6. In the Listen Port box, type a numeric value for the listen port. The default port is 7001, and the range is between 1 and 65535. 7. Select SSL Enabled to enable Secure Socket Layer. By default, the server instance uses demonstration certificates for SSL communication. In a production environment, you must configure the server to use certificates from a certificate authority. 8. In the SSL Listen Port box, enter a numeric value for the SSL listen port. The range is between 1 and 65535. 9. On the Managed Servers, Clusters, and Machines Options screen, select Yes. 10. On the Configure Managed Servers page, click Add. 28
Setting Up WebLogic Clusters Configuring LiveCycle Application Server Clusters Using WebLogic Creating the WebLogic cluster 29 11. In the Name box, type an alphanumeric name. Each server within a domain must have a unique name. 12. In the Listen Address box, specify the IP address of the Managed Server. 13. In the Listen Port box, type a numeric value for the listen port. While the default port is 7001, you must select a different port than was entered in step 6, such as 8001. The range is between 1 and 65535. 14. Select SSL Enabled to enable Secure Socket Layer. By default, the server instance uses demonstration certificates for SSL communication. In a production environment, you must configure the server to use certificates from a certificate authority. 15. In the SSL Listen Port box, enter a numeric value for SSL listen port. The range is between 1 and 65535. Note: If you plan to add more Managed Servers on the same computer, define a new port number. 16. Repeat steps 10 to 15 for each Managed Server, even if the other server is created on another machine. 17. On the Configure Clusters page, click Add. 18. In the Cluster Name box, type an alphanumeric name. Each cluster within a domain must have a unique name. 19. In the MultiCast Address box, enter a multicast address for the cluster. A multicast address is an IP address in the range from 224.0.0.0 to 239.255.255.255. For example, type 237.0.0.101. 20. In the MultiCast Port box, enter a numeric value for the multicast port. While the default port is 7001, you must select a different port than was entered in step 6, such as 8050. The range is between 1 and 65535. 21. (Optional) In the Cluster Address box, enter the cluster address. The cluster address forms the host name portion of URLs for requests directed to the cluster. If the cluster address is not set, EJB handles may not work properly. For production use, enter a DNS name that maps to the individual IP addresses of the Managed Servers in the cluster. For testing or development purposes, use a comma-separated list of the IP addresses and ports assigned to the Managed Servers (this is the default entry). For example, IPaddress1:port1,IPaddress2:port2,IPaddress3:port3 22. On the Assign Servers to Clusters screen, select all servers in the server list, then click the move arrow button to move the servers to the cluster list, and then click Next. 23. In the Configure Machines screen, add the entries for the Managed Servers you created in step 11. Note: When creating the cluster on a UNIX machine, click the Unix Machine tab and then add the entries for the Managed Servers that you created in step 11. 24. For each Managed Server, click Add, and then, in the Name box, type the host name (or IP address) of the Managed Server, and in the Node Manager Listen Address box, type the IP address of the Managed Server. Keep the default listening port as 5555. 25. (Optional) If you plan to use Node Manager on the computer, in the Node Manager Listen Address box, enter the DNS name of the computer running Managed Servers.
Setting Up WebLogic Clusters Configuring LiveCycle Application Server Clusters Using WebLogic Creating the WebLogic cluster 30 26. (Optional) If you plan to use Node Manager on the computer, in the Node Manager Listen Port box, enter the port on which Node Manager listens for requests. The default listening port for Node Manager is 5555. The Administration Server uses the listen address and listen port to connect to Node Manager running on the remote computer. The Administration Server can then ask Node Manager to start a server instance on the computer. For servers that are in a cluster, WebLogic Server uses the machines that you configure to determine the optimum server to which certain tasks, such as HTTP session replication, are delegated. 27. Repeat steps 25 to 26 for each WebLogic host that will run servers in the domain. 28. On the Assign Servers to Machines page, in the Machine list, select a machine that you created. 29. In the Server list, select a server to run on the machine selected in step 28. A server can be an Administration Server or a Managed Server. 30. Click the right arrow to assign the server to the machine. 31. Repeat steps 26 to 30 for each WebLogic Server running on a machine. 32. Skip subsequent pages (JDBC Options and JMS Options) until the wizard displays the Configure Administrative Username and Password page. 33. On the Configure Administrative Username and Password page, enter a user name and password. This user becomes the initial administrative user for the domain. Under Configure Additional Users, Groups, And Global Roles, select No and then click Next. 34. (Windows) The Configuration Wizard prompts you to create an item on the Windows Start menu. If you want the wizard to lead you through the process of configuring a shortcut for the servers in your domain, click Yes. 35. (Windows) The Configuration Wizard prompts you to install the Administration Server as a Windows service. If you want the Administration Server to start automatically when you boot the Windows computer, click Yes. 36. In the Weblogic Startup Mode, select Production Mode. 37. Select Sun JDK, and then browse to JDK install directory. 38. On the Create WebLogic Configuration page, click Create. By default, the wizard creates a domain with the following characteristics: The domain is named mydomain. The domain's Administration Server is named myserver. The root directory for the Administration Server is located in WL_HOME\user_projects\domains\mydomain. 39. When the domain creation is complete, click Done. The configuration wizard creates a new domain - WL_HOME\user_projects\domains\mydomain.
Setting Up WebLogic Clusters Configuring LiveCycle Application Server Clusters Using WebLogic Starting the cluster 31 40. To start the Administration Server in this domain, from a command prompt, navigate to WL_HOME\user_projects\domains\mydomain and run the script appropriate to your operating system: (Windows) startweblogic.cmd (Linux, UNIX) startweblogic.sh To access the Administration Console for the domain, use any of the following URLs: From the same computer on which the Administration Server is running: http://localhost:7001/console From any computer: http://dns-name:7001/console where DNS-name is the DNS name of the computer on which the Administration Server is running. From any computer: http://ip-address:7001/console where IP-Address is an IP address of the computer on which the Administration Server is running. Starting the cluster Starting the cluster requires configuring and starting Node Manager, Administration Server, and all Managed Servers. Starting the Administration Server To start the Administration Server: 1. Open a command prompt on the server. 2. Navigate to the BEA_HOME\user_projects\domains\mydomain directory. 3. Run the script appropriate to your operating system: (Windows) startweblogic.cmd (Linux, UNIX) startweblogic.sh Configuring Node Manager Node Manager is a stand-alone Java program provided with WebLogic Server and is useful for starting a Managed Server that resides on a computer different from its Administration Server. Node Manager also provides features that help increase the availability of Managed Servers in your cluster. You must perform the following procedure on each machine running Node Manager. To configure and start Node Manager: 1. Generate certificates to configure Node Manager. Node Manager uses SSL to communicate with the Administration Server.
Setting Up WebLogic Clusters Configuring LiveCycle Application Server Clusters Using WebLogic Configuring Node Manager 32 2. From a command prompt, navigate to the BEA_HOME\weblogic81\server\bin directory and run the script appropriate to your operating system: (Windows) startnodemanager.cmd (Linux, UNIX) startnodemanager.sh Running this command creates several files under the BEA_HOME\weblogic81\common\NodeManager directory. 3. Navigate to the BEA_HOME\weblogic81\common\NodeManager directory and open the nodemanager.properties file in a text editor. Add the following lines: ReverseDnsEnabled=true KeyStores = DemoIdentityAndDemoTrust ListenAddress=<servername> ListenPort=<port> ReverseDnsEnabled: Specifies whether entries in the trusted hosts file can contain DNS names (instead of IP addresses). Keystores: Specifies the use of the demonstration Identity and Trust keystores located in the BEA_HOME\server\lib directory that are configured by default. The demonstration Trust keystore trusts all of the certificate authorities in the Java Standard Trust keystore (JAVA_HOME\jre\lib\security\cacerts). ListenAddress: Specifies the IP address on which the machine running Node Manager can listen for connection requests. This argument deprecates the weblogic.nodemanager.listen address. ListenPort: Specifies the TCP port number on which Node Manager listens for connection requests. This argument deprecates weblogic.nodemanager.listenport. The default port number is 5555. 4. Open the nodemanager.hosts file in a text editor and add the DNS names of the Managed Servers you created for the cluster as follows: Server1 Server2 Node Manager accepts commands from Administration Servers running on the same machine and on trusted hosts. Trusted hosts are identified by IP address or DNS name in the nodemanager.hosts file, which is created the first time you start Node Manager in the directory where you run it. Note: Each time you start Node Manager, it looks for the nodemanager.hosts file in the current directory, and creates the file if it does not exist in that directory. By default, the nodemanager.hosts file is empty. To add trusted hosts, edit the file with a text editor, and add one line for each Managed Server s host name. If you want Node Manager to accept commands from any host, put an asterisk in the hosts file. If you identify a trusted host by its DNS name, you must enable reverse DNS lookup when starting Node Manager. By default, reverse DNS lookup is disabled. Note: You do not have to restart Node Manager after changing the nodemanager.hosts file. If the computer name does not work, change it to the IP addresses. When performing steps 1 to 4 on other computers (for example, Server2), use ListenAddress=Server2 (the computer name itself).
Setting Up WebLogic Clusters Configuring LiveCycle Application Server Clusters Using WebLogic Starting Node Manager 33 Starting Node Manager These sections describe methods of starting Node Manager, required environment variables, and command line arguments. Starting Node Manager as a service The WebLogic Server installation process automatically installs Node Manager as a service, so that it starts up automatically when the system boots. By default, Node Manager will listen on localhost. If you want Node Manager to accept commands from remote systems, you must uninstall the default Node Manager service, and then reinstall it to listen on a non-localhost Listen Address. Starting Node Manager with a script Although running Node Manager as an operating system service is recommended, you can also start Node Manager manually from a command prompt using a script. The environment variables Node Manager requires are described in Node Manager Environment Variables. Command line options are described in Node Manager Properties. Sample start scripts for Node Manager are installed in the WL_HOME\server\bin directory, where WL_HOME is the top-level installation directory for WebLogic Server. Use startnodemanager.cmd on Windows systems and startnodemanager.sh on UNIX systems. The scripts set the required environment variables and start Node Manager in WL_HOME/common/nodemanager. Node Manager uses this directory as a working directory for output and log files. To specify a different working directory, edit the start script with a text editor and set the value of the NODEMGR_HOME variable to the required directory. Edit the sample start script to make sure that the command qualifiers set the correct listen address and port number for your Node Manager process. Command syntax for starting Node Manager In WebLogic Server 8.1, you can enter Node Manager properties on the command line or define them in the nodemanager.properties file, which is installed in the directory where you start Node Manager. Values supplied on the command line override the values in nodemanager.properties. This is the syntax for starting Node Manager: java [java_property=value...] -D[nodemanager_property=value] -D[server_property=value] weblogic.nodemanager Note: WebLogic Server 8.1 provides a new wrapper to weblogic.nodemanager.nodemanager. The new wrapper is weblogic.nodemanager. In the command line, a java_property indicates a direct argument to the java executable, such as -Xms or -Xmx. If you did not set the CLASSPATH environment variable, use the -classpath option to identify required Node Manager classes. Node Manager communicates with Administration Servers and Managed Servers using two-way SSL. When you start Node Manager, you must supply startup arguments that identify security components related to SSL communication. Note: If you run Node Manager on a UNIX operating system other than Solaris or HP UX, you cannot have any white space characters in any of the parameters that will be passed to the Java command line when starting Node Manager.
Setting Up WebLogic Clusters Configuring LiveCycle Application Server Clusters Using WebLogic Starting Managed Servers 34 Starting Managed Servers To run Managed Servers from a command prompt, navigate to BEA_HOME\user_projects\domains\[your domain] on each machine in the cluster and run the script appropriate to your operating system: (Windows) startmanagedweblogic.cmd [servername] http://[server]:[port] (Linux, UNIX) startmanagedweblogic.sh [servername] http://[server]:[port] where [servername] is the name of the Managed Server, [server] is the name of the Administration Server, and [port] is the port address of the Administration Server. Configuring WebLogic Managed Servers All servers in the cluster have to be configured with specific environmental parameters. To configure the Managed Servers: 1. Start the WebLogic Administration Server and Node Manager on all Managed Servers in the cluster. 2. Using your web browser, log in to the WebLogic Server Administration Console. 3. Navigate to Clusters > [Cluster Name], and then click one of your Managed Servers. 4. Click the Configuration tab, click the Remote Start tab, and then specify the following parameters: In the Java Home box, specify the location of your JDK folder in your main WebLogic installation directory. For example, type: BEA_HOME\jdk142_08 In the BEA Home box, specify the location of the main WebLogic installation. In the Class Path box, specify the location of the main DocumentServicesLibrary.jar file. For example, type: BEA_HOME\user_projects\domains\[Your Domain]\lib\DocumentServicesLibrary.jar; %CLASSPATH% (LiveCycle Policy Server only) BEA_HOME\user_projects\domains\[Your Domain]\lib\edc-server-spi.jar BEA_HOME\user_projects\domains\[Your Domain]\lib\jax-qname.jar Note: The jax-qname should be placed before the weblogic.jar in the classpath. Note: On some systems, the %CLASSPATH% variable will not work. You must add references to the following items: [JAVA HOME]\lib\tools.jar BEA_HOME\weblogic8.1\server\lib\weblogic.jar A database driver, such as BEA_HOME\weblogic8.1\server\db_drivers\ojdbc14.jar, for a list of appropriate database drivers, see the Installation and Configuration guide. 5. Repeat steps 2 to 4 for all Managed Servers. 6. Restart all Managed Servers.
Setting Up WebLogic Clusters Configuring LiveCycle Application Server Clusters Using WebLogic Configuring server resources 35 Configuring server resources Log in to the WebLogic Server Administration Console by navigating to http://<server>:<port> using a web browser, and configure the resources as indicated in the following sections. Configuring JDBC resources From the WebLogic Administration Console, you must create a JDBC connection pool. Configuring JDBC resources for LiveCycle Policy Server To create the JDBC connection pool for Oracle: 1. In the WebLogic Administration Console navigation tree, select Services > JDBC > Connection Pool. 2. Click Configure a new JDBCConnectionPool. 3. Under Database Type, select Oracle and, under Database Driver, select Oracle s Driver (Thin) Versions: 9.0.1,9.2.0,10, and then click Continue. 4. Enter the following parameters: In the Name box, type EDCJDBCPool. In the Database Name box, type the name of the database you created. For example, type adobe. In the Host Name box, specify the IP address of your database server. In the Port box, accept the default port address; for Oracle, it is 1521. In the Database User Name box, enter the user ID you created for the database. In the Password box, type the password associated with the user ID. In the Confirm Password box, retype the password associated with the user ID. 5. Click Continue. 6. Click Test Driver Configuration. If all of the settings are correct, you will see a message stating Connection Successful. If you do not see the message, review your configuration settings. 7. In the Create and Deploy window, select all servers in the cluster and click Create and Deploy to deploy the new pool. Verify that the pool was deployed by examining its entry in the JDBC Connection Pools table. EDBCJDBCPool should appear in the table and its Deployed status should be true. 8. Perform the following additional steps: In the navigation tree, select the connection pool you created. Click the Configuration tab, and then click the Connections tab. In the Maximum Capacity box, type 100 and, in the Statement Cache Size box, type 80, and then click Apply. Click Show Advanced Options, select Test Reserved Connections, Test Created Connections, and Test Released Connections. In the Test Table name box, type in a table name and then click Apply. In the Test Frequency box, set the test frequency to more than 0 seconds, and then click Apply. Click the Testing tab and click Test Pool.
Setting Up WebLogic Clusters Configuring LiveCycle Application Server Clusters Using WebLogic Configuring JDBC resources 36 To create the JDBC connection pool for SQL Server: 1. In the WebLogic Administration Console navigation tree, select Services > JDBC > Connection Pool. 2. Click Configure a new JDBCConnectionPool. 3. Under Database Type, select MS SQL Server and, under Database Driver, select BEA s MS SQL Server Driver (Type 4) Versions: 7.0.2000, and then click Continue. 4. Enter the following parameters: Name: type EDBCJDBCPool Database Name: The name of the database you created to store LiveCycle data. Host Name: The name of the computer that hosts SQL Server. Port: The port that SQL server uses for connections. The default is 1433. Driver Classname: Type weblogic.jdbcx.sqlserver.sqlserverdriver URL box: jdbc:microsoft:sqlserver://[host name]:[port] Database User Name: Enter the user ID you created for the database. Password: Type the password associated with the user ID. Confirm Password: Retype the password associated with the user ID. 5. Click Continue. 6. Click Test Driver Configuration. If all of the settings are correct, you will see a message stating Connection Successful. If you do not, review your configuration settings. 7. In the Create and Deploy window, select your cluster and click Create and Deploy to deploy the new pool. Verify that the pool was deployed by examining its entry in the JDBC Connection Pools table. EDBCJDBCPool should appear in the table and its Deployed status should be true. To set up a data source: 1. In the navigation tree, select Services > JDBC > Data Sources and select Configure a new JDBC Data Source. 2. In the Name box, type EDCDatasource and, in the JNDI Name box, type EDC_DS 3. Select Honour Global Transactions, select Emulate Two-Phase Commit for non-xa Driver, and then click Continue. 4. Select EDBCJDBCPool and click Continue. 5. On the Target the Data Source screen, select the cluster as a target, select All servers in the cluster and click Create. 6. Verify that the datasouce was deployed by clicking Clusters > [cluster_name]. Select one of the servers in the cluster, and then click View JNDI tree and ensure that EDC_DS is listed. 7. Click EDBCJDBCPool, click the Testing tab, and then ensure that the connection pool is in a Running state for all of the Managed Servers.
Setting Up WebLogic Clusters Configuring LiveCycle Application Server Clusters Using WebLogic Configuring JDBC resources 37 To specify the connection parameters: 1. Navigate to JDBC > Connection Pools > EDBCJDBCPool, and click the Connections tab. 2. In the Initial Capacity box, type 10. 3. In the Maximum Capacity box, type 100. 4. In the Capacity Increment box, type 5. 5. In the Statement Cache type box, type LRU. 6. In the Statement Cache Size box, type 100. 7. Click Apply. Configuring JDBC resources for all products except LiveCycle Policy Server To create the JDBC connection pool for Oracle: 1. In the WebLogic Administration Console navigation tree, select Services > JDBC > Connection Pool. 2. Click Configure a new JDBCConnectionPool. 3. Under Database Type, select Oracle and, under Database Driver, select Oracle s Driver (Thin) Versions: 9.0.1,9.2.0,10, and then click Continue. 4. Enter the following parameters: In the Name box, type IDPConnectionPool. In the Database Name box, type the name of the database you created for example, type adobe. In the Host Name box, specify the IP address of your database server. In the Port box, accept the default port address; for Oracle, it is 1521. In the Database User Name box, enter the user ID you created for the database. In the Password box, type the password associated with the user ID. In the Confirm Password box, retype the password associated with the user ID. 5. Click Continue. 6. Click Test Driver Configuration. If all of the settings are correct, you will see a message stating Connection Successful. If you do not see the message, review your configuration settings. 7. In the Create and Deploy window, select all servers in the cluster and click Create and Deploy to deploy the new pool. Verify that the pool was deployed by examining its entry in the JDBC Connection Pools table. IDPConnectionPool should appear in the table and its Deployed status should be true.
Setting Up WebLogic Clusters Configuring LiveCycle Application Server Clusters Using WebLogic Configuring JDBC resources 38 8. (All products except LiveCycle PDF Generator or LiveCycle Assembler) Perform the following additional steps: In the navigation tree, select the connection pool you created. Click the Configuration tab, and then click the Connections tab. In the Maximum Capacity box, type 100 and, in the Statement Cache Size box, type 80, and then click Apply. Click Show Advanced Options, select Test Reserved Connections, Test Created Connections, and Test Released Connections, in the Test Table name box, type in a table name and then click Apply. In the Test Frequency box, set the test frequency to more than 0 seconds, and then click Apply. Click the Testing tab and click Test Pool. To create the JDBC connection pool for SQL Server: 1. In the WebLogic Administration Console navigation tree, select Services > JDBC > Connection Pool. 2. Click Configure a new JDBCConnectionPool. 3. Under Database Type, select MS SQL Server and, under Database Driver, select BEA s MS SQL Server Driver (Type 4) Versions: 7.0,2000, and then click Continue. 4. Enter the following parameters: Name: Type IDPConnectionPool Database Name: The name of the database you created to store LiveCycle data. Host Name: The name of the computer that hosts SQL Server. Port: The port that SQL server uses for connections. The default is 1433. Driver Classname: Type weblogic.jdbcx.sqlserver.sqlserverdriver URL box: jdbc:microsoft:sqlserver://[host name]:[port] Database User Name: Enter the user ID you created for the database. Password: Type the password associated with the user ID. Confirm Password: Retype the password associated with the user ID. 5. Click Continue. 6. Click Test Driver Configuration. If all of the settings are correct, you will see a message stating Connection Successful. If you do not, review your configuration settings. 7. In the Create and Deploy window, select your cluster and click Create and Deploy to deploy the new pool. Verify that the pool was deployed by examining its entry in the JDBC Connection Pools table. IDPConnectionPool should appear in the table and its Deployed status should be true.
Setting Up WebLogic Clusters Configuring LiveCycle Application Server Clusters Using WebLogic Configuring JMS resources 39 To set up a data source: 1. In the navigation tree, select Services > JDBC > Data Sources and select Configure a new JDBC Data Source. 2. In the Name box, type a name for the JDBC data source and, in the JNDI Name box, type IDP_DS 3. Select Honour Global Transactions, select Emulate Two-Phase Commit for non-xa Driver, and then click Continue. 4. Select IDPConnectionPool and click Continue. 5. On the Target the Data Source screen, select the cluster as a target and click Create. 6. Click Configuration, Connections, and then click Show to display the advanced options. Select Test Reserved Connections, Test Created Connections and Test Released Connections and, in the Test Table Name box, type a table name. For the purposes of this test, the table name entered does not have to exist. Any value typed into this text box allows a connection to the database to be established. Click Apply. 7. Click IDPConnectionPool, click the Testing tab, and then ensure that the connection pool is in a running state for all of the Managed Servers. To specify the connection parameters: 1. Navigate to JDBC > Connection Pools > IDPConnectionPool, and click the Connections tab. 2. In the Initial Capacity box, type 10. 3. In the Maximum Capacity box, type 100. 4. In the Capacity Increment box, type 5. 5. In the Statement Cache type box, select LRU. 6. In the Statement Cache Size box, type 100. 7. Click Apply. Configuring JMS resources This section applies to LiveCycle Policy Server, LiveCycle Form Manager, LiveCycle PDF Generator, LiveCycle Workflow, or Watched Folder only. You must configure JMS Resources for WebLogic by performing the following tasks: Configure JMS connection factories. Configure a persistent JMS store. Configure a JMS server. Set up JMS queues. Set up JMS topics.
Setting Up WebLogic Clusters Configuring LiveCycle Application Server Clusters Using WebLogic Configuring JMS resources 40 To configure JMS connection factories: 1. In the WebLogic Server Administration Console navigation tree, select Services > JMS > Connection Factories and select Configure a new JMS Connection Factory. 2. On the JMS Connection Factory screen, type a Name and JNDI Name for the JMS connection factories listed in the table below. (LiveCycle Workflow, Watched Folder, LiveCycle Form Manager) Topic connection factory IDPQueueConnectionFactory IDPTopicConnectionFactory RegistryConnectionFactory AdobeQueueConnectionFactory (Watched Folder only) WFTopicConnectionFactory JNDI name IDPQueueConnectionFactory IDPTopicConnectionFactory RegistryConnectionFactory QueueConnectionFactory (Watched Folder only) WFTopicConnectionFactory (LiveCycle PDF Generator) Topic connection factory AESQueueConnectionFactory AESTopicConnectionFactory JNDI name jms/queueconnectionfactory jms/topicconnectionfactory (LiveCycle Policy Server) Topic connection factory EDC_JMSConnectionFactory JNDI name EDCEventQCF 3. (LiveCycle Policy Server) In the Default Priority box, type 4, in the Default Delivery Mode list, select Persistent, and, in the Acknowledge Policy list, select All. 4. Accept the defaults for the remaining settings on the screen, and then click Create. 5. Click the Configuration tab, click the Transactions tab, select XA Connection Factory Enabled, and then click Apply. 6. Click the Target and Deploy tab, select the cluster to deploy the connection factory to, and then click Apply. 7. Repeat steps 2 to 6 for each topic connection factory listed in step 2. 8. Restart the application server.
Setting Up WebLogic Clusters Configuring LiveCycle Application Server Clusters Using WebLogic Configuring JMS resources 41 To configure a persistent store: Repeat the following steps 1 to 4 for each server in the cluster, and note that for each name in step 2, you must use a unique name, and in step 4, you must use a unique prefix. 1. In the navigation tree, select Services > JMS > Stores and select Configure a New JMS JDBC Store. 2. On the screen that appears, in the Name box, type the name of the JMS JDBC Store. For example, type IDP_JMSStore. 3. From the Connection Pool list, select the connection pool you created earlier. For LiveCycle Policy Server, this pool will be EDBCJDBCPool; for all other products it will be IDPConnectionPool. 4. In the Prefix Name box, type jms, and then click Create. (All products except for LiveCycle PDF Generator and LiveCycle Document Security) To configure a paging store: 1. Create a physical directory on your server and name it PagingFileStore. 2. In the navigation tree, select Services > JMS > Stores and then click Configure a New JMS File Store. 3. On the Create a New JMS File Store page, in the Name box, type a name for the JMS file store. 4. In the Directory box, type the full path to the paging directory you created in step 1 and then click Create. To configure a JMS server for each server in the cluster: 1. In the navigation tree, select Services > JMS > Servers and then click Configure a New JMS Server. 2. On the screen that appears, in the Name box, type the name of the JMS Server. For example, type IDP_JMSServer. 3. From the Persistent Store list, select the persistent store you created in To configure a persistent store: on page 41. 4. (All products except for LiveCycle PDF Generator and LiveCycle Document Security) From the Paging Store list, select the paging store you created in steps 1-4 of To configure a paging store, and then click Create. Note: Do not select servers marked as Migratable. 5. Click Target and Deploy. Under Target, select one of the servers in the cluster and click Apply. 6. Repeat steps 1 to 5 for the remaining Managed Servers in the cluster, specifying a unique name for the JMS server in step 2, a unique persistent store in step 3, and a different target server in step 5.
Setting Up WebLogic Clusters Configuring LiveCycle Application Server Clusters Using WebLogic Configuring JMS resources 42 To create distributed queues: 1. In the navigation tree, select Services > JMS > Distributed Destinations and click Configure a new Distributed Queue. 2. Create the following JMS queues by completing steps 3 to 8 for each queue. (LiveCycle Workflow, LiveCycle Form Manager) JMS queue name adobe_objectdeletionqueue adobe_pedcommandqueue adobe_pecommandqueue adobe_pedlonglivedqueue adobe_pelonglivedqueue adobe_pescheduledmsgqueue JNDI name adobe_objectdeletionqueue adobe_pedcommandqueue adobe_pecommandqueue adobe_pedlonglivedqueue adobe_pelonglivedqueue adobe_pescheduledmsgqueue (LiveCycle PDF Generator) JMS queue name AESJobQueue PDFGCompletedJobsQueue JNDI name queue/aesjobqueue queue/pdfgcompletedjobsqueue (LiveCycle Policy Server) JMS queue name EDCEventQueue JNDI name queue/edceventqueue 3. On the Create a new JMS Queue screen, type one of the queue names listed in step 2 in the Name and JNDI Name boxes, accept the defaults for all of the remaining options on the screen, and then click Create. 4. Click Auto Deploy and then click on Create members on the selected servers (and JMS servers). 5. Select the cluster and then click Next. 6. Select all servers in the cluster and then click Next. 7. Select the JMS servers (associated with each application server), and then click Next. 8. Click Apply. 9. Repeat steps 2 to 8 for each topic connection factory listed in step 2.
Setting Up WebLogic Clusters Configuring LiveCycle Application Server Clusters Using WebLogic Configuring JMS resources 43 To configure distributed queues 1. In the navigation tree, select Services > JMS > Servers > [JMS Server] > Destinations, and then click the JMS queue adobe_pecommandqueue@[jms Server]. 2. Click the Redelivery tab and, in the Redelivery Limit box, type 5. 3. In the Error Destination list, select adobe_pedcommandqueue and click Apply. 4. Repeat steps 1 to 3 for each JMS server. 5. In the navigation tree, select Services > JMS > Servers > [JMS Server] > Destinations, and then click the JMS queue adobe_pelonglivedqueue. 6. Click the Redelivery tab and, in the Redelivery Limit box, type 5. 7. In the Error Destination list, select adobe_pedlonglivedqueue and click Apply. 8. Repeat steps 5 to 7 for each JMS server. 9. Restart the application server. To set up JMS topics: 1. In the navigation tree, select Services > JMS> Distributed Destinations, and then in the right panel click Configure a new Distributed Topic. 2. Create the following JMS topics by completing steps 3 to 8 for each topic. (LiveCycle Workflow, Watched Folder, LiveCycle Form Manager) JMS topic name adobe_registrycachemonitortopic JNDI name topic/adobe_registrycachemonitortopic (LiveCycle PDF Generator) JMS topic name AESConfigUpdatesTopic JNDI name topic/aesconfigupdatestopic 3. On the Create a New JMS Topic screen, type one of the topic names listed in step 2 in the Name and JNDI Name boxes, accept the defaults for all of the remaining options, and then click Create. 4. Click Auto Deploy and then click Create members on the selected servers (and JMS servers). 5. Select the cluster and then click Next. 6. Select all servers in the cluster and then click Next. 7. Select the JMS servers (associated with each application server), and then click Next. 8. Click Apply. 9. Repeat steps 2 to 5 for each topic connection factory listed in step 2.
Setting Up WebLogic Clusters Configuring LiveCycle Application Server Clusters Using WebLogic Configuring queue and topic throttling 44 To set up non-distributed JMS topics: 1. In the navigation tree, select Services > JMS> Servers > JMS Server > Configure Destinations and then select Configure a new JMS Topic. 2. Create the following JMS topics by completing steps 3 to 5 for each topic. (LiveCycle Workflow, Watched Folder, LiveCycle Form Manager) JMS topic name adobe_pofobjecttopic adobe_processeventtopic adobe_taskeventtopic adobe_templateeventtopic (for Watched Folder only) WatchedFolderConfigManagerTopic JNDI name adobe_pofobjecttopic adobe_processeventtopic adobe_taskeventtopic adobe_templateeventtopic (for Watched Folder only) topic/watchedfolderconfigmanagertopic 3. On the Create a New JMS Topic screen, type one of the topic names listed in step 2 in the Name and JNDI Name boxes. 4. Deselect Replicate JNDI Name in Cluster, accept the defaults for all of the remaining options, and then click Create. 5. Click Apply and save your changes. 6. Repeat steps 1 to 5 for each topic connection factory listed in step 2. 7. Repeat steps 1 to 6 for each JMS server. Configuring queue and topic throttling All products except LiveCycle PDF Generator. From the WebLogic Server Administration Console, you can specify queue and topic throttling configurations for the destinations. To configure queue and topic throttling settings: 1. Navigate to Services > JMS > Servers > JMS Server > Destinations. 2. Click a destination and click the Thresholds & Quotas tab. 3. In the Messages Threshold High box, type 2000. 4. In the Messages Threshold Low box, type 500. 5. In the Messages Paging Enabled box, select true. 6. Click Apply.
Setting Up WebLogic Clusters Configuring LiveCycle Application Server Clusters Using WebLogic Configuring queue and topic throttling 45 7. Repeat steps 1 to 6 for each JMS Server Destination. 8. Repeat steps 1 to 7 for each JMS server. After all of the server resources have been configured, restart all of the Managed Servers.
5 Maintaining WebLogic Clusters This section describes typical tasks that are required for maintaining WebLogic clusters. Performing a graceful shutdown of all servers Use this procedure to gracefully shut down the Managed Servers in a cluster with Node Manager. During a graceful shutdown, WebLogic Server subsystems complete in-flight work and suspend themselves in a specific sequence and in a synchronized fashion. For details, see the Graceful Shutdown section in the Configuring and Managing WebLogic Server guide. To control a Managed Server from the Administration Console using Node Manager, a Node Manager process must be running on each machine that hosts a Managed Server in the cluster. For more information, see the Starting Node Manager section in the Configuring and Managing WebLogic Server guide. To perform a graceful shutdown of all servers in a cluster: 1. Start the Administration Server for the domain. 2. In the Administration Console, expand the Clusters node in the navigation tree. 3. Click the cluster whose members you want to shut down. 4. In the right panel, click the Control tab, and then click Graceful shutdown of all servers. 5. When the Administration Console prompts you to confirm the command, click Yes. 6. The right panel displays shutdown settings: If you want to drop all sessions, select Ignore Sessions During Shutdown. If you want to set a time-out for the graceful shutdown to complete, in the Graceful Shutdown Timeout box, enter the time-out period in seconds. 7. Click Apply. 8. As the shutdown process proceeds, the status is displayed in the Transition Activity table. When an operation is complete for a Managed Server, TASK COMPLETED appears in the Status column. Performing a forced shutdown of all servers Use this procedure to force a shutdown of the Managed Servers in a cluster with Node Manager. To control a Managed Server from the Administration Console using Node Manager, a Node Manager process must be running on each machine that hosts a Managed Server in the cluster. For more information, see the Starting Node Manager section in the Configuring and Managing WebLogic Server guide. 46
Maintaining WebLogic Clusters Configuring LiveCycle Application Server Clusters Using WebLogic Creating a new server 47 To perform a force shutdown of all servers in a cluster: 1. Start the Administration Server for the domain. 2. In the Administration Console, expand the Clusters node in the navigation tree. 3. Click the cluster whose members you want to shut down. 4. Click the Force shutdown of all servers link in the right panel. 5. When the Administration Console prompts you to confirm the command, click Yes. 6. As the shutdown process proceeds, the status is displayed in the Transition Activity table. When an operation is complete for a Managed Server, TASK COMPLETED appears in the Status column. Creating a new server Use this procedure to create a new server. You can specify a cluster to which you add the server, or the server can be added to the cluster later. To create a new server on an existing managed node: 1. In the Administration Console, in the navigation tree, click Servers and then in the right panel, click Configure a new server. 2. In the Name box, specify a name for the server. 3. In the Machine box, specify the machine (node) on which the server will be created. 4. In the Cluster box, select a cluster. If you do not want to specify a cluster at this time, select None. 5. Click Create. Starting all Managed Servers Use this procedure to start clustered Managed Servers with Node Manager. To start a Managed Server from the Administration Console using Node Manager, a Node Manager process must be running on each machine that hosts a Managed Server in the cluster. For more information, see the Starting Node Manager section in the Configuring and Managing WebLogic Server guide. To restart a cluster: 1. Start the Administration Server for the domain. 2. In the Administration Console, in the navigation tree expand the Clusters node. 3. Click the cluster whose members you want to start. 4. Click the Start all Managed Servers link in the right panel. 5. When the Administration Console prompts you to confirm the command, click Yes. 6. As Node Manager starts each Managed Server, the status of the operation is displayed in the Transition Activity table. When an operation is complete for a Managed Server, TASK COMPLETED appears in the Status column.
Maintaining WebLogic Clusters Configuring LiveCycle Application Server Clusters Using WebLogic Adding a server to the cluster 48 Adding a server to the cluster The following procedure details how to add a server to an existing WebLogic cluster, with multiple servers, to which you already deployed applications. To add an existing server to an existing cluster: 1. Start the Administration Server for the domain. 2. In the Administration Console, in the navigation tree expand the Clusters node. 3. Select the cluster to which you will add servers. 4. In the right pane, click the Configuration tab, and then click the Servers tab. 5. In the Available column, select one or more servers to assign to the cluster and click the right arrow button. 6. Click Apply. Removing a server from the cluster The following procedure details how to remove a node from an existing WebLogic cluster with multiple nodes. To remove a node from the cluster: 1. Start the Administration Server for the domain. 2. In the Administration Console, in the navigation tree, expand the Clusters node. 3. Select the cluster from which you want to remove servers. 4. In the right pane, click the Configuration tab, and then click the Servers tab. 5. In the Chosen column, select one or more servers to remove from the cluster, and then click the left arrow button. 6. Click Apply.
6 Installing the Web Servers While WebLogic supports a variety of web servers, the following procedures detail the installation and configuration of the Apache HTTP 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 Windows, if you plan to run the HTTP server as a service, you need to create a local account (if you do not already have an account for running services) and make this account part of the local administrators group. Disk space: Ensure that you have at least 50 MB of temporary free disk space available. After installation, Apache occupies approximately 10 MB of disk space. The actual disk space requirements vary considerably based on your selected configuration options and any third-party modules. ANSI-C compiler and Build System for Linux or UNIX: If installing under Linux or UNIX, ensure that you have an ANSI-C compiler installed. The GNU C compiler (GCC) from the Free Software Foundation (FSF) is recommended. If you do not have GCC, then ensure that at least your vendor's compiler is ANSI compliant. In addition, your PATH must contain basic build tools such as make. Installing the web server under Linux or UNIX The following procedure details how to install the Apache HTTP 2.0 web server under Linux or UNIX. It is assumed that you have downloaded and unzipped the installation file to an installation directory, and have opened a system terminal and navigated to that directory. To install the web server: 1. Extract the source from the Apache HTTPD tarball by running the following commands: $ gzip -d httpd-nn.tar.gz $ tar xvf httpd-nn.tar This extraction will create a new directory under the current directory containing the source code for the distribution. You should navigate to that directory before proceeding with compiling the server. 2. Configure the source tree using all of the default options, by typing:./configure To change the default options, the configuration accepts a variety of variables and command line options. 3. Build the various parts which form the Apache package by running the command: $ make 49
Installing the Web Servers Configuring LiveCycle Application Server Clusters Using WebLogic Installing the web server under Windows 50 4. Install the package under the configured installation by running the command: $ make install If you are upgrading, the installation will not overwrite your configuration files or documents. 5. (Optional) Customize your Apache HTTP server by editing the configuration files under [Install Directory]/conf/ such as the httpd.conf. For information on the configuration files for the Apache server you are running, see http://httpd.apache.org/docs. 6. Start the web server by navigating to the bin directory under the installation s root and running the following command: apachectl -k start Installing the web server under Windows The following procedure details how to install the Apache HTTP 2.0 web server under Windows. It assumes you have downloaded MSI installation file (the file with the.msi extension). To install the web server: 1. Execute the Apache.msi file. 2. In the Network Domain box, enter the DNS domain for your server. 3. In the Server Name box, enter your server's full DNS name. 4. In the Administrator's Email Address box, enter the server administrator's or web master s email address. This address will be displayed along with error messages to the client by default. 5. Select Apache Select for All Users, on port 80, as a service to set the new Apache to listen at port 80 for incoming traffic. It will run as a service (that is, Apache will run even if no one is logged in on the server at the time). 6. In the installation type window, select Typical for everything except the source code and libraries for module development. 7. Select the installation directory for the web server. The default path is C:\Program Files\Apache Group, under which a directory called Apache2 is created by default. During the installation, Apache will configure the files in the conf subdirectory to reflect the selected installation directory. However, if any of the configuration files in this directory already exist, they will not be overwritten. Instead, the new copy of the corresponding file will be left with the extension.default. For example, if the httpd.conf file already exists, it will be renamed as httpd.conf.default. After the installation you should manually check to see what new settings are in the.default file and, if necessary, update your existing configuration file. Also, if you already have a file called index.html in the htdocs directory, it will not be overwritten (and no index.html.default will be installed either). This means it should be safe to install Apache over an existing installation, although you must stop the existing running server before running the installation, and then start the new one after the installation is finished. 8. (Optional) Customize your Apache HTTP server by editing the configuration files under [Install Directory]/conf/ such as the httpd.conf. For information on the configuration files for the Apache server you are running, see http://httpd.apache.org/docs.
Installing the Web Servers Configuring LiveCycle Application Server Clusters Using WebLogic Installing the web server under Windows 51 9. You can install Apache as a service by opening a system prompt, navigating to the bin directory under the Apache install directory, and running the following command: apache -k install -n "MyServiceName" -f "c:\files\my.conf" where -n "MyServiceName" is an optional parameter allowing you to specify the service name, and -f "c:\files.conf" is an optional parameter allowing you to specify a configuration file. 10. Start the web server by navigating to the bin directory under the installation s root and running the following command: apache -k start Note: If you need to stop the webserver for any reason, run the following command: apache -k stop
7 Common Components This section details installation requirements for using LiveCycle products in a clustered environment. Large document handling For large document handling in LiveCycle Form Manager, you must create and mount an NFS shared directory that grants read and write access for all nodes. For LiveCycle PDF Generator and LiveCycle Form Manager, the location must be specified in the Configuration Manager when assembling the LiveCycle.ear in the GLOBAL Shared Directory and LiveCycle temp directory fields. Queues and topics This section details how to configure JMS queues and topics for a WebLogic cluster. JMS connection pool sizes JMS stores Ensure that the total connections allocated for queue and topic connections is less than the total JDBC connection pool size. File stores are quicker and faster than the database stores. File stores provide these advantages: Allow leveraging the operating system capability for paging and memory management. Remove the overhead on the round trip to the database to store and retrieve messages. Provide the same level of ACID behavior as a database store. Using a file store over a database store has these disadvantages: Existing database procedure for backups and restoration cannot be leveraged. File stores can grow quickly, leading to a need to either use disk array or other similar solutions, leading to a system management overhead. There is a lack of file store management tools. Queue and topic throttling Flow control is an important part of any messaging solution. LiveCycle Workflow relies heavily on JMS messages, so setting appropriate thresholds on the queues can lead to better performance. All JMS destinations should be configured to hold messages in-memory up to a certain limit. To configure the thresholds on a queue, select the destination from under Services > JMS > Servers > Server Name > Destinations > destination name. 52
Common Components Configuring LiveCycle Application Server Clusters Using WebLogic Distributed destinations 53 Throttling enables managed memory consumption, prevents dropping of messages when memory is used up, and allows memory to be managed so that processes are not memory-starved because JMS is using all of the memory. It also allows feeding of input to the system in a controlled manner, thus allowing better memory management in cases where the user interface and the processes are deployed on the same JVM. Messages Maximum or Bytes Maximum The thresholds pane allows each queue to be configured on various levels. It is best to configure Messages Maximum or Bytes Maximum properties to have values other than -1. The value of -1 indicates that all messages are stored in memory, which has the drawback of consuming memory with messages rather than it being allocated to processes to process those messages. If the number of messages processed daily is variable, the best alternative is to set the Bytes Maximum to a threshold value that is equal to an amount of the total memory you want to allocate to JMS. For example, if you have 2 GB of RAM and you want to allocate one-tenth of that memory to a JMS queue, you can allocate Bytes Maximum to 200 MB. This indicates to the JMS queue that once the total amount of bytes consumed by the messages on this queue exceeds 200 MB, it will start pushing messages to the database. Bytes Threshold or Message Thresholds The Bytes Threshold or Message Thresholds properties can be used to swap messages in and out of the secondary storage. These properties are only available for the database store and do not come into play while using a file store. For information on how to configure the correct values for these properties, see the WebLogic documentation. Distributed destinations WebLogic allows configuration for distributed destinations, which is essentially a logical destination at the Administration Server that points to the physical destination on the nodes in the cluster. It has the following advantages: Allows distribution of workload to the various JMS servers having the queues based on a particular algorithm. Enables transparent failover in case one node fails, the messages get routed to the other node in the cluster. For LiveCycle Workflow and LiveCycle PDF Generator, all queues can be distributed. For LiveCycle PDF Generator, topics can also be distributed. However, for LiveCycle Workflow the topics should be configured as nondistributed topics. Common elements between LiveCycle products This section applies to LiveCycle Workflow and LiveCycle Form Manager products only. LiveCycle Workflow requires two properties files to be configured for clustering: adobe-workflow.properties adobe-pof.properties
Common Components Configuring LiveCycle Application Server Clusters Using WebLogic Configuring LiveCycle Workflow properties 54 Configuring LiveCycle Workflow 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 so it can 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 value to weblogic.jndi.wlinitialcontextfactory. adobe.workflow.scheduler.java.naming.provider.url: The JNDI provider URL is dependent on the application server used. For example, use this value: t3://[host]:[listen port] The [listen port] can be found for each server through the Weblogic Server Administration Console. Select Cluster > [cluster name] > [managed server], click Configuration, and under General you will see the listen port. adobe.workflow.scheduler.bootstrap.wait_time_mins: This is the time the scheduler waits prior to initializing the scheduler factory with the properties of the database, threads, and so on. The default is 2 minutes. 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.
Common Components Configuring LiveCycle Application Server Clusters Using WebLogic Cache configuration properties 55 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.jdbcstore. WebLogicDelegate 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 WebLogic 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 the 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 every 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 node 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. 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 items 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).
Common Components Configuring LiveCycle Application Server Clusters Using WebLogic Cache configuration properties 56 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: This 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 use example 7.1 (below) leave empty Example 7.1: TCP configuration The following is an example for a cluster containing two servers called servera and serverb on port 7800. 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(timeout=5000;max_ tries=5):verify_suspect(timeout=1500;down_thread=false;up_thread=false): pbcast.nakack(gc_lag=100;retransmit_timeout=600,1200,2400,4800;up_thread =true;down_thread=true):pbcast.stable(desired_avg_gossip=20000;max_bytes =0;stability_delay=1000;up_thread=false;down_thread=false):pbcast.GMS(jo in_timeout=5000;join_retry_timeout=2000;shun=false;print_local_addr=true ;down_thread=true;up_thread=true):pbcast.state_transfer(up_thread=true;d own_thread=true) In the adobe-pof.properties file for serverb, configure your adobe.pof.cache.swarm.cluster-tcp-config string as follows: TTCP(bind_addr=serverB;start_port=7800):TCPPING(initial_hosts=serverA[78 00];port_range=5;timeout=3000;num_initial_members=5):FD(timeout=5000;max _tries=5):verify_suspect(timeout=1500;down_thread=false;up_thread=false) :pbcast.nakack(gc_lag=100;retransmit_timeout=600,1200,2400,4800;up_threa d=true;down_thread=true):pbcast.stable(desired_avg_gossip=20000;max_byte s=0;stability_delay=1000;up_thread=false;down_thread=false):pbcast.gms(j oin_timeout=5000;join_retry_timeout=2000;shun=false;print_local_addr=tru e;down_thread=true;up_thread=true):pbcast.state_transfer(up_thread=true; down_thread=true) 3. Ensure that you configure adobe-pof.properties for each server in the cluster.
Common Components Configuring LiveCycle Application Server Clusters Using WebLogic Configuring caching properties for User Management 57 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 Manager 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. Adding property definitions 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. For more information on the particular properties and configuring those values, see the jgroups site at www.jgroups.org/javagroupsnew/docs/newuser/index.html. To add the properties to the WebLogic Server cluster: 1. Log in to the Administration Server for your WebLogic cluster. 2. Navigate to Configuration > Remote Start for each server. 3. Add the required property to the Arguments list. 4. 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. 5. 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. If running servers separately from scripts, you must modify the scripts to pass this property on each server.
Common Components Configuring LiveCycle Application Server Clusters Using WebLogic Email receiver configuration 58 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. By default, all servers in the cluster are configured to process email messages. The property can be added to the JVM using the following command: -Dcom.adobe.workflow.email.runInboxReader=false Note: If you are running servers separately, from scripts, you must modify the scripts to pass this property on each server except the server that you want to process email messages.
8 Clustering LiveCycle Products This chapter describes how to deploy your LiveCycle product to WebLogic. About deploying LiveCycle products to a cluster on page 59 Deploying LiveCycle products on page 60 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. 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. Summary of deployable components During the deployment process, you need to deploy the following components. For more information on the installation of deployable components, see the Installing and Configuring LiveCycleguide or the Installing and Configuring LiveCycle Security Products guide for your application server. Component adobe-assembler7.ear adobe-fontmanager.ear adobe-printsubmitter.ear FormsIVS.ear LCM.ear LiveCycle.ear LiveCycle-security.ear adobe-credentialsecurityejb.ear LiveCycle product LiveCycle Assembler All products except LiveCycle Policy Server LiveCycle Print LiveCycle Forms All All products except LiveCycle Policy Server LiveCycle Reader Extensions LiveCycle Document Security LiveCycle Document Security 59
Clustering LiveCycle Products Configuring LiveCycle Application Server Clusters Using WebLogic Deploying LiveCycle products 60 Component edc-server.ear pdfg-all.ear pdfg-ps-all.ear LiveCycle product LiveCycle Policy Server LiveCycle PDF Generator Professional and LiveCycle PDF Generator Elements LiveCycle PDF Generator for PostScript Note: FormsIVS is not designed for clustering. Deploying LiveCycle products You must first install the LiveCycle products to the cluster s Administration Server, and then configure them using Configuration Manager. You deploy LiveCycle products to WebLogic by copying the deployable components to the appropriate directory and using WebLogic Server Administration Console to deploy these components. After you deploy the products, you must restart the application server. To deploy LiveCycle products to WebLogic: 1. Start the WebLogic components in the following order: Administration Server Node Manager (on all nodes) Managed Servers 2. Copy the following components from the [LiveCycle root]/configurationmanager/export directory to the [appserverdomain]/applications directory: (All products except LiveCycle Policy Server) LiveCycle.ear (All products except LiveCycle Policy Server) adobe-fontmanager.ear (LiveCycle Reader Extensions, LiveCycle Document Security) LiveCycle-security.ear (LiveCycle Print) adobe-printsubmitter.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 3. (LiveCycle Policy Server) Copy the edc-server.ear from the [LiveCycle root]/components/policyserver/ weblogic/ear directory to the [appserverdomain]/applications directory. 4. Copy the LCM.ear file from the [LiveCycle root]/configurationmanager/deploy/weblogic directory to the [appserverdomain]/applications directory. 5. Copy the FormsIVS.ear file from the [LiveCycle root]/components/forms/samples/common directory to the [appserverdomain]/applications directory.
Clustering LiveCycle Products Configuring LiveCycle Application Server Clusters Using WebLogic Viewing log files 61 6. Start WebLogic Server Administration Console by typing http://[host]:[port]/console in the URL line of a browser, and log in by providing your user name and password. Where [host] is the DNS name or IP address of the Administration Server, and [port] is the port address for the Administration Server. 7. In the navigation tree, under the domain you created, select Deployments > Application > Deploy a New Application. 8. On the page that appears, click the applications directory, select the component to deploy, and then click Continue. (For Managed Server) On the page that appears, click the applications directory, select the component to deploy, and then click Target Application. Select all servers in the cluster and click Continue. 9. Select Copy this application onto every target for me, and then click Deploy. A new panel appears displaying the status of the deployment. 10. Complete steps 7-9 for each deployable component. 11. In the navigation tree, select Deployments > Applications. 12. On the Configuration screen, click the name of each file, and then set the Load Order for the file as follows: LiveCycle.ear = 10 LCM.ear = 20 adobe-fontmanager.ear = 30 FormsIVS.ear = 30 LiveCycle-security.ear = 100 edc-server.ear = 100 adobe-printsubmitter.ear = 30 adobe-assembler7.ear = 40 pdfg-ps-all.ear = 40 pdfg-all.ear = 40 13. Restart the Administration Server and all Managed Servers that have received new applications. Viewing log files Events, such as run-time or startup errors, are recorded to the application server log files. If you have any 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. Domain log files are located in the [appserverdomain] directory, and server log files are located in the [appserverdomain]/[appserver name] directory.
Clustering LiveCycle Products Configuring LiveCycle Application Server Clusters Using WebLogic Bootstrapping LiveCycle products 62 Bootstrapping LiveCycle products You can bootstrap LiveCycle using Configuration Manager. To bootstrap: 1. Start Configuration Manager. For example, in Windows, Configuration Manager is located under C:\Adobe\LiveCycle\configurationManager\ConfigurationManager.exe 2. In the Welcome screen, click Next. 3. Under Configuration Mode, select Custom Configuration Wizard and click Next. 4. Select the products you are installing and click Next. 5. Under Task Selection, select only Bootstrap database and Verify deployed products, and then click Next: 6. Click Next, accepting all defaults in the following screens. Configuration Manager will configure and assemble the products. This process may take several minutes. 7. In the Java Home Selection window, specify the location of the Java JDK and click Next. 8. In the Application Server Configuration details window, in the Local Application Server Root Directory box, specify the [appserver_root] directory location and then click Next. 9. In the Application Server URL window, in the Application Server Base URL box, specify the base URL for your application server, including port number. For example, type: http://[servername]:[portnumber] and then click Next. 10. In the Prepare database for LiveCycle window, click Next. 11. In the Deploy LCM.ear window, click Next because you will be deploying the EAR manually. 12. Click Initialize Database Now, and then click Next. 13. In the Verify the Installation window, click Next and then click Next again. 14. Click Run Product Tests Now, and then click Next. 15. Click Finish. Configuring HTTP server fail-over Now that the domain is configured with the Administration Server and clustered Managed Servers, a proxy is needed to forward to different Managed Servers for load balancing. WebLogic provides various ways to implement a proxy server: Use an instance of WebLogic Server and HttpClusterServlet. Use a third-party proxy server, such as Apache, Microsoft IIS, or Netscape IPlanet, with WebLogic proxy plug-in. Use a hardware-based load balancer such as F5 s BigIP or Cisco s LocalDirector.
Clustering LiveCycle Products Configuring LiveCycle Application Server Clusters Using WebLogic Configuring HTTP server fail-over 63 Using the first or second option is very easy. (See the WebLogic documentation at http://e-docs.bea.com/wls/docs81/cluster/.) The following procedure details how to use Apache and WebLogic proxy plug-ins. The Apache HTTP server plug-in proxies requests from clients to a WebLogic Server cluster. Note: The Apache server plug-in provided with WebLogic Server 8.1 SP5 is only compatible with Apache Webserver 2.0.x. The WebLogic plug-in that is shipped with Apache 2.2.3 is not compatible with WebLogic 8.1 SP 5. To configure the Apache server plug-in: 1. Install the Apache HTTP server plug-in. Plug-ins are available as part of the WebLogic Server installation. (Windows) The WebLogic plug-in files are mod_wl_20.so and mod_wl28.so, which are available in the [BEA_HOME]\server\bin directory. Note that the mod_wl28_20.so file is used for 128-bit encryption. (Solaris) The WebLogic plug-in file is mod_wl_20.so, which is available in the [BEA_HOME]/server/lib/solaris directory. To install the plug-in, copy the appropriate file to the APACHE_HOME\modules directory. 2. Configure the Apache HTTP server plug-in by manually adding the following lines to the httpd.conf file in the APACHE_HOME\conf directory: LoadModule weblogic_module modules\mod_wl_20.so Add an IfModule block as follows: <IfModule mod_weblogic.c> WebLogicCluster Server1:8001,Server2:8001 MatchExpression * </IfModule> where Server1 and Server2 are the names of the Managed Servers and 8001 is the port that was created for the Managed Server. Note: If addressing by computer name does not work, use IP addresses instead. 3. Start or restart the Apache HTTP server. To test the plug-in: 1. Open a web browser and enter the URL for the product you are installing. 2. Log in to a LiveCycle application and check the Response Success message in the log file for one of the Managed Servers. 3. Open a new web browser window and perform the same steps. You will notice the Response Success message for the next server. 4. Repeat these steps to verify that requests are being forwarded in round-robin fashion to different servers.
Clustering LiveCycle Products Configuring LiveCycle Application Server Clusters Using WebLogic Configuring HTTP server fail-over 64 To test the HTTP session replication: 1. Log in to a LiveCycle application and note the server that processes the request. 2. Open a new web browser and log in to the WebLogic Server Administration Console. In the navigation tree, expand Servers and click the server name that is connected with your login session. 3. Go to the control table and click the Graceful shutdown of this server link. You will notice a message in the server log that states that the session is replicated. 4. When the server is shut down successfully, go to a server page and click any of the links. The next page should be serviced without any problem. Note: If you are using SSL, see the WebLogic documentation on how to configure SSL with the Apache plug-in at http://e-docs.bea.com/wls/docs81.
9 Issues with Clustering This section contains issues that may occur in your cluster. 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. 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. Using LiveCycle Form Manager in a WebLogic cluster If you are using LiveCycle Form Manager 7.2.2 in a clustered environment with a WebLogic Load Balancer Plug-in, the link to LiveCycle Form Manager must either end in a trailing slash (for example, http://balancer/fm/) or it must explicitly specify the login page (for example, http://balancer/fm/login.jsp). Otherwise, the work will be assigned to only one server. 65