July 2009 Archives

,

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

Orchestration Overhead in LiveCycle

| No Comments

LiveCycle ES incorporates many of the concepts made popular by WS-BPEL (Web Services - Business Process Execution Language). These include the idea of a "service orchestration". A service orchestration is a group of services that are chained together to act as though it itself is a service with its own WSDL. Some people make the argument that the right term should be "choreography", since an orchestra needs a conductor and a (dance) choreography does not.

LiveCycle supports both short-lived and long-lived orchestrations. Long-lived orchestrations typically involve human actors while short-lived ones don't. BPEL does not support the concept of human actors. Therefore, the BPEL4People extension to BPEL was proposed. Adobe is involved with this standard.

Architects of applications built on LiveCycle ES need to note that short-lived orchestrations have a performance overhead when compared against a client application making direct API calls to individual LiveCycle services. In most cases, this is about 20%.

If you are invoking just one service within LiveCycle (render a PDF form), direct API calls have the performance advantage. However, if you need to invoke several LiveCycle services, the convenience and simplicity of orchestrations trump that performance advantage.

There are three new solution accelerators available that include production ready building block components and technical guides.

The new accelerators include solutions for Financial Services with Account Enrollment and Correspondence Management as well as a cross-industry Human Capital Applications solution.

For further information including technical documentation or to download the new releases, please visit http://www.adobe.com/devnet/livecycle/solution_accelerators.html.


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.

The beta version of the next release of Adobe LiveCycle ES is now available on the pre-release site at http://prerelease.adobe.com.

For more information including details about upcoming improvements, check out Marcel's posting here: http://blogs.adobe.com/mtg/2009/07/adobe_livecycle_es_next_beta_a.html.

About this Archive

This page is an archive of entries from July 2009 listed from newest to oldest.

June 2009 is the previous archive.

August 2009 is the next archive.

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