Maintaining the Application Server

Considerations when running Administration Console

These are some things to consider when running Administration Console:

  • If you access administration console using the URL http:// [hostname] : [port] /adminui, the specified host name cannot contain underscore characters. Otherwise, links to some areas of the administration console may not work properly.

  • If you run administration console in Windows Explorer on a Japanese OS, you may encouter these problems:

    • Clicking a link returns you to the login page instead of to the expected link.

    • Clicking a link displays a permission error.

    Best practice is run administration console from another browser, such as Mozilla Firefox, to ensure that no links will fail.

  • Do not use backslash characters () when performing searches in administration console.

Starting and stopping WebLogic Server

Several procedures require you to start or stop the instance of WebLogic Server where you want to deploy AEM forms modules. Ensure that WebLogic Server is stopped or running, depending on the task you are performing.

Activity

Required WebLogic state

Creating a WebLogic domain

Stopped

Creating a WebLogic managed server

Running

Increasing the server thread count

Running

Deploying AEM forms products

Running

Note: If you are running WebLogic Server on Red Hat® Enterprise Linux Advanced Server 4.0, set the LD_ASSUME_KERNEL environment variable to 2.4.19 by using the export LD_ASSUME_KERNEL=2.4.19 command. Then, run WebLogic Server from the same shell in which you set this environment variable.

Start WebLogic Server

  1. From a command prompt, go to [appserver root] /user_projects/domains/ [appserverdomain] .

  2. Enter the following command:

    • (Windows) startWebLogic.cmd

    • (Linux, UNIX) ./ startWebLogic.sh

Stop WebLogic Server

  1. Start WebLogic Server administration console by typing http://[host name]:7001/console in the URL line of a web browser.

  2. Log in by typing the user name and password that was used when creating this WebLogic configuration, and then click Log In.

  3. Under Change Center, click Lock & Edit.

  4. Under Domain Structure, click Environment > Servers.

  5. Click AdminServer and, on the Settings for AdminServer pane, click the Control tab.

  6. Ensure that AdminServer is selected in the Server Status table and click Shutdown.

  7. Select When Work Completes to gracefully shut down the server or select Force Shutdown Now to stop the server immediately without completing ongoing tasks.

  8. On the Server Life Cycle Assistant pane, click Yes to complete the shutdown.

The WebLogic Server administration console is no longer available, and the command prompt that you ran the start command from is available.

Start WebLogic administration console

  1. If WebLogic Admin Server is not already running, from a command prompt, go to the [appserver root] \user_projects\domains\ [domainname] directory, and enter the following command:

    • (Windows) startWebLogic.cmd

    • (Linux, UNIX) ./ startWebLogic.sh

  2. Access WebLogic Server administration console by typing http:// [host name] : [Port] /console in the URL line of a web browser, where [Port] is the non-secure listening port. By default, this port value is 7001.

  3. On the login screen, type your administrator user name and password, and click Log In.

Start Node Manager

  1. Ensure that WebLogic Server is running.

  2. From a new command prompt, go to [appserver root] /server/bin.

  3. Enter the following command:

    • (Windows) startNodeManager.cmd

    • (Linux, UNIX) ./startNodeManager.sh

Stop Node Manager

After you shut down WebLogic Server, you can close the command prompt from which you called Node Manager.

Start a WebLogic managed server

Note: This task can be performed only after you create a WebLogic domain and a managed server.
  1. Ensure that the WebLogic Server and Node Manager are running.

  2. Start WebLogic Server administration console by typing http:// [host name]:[port] /console in the URL line of a web browser.

  3. Under Domain Structure, click Environment > Servers.

  4. In the right pane, click the Control tab.

  5. Select the managed server that you want to start.

  6. Click the Start button below the managed server you want to start.

Stop a WebLogic managed server

  1. Start WebLogic Server administration console by typing http:// [host name]:[port] /console in the URL line of a web browser.

  2. Under Domain Structure, click Environment > Servers.

  3. In the right pane, click the Control tab.

  4. Select the managed server that you want to stop.

  5. Click the Shutdown button below the managed server you want to stop.

  6. Select When Work Completes to gracefully shut down the server or select Force Shutdown Now to stop the server immediately without completing ongoing tasks.

  7. On the Server Life Cycle Assistant pane, click Yes to complete the shutdown.

Starting and stopping WebSphere Application Server

Several procedures require you to stop or start the instance of WebSphere where you want to deploy AEM forms products. If you are unsure whether the application server has started, you can first view the status of WebSphere Application Server.

