Recently in Environment Category

Configuring JBoss / LiveCycle to Autostart on SUSE Enterprise Linux

| No Comments

Since LiveCycle ES is server-side software, the J2EE appserver hosting it should ideally be configured to start automatically after a server restart. On Novell SUSE Enterprise Linux, this requires changes to the run.sh JBoss startup file to fit the requirements of SUSE's chkconfig utility.

1) Download the jboss run file (make sure it does not have any extensions such as "txt")
2) Edit it to fit your environment
3) Move it to /etc/init.d/ with 755 permissions, owned by root

4) Download the required config file (make sure it does not have any extensions such as "txt")
5) Edit it to fit your environment
6) Move it to /etc/sysconfig/ with 644 permissions, owned by root

7) login as 'root', cd to /usr/sbin and run the command:
chkconfig jboss on

Verify that appropriate Start and Stop (Kill) soft links have been created in /etc/init.d/rc3.d and /etc/init.d/rc5.d When the server is restarted, the S10jboss link to /etc/init.d/jboss will be invoked to start JBoss. When the server is shut down, the K01jboss link to /etc/init.d/jboss will be invoked. 10 makes sure that JBoss will be started last (after all other services have been started, including MySQL). 01 makes sure that JBoss will be one of the first services to be shutdown on server shutdown.

You can also manually stop JBoss as root by running the command ./jboss stop from /etc/init.d/

Creating a soft link to /etc/init.d/jboss from /usr/sbin/ will let you run this from any directory since /usr/sbin/ is usually in the PATH envitronment variable. The command is (as root):
ln -s /etc/init.d/jboss /usr/sbin

LiveCycle - Encrypting Cleartext JBoss Data Source Passwords

| No Comments

DBAs and JBoss system administrators are weary of having the password to the LiveCycle database in cleartext in the data source configuration XML file. JBoss provides instructions here on how to use it in encrypt form.

1) Encrypt database password
The following command will encrypt the password "lc_password":
java -cp C:\Programs\jboss_es2\lib\jboss-common.jar;C:\Programs\jboss_es2\lib\jboss-jmx.jar;C:\Programs\jboss_es2\server\lc_mysql\lib\jbosssx.jar;C:\Programs\jboss_es2\server\lc_mysql\lib\jboss-jca.jar org.jboss.resource.security.SecureIdentityLoginModule lc_password.
Obviously, you should replace the paths to the JAR files with yours. In the above example, the JBoss configuration is "lc_mysql"
If successful, you should get a response like as follows:
Encoded password: -2d19d44d319c1d9e008fba5553e14ea0

2) Create new Application Policy
Edit the %JBOSS_HOME%\server\lc_mysql\conf\login-config.xml file and create a new application policy that would look something like this.

3) Configure data source with the new Application Policy
Replace the following:
<user-name>lc_db_usr</user-name>
<password>password</password>
with this:
<security-domain>EncryptDBPasswordAppPolicy</security-domain>
where "EncryptDBPasswordAppPolicy" is the name of the 'application policy' you created in %JBOSS_HOME%\server\\conf\login-config.xml

This has been tested to work with MySQL. Your mileage with Oracle, SQL Server etc may vary.

Using Charles To Debug LiveCycle Workspace

| No Comments

Charles is a shareware tool that can be used to debug connectivity and other issues with LiveCycle Workspace. A Firefox plugin is also available. Evaluation version is free for 30 days.

Once installed and configured, it will give you very detailed information on the requests being sent by the browser to the LiveCycle server as well as the responses from the LiveCycle server back to the browser. It is supported on Windows, MacOS and Linux. It also has a 64-bit version.

AMF3 is supported natively, with an AMF tab that displays the contents of AMF3 messages in a readable hierarchical format.

It is essentially a Java proxy application that needs a JRE to be installed (the JAVA_HOME environment variable needs to be set).

Ensuring that LiveCycle is Supported on your Software Platform

| No Comments

Although LiveCycle ES is supported on a wide variety of enterprise platforms, there are combinations of J2EE appserver-DB-OS that might not be supported. For example, JBoss on AIX is not supported. WebSphere with MySQL is not supported. Sybase is not supported at all.

To ensure that you install LiveCycle on a supported platform, please consult the most appropriate "Preparing to Install" guide or use the Software Environment and Compatibility Check (SECC) form. The SECC form asks all the relevant questions when it comes to an installation of LiveCycle in a particular environment. It is recommended because you have the option to have it reviewed by Adobe.

Configuring LiveCycle With the Command Line Interface (CLI) of LCM

| No Comments

LiveCycle Configuration Manager (LCM) offers a Command Line Interface (CLI) for configuring the appserver instance.

Using this CLI, you can automate the deployment of LiveCycle, including building the EAR files, configuring the appserver, deploying the EAR files to the appserver, bootstrapping the database, deploying DSCs, and validating these operations. You cannot deploy Samples using the CLI.

You need to create/edit a properties file with configuration settings that fit your environment and requirements which serves as input to the CLI commands. Please download a working (Windows) sample CLI_properties.txt.

Copy this file to the \bin folder of LCM ($LC_INSTALL_ROOT/configurationManager/bin/).

Appendix B ("Appendix - LCM Command Line Interface") of the 'Installing and Deploying LiveCycle ES" Guides provide detailed information regarding the use of the LCM CLI version.

Run the following commands (sequence matters):

1) Build the EAR files
ConfigurationManagerCLI.bat configureLiveCycle -f CLI_properties.txt

2) Configure the appserver (JDBC data source is configured manually)
ConfigurationManagerCLI.bat configureApplicationServer -f CLI_properties.txt -skip Datasource
Please note that you should manually deploy and start \configurationManager\deploy\adobe-lcm-lcvalidator.ear first. Also, make sure that all cluster members are running, otherwise this will fail

3) Deploy the EAR files to the appserver. Manual deployment is recommended although CLI can be used.

4) Re-start the appserver instance or cluster

5) Bootstrap (Initialize the database)
ConfigurationManagerCLI.bat initializeLiveCycle -f CLI_properties.txt

6) Deploy DSCs (Components)
ConfigurationManagerCLI.bat deployLiveCycleComponents -f CLI_properties.txt

Running LiveCycle on JBoss as a 64-bit Windows Service

| No Comments

In most Windows server environments, it is almost a necessity that JBoss be run as a Windows service that is configured to auto-start and auto-stop on Windows start and stop. Free tools have existed for 32-bit Windows/Java environments for some time but not for 64-bit environments. "JBoss Web Native Connectors" that were released by JBoss for JBoss 5.0 can now be used for JBoss 4.2 as well.

The following instructions also work for Windows Server 2008 64-bit although LiveCycle ES 8.2 is currently not supported on it.

1) Download the JBoss Web Native Connector for 64-bit Windows ("JBoss Native 2.0.6 Win64 AMD64/EMT64") from here.

2) Unzip the downloaded file. Copy all contents of the \bin folder to the \bin folder of your JBoss.

Edit service.bat

3) Make sure that the variables for Service Name (SVCNAME), Service Display (SVCDISP) and Service Description (SVCDESC) have values that reflect your JBoss environment. For example:
set SVCNAME=JBAS42SVC
set SVCDISP=JBossAS 4.2 for Adobe LiveCycle ES 8.2
set SVCDESC=JBoss Application Server Community Edition 4.2.0 GA/Platform: Windows x64

4) In the :cmdStart section, make sure that the call run.bat line is enhanced with the configuration name ("all" in this example) and bind IP address (0.0.0.0 for binding to all of the server's IP addresses) such as follows:
call run.bat -c all -b 0.0.0.0 < .r.lock >> run.log 2>&1

5) Repeat the same for the :cmdRestart section:
call run.bat -c all -b 0.0.0.0 < .r.lock >> run.log 2>&1

6) Save the file.