View the status of WebSphere Application Server

  1. From a command prompt, go to the [appserver root] /bin directory.

  2. Enter the following command, replacing server_name with the name of your WebSphere Application Server:

    • (Windows) serverStatus.bat server_name

    • (Linux, UNIX) ./ serverStatus.sh server_name

Start WebSphere Application Server

  1. From a command prompt, go to the [appserver root] /bin directory.

  2. Enter the following command, replacing server_name with the name of your WebSphere Application Server:

    • (Windows) startServer.bat server_name

    • (Linux, UNIX) ./ startServer.sh server_name

Stop WebSphere Application Server

  1. From a command prompt, go to the [appserver root] /bin directory.

  2. Enter the following command, replacing server_name with the name of your WebSphere Application Server:

    • (Windows) stopServer.bat server_name

    • (Linux, UNIX) ./ stopServer.sh server_name

Application server websites

This list contains links to the manufacturer websites for all supported application servers.

JBoss:
http://www.jboss.com/products/platforms/application

Oracle WebLogic:
www.oracle.com/us/products/middleware/application-server/index.html

IBM WebSphere:
www-01.ibm.com/software/websphere/

Global document storage directory

The global document storage (GDS) directory is a directory used to store long-lived files that are used within a process. These files include PDFs, policies, and form templates. Long-lived files are a critical part of the overall state of many AEM forms deployments. If some or all long-lived documents are lost or corrupted, the forms server may become unstable. Input documents for asynchronous job invocations are also stored in the GDS directory and must be available to process requests. It is important that you consider the reliability of the file system that hosts the GDS directory. User a redundant array of independent disks (RAID) or other technology as appropriate for your quality and level of service needs.

Long-lived files may contain sensitive user information. This information may require special credentials when accessed by using the AEM forms APIs or user interfaces. It is important that the GDS directory is properly secured through the operating system. Only the administrator account that is used to run the application server should have read/write access to the GDS directory.

In addition to selecting a secure, highly available directory for GDS, you can also choose to enable document storage in the database. Notice that even with using the AEM forms database for document storage, AEM forms still requires the GDS directory. (See Backup options when database is used for document storage .)

AEM forms application data resides in the GDS directory and the AEM forms database. The following table describes the data and its locations.

AEM forms Data

Database

GDS

Application data (users, roles, processes, policies, endpoints, events, and so on.)

Yes

No

Deployed service containers

Yes

No

Document Manager

No

Yes

Forms Repository

Yes

No

System configuration

Yes

No

Watched folders

No

Yes

Configuring the GDS directory

The location of the GDS directory can be configured manually during the AEM forms installation process. If the location setting remains empty during installation, the location defaults to a directory under the application server installation as follows:

  • (JBoss) [appserver root] /server/ [type] /svcnative/DocumentStorage

  • (WebLogic) [appserverdomain] / [server] /adobe/DocumentServer/DocumentStorage

  • (WebSphere) [appserver root] /installedApps/adobe/ [server] /DocumentStorage

Change the default GDS location

You can change the GDS location in administration console after the AEM forms installation is completed. You must manually relocate the data to complete the process.

Important: Migrate the data in the following manner or data loss will occur.
  1. Log in to administration console and click Settings > Core System Settings > Configurations.

  2. In the Global Document Storage Directory box, enter the full path to the new GDS directory and then click OK.

  3. Immediately shut down the application server.

  4. Move all the files from the old GDS directory to the new location, keeping the internal directory structure.

  5. Restart the application server.

About Deployment Files

AEM forms consists of two types of deployment files, the service containers and the Java 2 Platform, Enterprise Edition (J2EE) EAR files. The EAR files consist of standard J2EE application bundles that contain the core functionality of AEM forms. The application server-specific EAR files are as follows:

  • adobe-core- [appserver] .ear

  • adobe-core- [appserver] - [OS] .ear

Implementing AEM forms involves deploying the assembled EAR files and supporting files to the application server where you plan to run your AEM forms solution. If you configured and assembled multiple modules, the deployable modules are packaged within the deployable EAR files. To deploy these files, copy them to the [appserver home] \server\all\deploy directory.

Modules and AEM forms archive files are packaged in JAR files. Because they are not J2EE type files, they are not deployed to the application server. Instead, they are copied into the GDS directory, and a reference to their location is stored in the AEM forms database. For this reason, the GDS directory must be shared among all the nodes of the cluster. All the nodes must have access to the central storage directory for the DSCs.

Note: Before you deploy the service containers, ensure that you created and configured the GDS directory. (See Configuring the GDS directory )

Enhancing application server performance

This content describes optional settings that you can configure to improve the performance of your AEM forms application server .

Configuring application server data sources