7) From the \bin folder of JBoss, create the Windows service using the following command:
service.bat install

If the command worked, you will get a response such as:
Service JBossAS 4.2 for Adobe LiveCycle ES 8.2 installed

8) Check the Services applet in Windows Control Panel for a new service listed as "JBossAS 4.2 for Adobe LiveCycle ES 8.2" which is the value of the SVCDISP variable in service.bat

9) Using the Services applet in Windows Control Panel, set the 'Startup type" to "Automatic".

10) In the "Recovery" tab, set First failure and Second failure recovery options such as "Restart the Service" and "Restart the Computer" respectively.

11) If needed, change the "Logon as" value from the default "Local System" account to another user or service account.

Verification

1) Start the service from the Services applet in Windows Control Panel

2) Watch (tail) the server.log to make sure that the service starts successfully.

3) Shutdown the service from the Services applet in Windows Control Panel and verify that it gets shut down successfully.

4) Make sure that a service re-start from the Services applet in Windows Control Panel also works.

Additional configuration can be performed using either the Services applet in Windows Control Panel or by using the built-in Windows Service Configuration utility (sc). From a command prompt, run the following command for additional details:
sc /help

For example, if the database service runs on the same machine instance, you can create a dependency on that service with the following command:
sc config JBAS42SVC depend= MSSQL$MYSERVER
where MSSQL$MYSERVER is the SVCNAME of the Microsoft SQL Server 2005 service running on the same server instance. Please note that there should NOT be any space before the = sign but there should be a space after the = sign. This is very important.

If successful, you will get a response such as follows:
[SC] ChangeServiceConfig SUCCESS

,

LiveCycle ES Update 1 Service Pack 3 (8.2.1.3) has been released and customers are entitled to receive this product update as a benefit of their maintenance and support agreement with Adobe. This is a cumulative service pack, and includes all fixes contained in earlier patches from Adobe. Service Pack 3 updates LiveCycle ES server components and LiveCycle Workbench ES (updating both is required) and can only be deployed on LiveCycle ES Update 1.

If you are entitled to this update and wish to download the required resources, contact your Technical Account Manager (TAM) or Enterprise Support directly.

In many customer situations, you might be required to run multiple, non-clustered JBoss instances on the same server. For example, TEST and DEV instances, or LiveCycle ES and BAM (Business Activity Monitor) instances.

To avoid port conflicts, you will have to change the ports for one of the JBosss instances. Here is a list of what you'd have to do if you are using the "all" configuration:

Please note : some of these recommended ports might conflict in your particular environment. In such cases, you might have to experiment until you get one that does not conflict. The JBoss server.log will tell you if there are any port conflicts. In Windows, you can use TCPView from Microsoft to inventory currently used ports. On Linux, you can use the netstat -an command.

%JBOSS_HOME%\server\all\deploy\jboss-web.deployer\server.xml (Tomcat)
Change HTTP Connector port from 8080 to 8090
Change redirectPort from 8443 to 8453
Change SSLConnector from 8443 to 8453
Change AJP Connector from 8009 to 8010

%JBOSS_HOME%\server\all\conf\jboss-service.xml
Change org.jboss.web.WebService port from 8083 to 8084
Change org.jboss.naming.NamingService Port from 1099 to 1200
Change org.jboss.naming.NamingService RmiPort from 1098 to 1201
Change org.jboss.invocation.jrmp.server.JRMPInvoker RMIObjectPort from 4444 to 4544
Change org.jboss.invocation.pooled.server.PooledInvoker ServerBindPort from 4445 to 4545
Change invoker serverBindPort from 4446 to 4546

%JBOSS_HOME%\server\all\conf\jacorb.properties
Change ORBInitRef.NameService=corbaloc::localhost:3528/JBoss/Naming/root from 3528 to 3529
Change OAPort from 3528 to 3529
Change OASSLPort from 3529 to 3530

%JBOSS_HOME%\server\all\deploy-hasingleton\jms\uil2-service.xml
Change org.jboss.mq.il.uil2.UILServerILService ServerBindPort from 8093 to 8094

%JBOSS_HOME%\server\all\deploy\ejb3.deployer\META-INF\jboss-service.xml
Change org.jboss.remoting.transport.Connector InvokerLocator port from 3873 to to 3973

%JBOSS_HOME%\server\all\deploy\snmp-adaptor.sar\META-INF\jboss-service.xml
Change org.jboss.jmx.adaptor.snmp.trapd.TrapdService Port from 1162 to 1164
Change org.jboss.jmx.adaptor.snmp.agent.SnmpAgentService Port from 1161 to 1163

%JBOSS_HOME%\bin\run.bat
Add a line to add a new property:
set JAVA_OPTS=%JAVA_OPTS% -Djboss.partition.name=partitionLCDev

%JBOSS_HOME%\server\all\deploy\cluster-service.xml (JBoss Cluster)
Add attribute ip_mcast="false"
Change num_initial_members from 3 to 1
Change org.jboss.ha.jndi.HANamingService port from 1100 to 1203
Change org.jboss.ha.jndi.HANamingService RmiPort from 1101 to 1204
Change AutoDiscoveryGroup port from 1102 to 1205
Change org.jboss.invocation.jrmp.server.JRMPInvokerHA RMIObjectPort from 4447 to 4547
Change org.jboss.invocation.pooled.server.PooledInvokerHA ServerBindPort from 4448 to 4548

%JBOSS_HOME%\server\all\deploy\ejb3-clustered-sfsbcache-service.xml (JBoss Stateful Sessions Beans [EJB] Cache)
Add attribute ip_mcast="false"
Change num_initial_members from 3 to 1

%JBOSS_HOME%\server\all\deploy\ejb3-entity-cache-service.xml (JBoss Entity Beans [EJB] Cache)
Add attribute ip_mcast="false"
Change num_initial_members from 3 to 1

%JBOSS_HOME%\server\all\deploy\jboss-web-cluster.sar\META-INF\jboss-services.xml (Tomcat Cluster)
Add attribute ip_mcast="false"
Change num_initial_members from 3 to 1

A load balancer is always required when LiveCycle is deployed in a cluster (with more than one member node). Apache Web Server 2.2 can be easily and quickly configured to act as one.

1) Download and install Apache Web Server 2.2 from here.

JBOSS CONFIGURATION
------------------------------

2) Assuming that the DNS name of the machine hosting the Apache Web Server is apache.company.com, edit the Tomcat configuration file ($JBOSS_HOME/jboss-4.2.0_mssql2005/server/all/deploy/jboss-web.deployer/server.xml) of each of the JBoss instances in the cluster hosting LiveCycle so that the HTTP Connector configuration looks similar to this:
<Connector port="8080" address="${jboss.bind.address}"
proxyName="apache.company.com" proxyPort="80"
maxThreads="250" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />

APACHE WEB SERVER CONFIGURATION
-------------------------------------------------

3) Edit the configuration file of Apache Web Server (httpd.conf) and enable proxying, load balancing and load balancer management by uncommenting the following lines:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule status_module modules/mod_status.so

# Set TCP/IP network buffer size for better throughput (bytes)
ProxyReceiveBufferSize 4096

4) Assuming that you have a vertical cluster of two JBoss instances (listening respectively on ports 8080 and 8090) running on the same machine (ip address 10.20.30.40), configure a Load Balancer named livecycle-lb:
# Enable Load Balancing
<Proxy balancer://livecycle-lb>
BalancerMember http://10.20.30.40:8090
BalancerMember http://10.20.30.40:8080
</Proxy>

More details are available here.

5) Perform additional configuration for the LiveCycle applications

# FormsIVS configuration
ProxyPass /FormsIVS balancer://livecycle-lb/FormsIVS
ProxyPassReverse / balancer://livecycle-lb/FormsIVS