AEM forms uses the AEM forms repository as its data source. The AEM forms repository stores application assets and, at run time, services can retrieve assets from the repository as part of completing an automated business process.

Access to the data source can be significant, depending on the number of AEM forms modules you are running and the number of concurrent users accessing the application. Data source access can be optimized using connection pooling. Connection pooling is a technique used to avoid the overhead of making new database connections each time an application or server object requires access to the database. Connection pooling is usually used in web-based and enterprise applications and is usually handled by, but not limited to, an application server.

It is important to properly configure your connection pool parameters so that you never run out of connections, which can cause application performance to deteriorate.

To properly configure connection pool settings, it is important for the application server administrator to monitor the connection pool during peak hours of the day. Monitoring ensures that sufficient connections are available for applications and users at all times. Most application servers include monitoring tools.

You can monitor various statistics for each JDBC data source instance in your domain by using the WebLogic Server Administration Console. See your WebLogic documentation for details.

When the application server administrator determines the correct connection pool settings, that person must communicate this information to the database administrator. The database administrator needs this information because the number of database connections equals the number of connections in the connection pool for the data source. Then, complete the steps to configure the connection pool settings for your application server and data source type as described below.

Configure connection pool settings for WebLogic for Oracle and MySQL

  1. Under Domain Structure, click Services > JDBC > Data Sources and, in the right pane, click IDP_DS.

  2. On the next screen, click the Configuration > Connection Pool tab, and enter a value in the following boxes:

    • Initial Capacity

    • Maximum Capacity

    • Capacity Increment

    • Statement Cache Size

  3. Click Save and then click Activate Changes.

  4. Restart WebLogic managed server.

Configure connection pool settings for WebLogic for SQLServer

  1. Under Change Center, click Lock & Edit.

  2. Under Domain Structure, click Services > JDBC > Data Sources and, in the right pane, click EDC_DS.

  3. On the next screen, click the Configuration > Connection Pool tab, and enter a value in the following boxes:

    • Initial Capacity

    • Maximum Capacity

    • Capacity Increment

    • Statement Cache Size

  4. Click Save and then click Activate Changes.

  5. Restart WebLogic managed server.

Configure connection pool settings for WebSphere for DB2

  1. In the navigation tree, click Resources > JDBC > JDBC Providers. In the right pane, click the data source you created, either DB2 Universal JDBC Driver Provider or LiveCycle - db2 - IDP_DS.

  2. Under Additional Properties, click Data Sources and then select IDP_DS.

  3. On the next screen, under Additional Properties, click Connection Pool Properties and enter a value in the Maximum Connections box and the Minimum Connections box.

  4. Click OK or Apply, and then click Save Directly To Master Configuration.

Configure connection pool settings for WebSphere for Oracle

  1. In the navigation tree, click Resources > JDBC > JDBC Providers. In the right pane, click the Oracle JDBC Driver data source you created.

  2. Under Additional Properties, click Data Sources and then select IDP_DS.

  3. On the next screen, under Additional Properties, click Connection Pool Properties and enter a value in the Maximum Connections box and the Minimum Connections box.

  4. Click OK or Apply, and then click Save Directly To Master Configuration.

Configure connection pool settings for WebSphere for SqlServer

  1. In the navigation tree, click Resources > JDBC > JDBC Providers and, in the right pane, click the User-Defined JDBC Driver data source you created.

  2. Under Additional Properties, click Data Sources and then select IDP_DS.

  3. On the next screen, under Additional Properties, click Connection Pool Properties and enter a value in the Maximum Connections box and the Minimum Connections box:

  4. Click OK or Apply, and then click Save Directly To Master Configuration.

Optimizing inline documents and impact on JVM memory

If you are typically processing documents of a relatively small size, you can improve the performance that is associated with the document transfer speed and storage space. To do so, implement the following AEM forms product configurations:

  • Increase the default document maximum inline size for AEM forms so that it is larger than the size of most documents.

  • For processing larger files, specify storage directories that are on a high-speed disk system or a RAM disk.

The maximum inline size and the storage directories (the AEM forms temporary file directory and the GDS directory) are configured in the administration console.

Document size and maximum inline size

When a document that is sent for processing by AEM forms is less than or equal to the default document maximum inline size, the document is stored on the server inline and the document is serialized as an Adobe Document object. Storing documents inline can have significant performance benefits. However, if you are using forms workflow, the content may also be stored in the database for tracking purposes. Therefore, increasing the maximum inline size may affect the database size.

A document that is larger than the maximum inline size is stored on the local file system. The Adobe Document object that is transferred to and from the server is only a pointer to that file.