# OutputIVS configuration
ProxyPass /OutputIVS balancer://livecycle-lb/OutputIVS
ProxyPassReverse / balancer://livecycle-lb/OutputIVS

# AssemblerIVS configuration
ProxyPass /Assembler balancer://livecycle-lb/Assembler
ProxyPassReverse / balancer://livecycle-lb/Assembler
ProxyPass /remoting balancer://livecycle-lb/remoting
ProxyPassReverse / balancer://livecycle-lb/remoting

# Rights Management
ProxyPass /edc balancer://livecycle-lb/edc
ProxyPassReverse / balancer://livecycle-lb/edc
ProxyPass /rightsmgmt_help_en balancer://livecycle-lb/rightsmgmt_help_en
ProxyPassReverse / balancer://livecycle-lb/rightsmgmt_help_en

# Workbench
ProxyPass /soap balancer://livecycle-lb/soap
ProxyPassReverse / balancer://livecycle-lb/soap
ProxyPass /DocumentManager balancer://livecycle-lb/DocumentManager
ProxyPassReverse / balancer://livecycle-lb/DocumentManager

If you have any custom applications, for example with a context root of /lctest, add that:

# Custom application
ProxyPass /lctest balancer://livecycle-lb/lctest
ProxyPassReverse / balancer://livecycle-lb/lctest

6) Configure a Load Balancer Manager to check the status of the load balancer:
# Enable Load Balancer Manager
<Location /livecycle-lb-manager>
SetHandler balancer-manager
Deny from all
Allow from .company.com
</Location>

7) Re-start the Apache Web Server.

8) Re-start the JBoss instances in the cluster that hosts LiveCycle ES

VERIFICATION
------------

9) Point your browser to http://apache.company.com/livecycle-lb-manager
Under the "Worker URL" header, you should see all of the cluster members listed with the status of "Ok".

10) Bring one of the two JBoss instances down. Verify that you can still access LiveCycle:
http://apache.company.com/adminui

10) Bring the JBoss instance you shut down back up. Bring the other JBoss instance down. Verify that you can still access LiveCycle:
http://apache.company.com/adminui

A Virtual Appliance for Evaluating LiveCycle ES

| No Comments

NOTE: Many people experienced very long download times as well as disconnects trying to download our 14 GB appliance. As a result, we have removed it. We are working on a smaller appliance for ES2. If you are still interested in the ES U1 appliance, please contact your Adobe account team. We are very sorry about this.

VMware has been promoting the idea of a "virtual appliance" for at least two years now. It has been very popular, as can be seen by the profusion of appliances at their Virtual Appliance Marketplace. eWeek Labs' Cameron Sturdevant recently wrote about the growing relevance of software virtual appliances here.

A LiveCycle Evaluation Virtual Appliance is now available for download. It is essentially a VMware ESX-based virtual machine containing the operating system (SUSE Linux Enterprise Server 10 64-bit SP2), a JDK (Sun HotSpot 1.5 64-bit), a J2EE application server (JBoss AS Community Edition 4.2), a database management system (MySQL Community Edition 5.0.26), and LiveCycle ES 8.2.1 SP1 evaluation version.

Here's Novell's press release that mentions the LiveCycle Virtual Appliance.

If you have an existing VMware Infrastructure 3 (VI3) environment, or have a server running the free ESXi 3.5, there is now an option to evaluate LiveCycle ES 8.2.1 (SP1) without any installation-configuration hassles.

The Appliance URL is this (NOTE: use this link if you have trouble with it). It is 14.5 GB!

You need to have an "Adobe ID" (free registration). The Readme is here.

For other LiveCycle evaluation options (eg: ordering LiveCycle on a DVD), please see here.

You can use VMware's free vCenter Converter to convert this ESX VM to the version that can run in VMware Workstation.

About this Archive

This page is an archive of recent entries in the Environment category.

Adobe LiveCycle Rights Management ES is the previous category.

Solution Accelerators is the next category.

Find recent content on the main index or look in the archives to find all content.