When document content is inlined (that is, less than the maximum inline size) the content is stored in the database as part of the document's serialization payload. Therefore, increasing the maximum inline size can affect the database size.

Change the maximum inline size

  1. In administration console, click Settings > Core System Settings > Configurations.

  2. Enter a value in the Default Document Max Inline Size box and click OK.

Note: The default maximum inline size is 65536 bytes.

JVM maximum heap size

An increase in the maximum inline size requires more memory for storing the serialized documents. Therefore, it generally also requires an increase in the JVM maximum heap size.

A heavily loaded system that is processing many documents can rapidly saturate the JVM heap memory. To avoid an OutOfMemoryError, increase the JVM maximum heap size by an amount corresponding to the size of the inline documents multiplied by the number of documents that are typically executed at any given time.

JVM maximum heap size increase = (inline documents size) x (average number of documents processed).

Calculating the JVM maximum heap size

In this example, the current JVM maximum heap is set to 512 MB and the maximum inline size is 64 KB. The server must be configured for the scenario where 10 jobs are run simultaneously, and each job has 9 input files and 1 result file (a total of 10 files per job and 100 files processed simultaneously). All the files are under 512 KB in size.

To store all the files inline, set the maximum inline size o at least 512 KB.

The required increase in the JVM maximum heap size is calculated using the following equation:

(512 KB) x (100) = 51200 KB, or 50 MB

The JVM maximum heap size must be increased by 50 MB for a total of 562 MB.

Considering heap fragmentation

Setting the size of inline documents to large values raises the risk of an OutOfMemoryError on systems that are prone to heap fragmentation. To store a document inline, the JVM heap memory must have sufficient contiguous space. Some operating systems, JVMs, and garbage collection algorithms are prone to heap fragmentation. Fragmentation decreases the amount of contiguous heap space and can lead to an OutOfMemoryError even when sufficient total free space exists.

For example, previous operations on the application server left the JVM heap in a fragmented state, and the garbage collector cannot compact the heap sufficiently to regain large blocks of free space. An OutOfMemoryError can occur even though the JVM maximum heap size was adjusted for an increase in maximum inline size.

To account for heap fragmentation, the inline document size must not be set higher than 0.1% of the total heap size. For example, a JVM maximum heap size of 512 MB can support a maximum inline size of 512 MB x 0.001 = 0.512 MB, or 512 KB.

WebSphere Application Server enhancements

This section describes settings specific to a WebSphere Application Server environment.

Increasing the maximum memory allocated to the JVM

If you are running Configuration Manager or trying to generate Enterprise JavaBeans (EJB) deploy code by using the command line utility ejbdeploy and an OutOfMemory error occurs, increase the amount of memory allocated to the JVM.

  1. Edit the ejbdeploy script in the [appserver root] /deploytool/itp/ directory:

    • (Windows) ejbdeploy.bat

    • (Linux and UNIX) ejbdeploy.sh

  2. Find the -Xmx256M parameter and change it to a higher value, such as -Xmx1024M .

  3. Save the file.

  4. Run the ejbdeploy command or redeploy using Configuration Manager.

Improving Windows Server 2003 performance with LDAP

This content describes settings specific to a Microsoft Windows Server 2003 operating system environment.

Using connection pooling on the search connection can decrease the number of ports needed by as much as 50%. This is because that connection always uses the same credentials for a given domain, and the context and related objects are closed explicitly.

Configure your Windows Server for connection pooling

  1. Click Start > Run to start the registry editor and, in the Open box, type regedit and click OK.

  2. Go to the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  3. In the right pane of the registry editor, find the TcpTimedWaitDelay value name. If the name does not appear, select Edit > New > DWORD Value from the menu bar to add the name.

  4. In the Name box, type TcpTimedWaitDelay

    Note: If you do not see a flashing cursor and New Value # inside the box, right-click inside the right panel, select Rename and, in the Name box, type TcpTimedWaitDelay .
  5. Repeat step 4 for the value names MaxUserPort, MaxHashTableSize, and MaxFreeTcbs.

  6. Double-click inside the right pane to set the TcpTimedWaitDelay value. Under Base, select Decimal and, in the Value box, type 30 .

  7. Double-click inside the right pane to set the MaxUserPort value. Under Base, select Decimal and, in the Value box, type 65534 .

  8. Double-click inside the right pane to set the MaxHashTableSize value. Under Base, select Decimal and, in the Value box, type 65536 .

  9. Double-click inside the right pane to set the MaxFreeTcbs value. Under Base, select Decimal and, in the Value box, type 16000 .

Important: Serious problems can occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems may require that you reinstall your operating system. Modify the registry at your own risk.

// Ethnio survey code removed