October 2009 Archives

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.

Handling assertion expiry in Service Invocation

| No Comments

If you have faced issues related to Assertion Expiry while performing service invocation using the client sdk then Renewing the context to handle session expiry recipe can be followed to properly handle the issue

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).

MAX 2009 Sessions About LiveCycle

| No Comments

MAX 2009 ended last week. By all accounts, LiveCycle sessions experienced a hitherto unprecedented surge in interest with many getting sold out. For those that couldn't make it to MAX 2009 due to various reasons, here are links to those LiveCycle sessions that Adobe has published. For a list of all of the MAX sessions, see the MAX Session Locator.

1) What's New in LiveCycle ES2 (Marcel Boucher, Senior Product Manager, Adobe Technical Marketing) - Duration 0:56

2) Developing for Information Assurance with LiveCycle ES2 (Jonathan Herbach, Adobe Senior Product Manager) - Duration 0:57

3) How to Architect Adobe LiveCycle ES into Your Enterprise Solutions (Danny Saikaly, Technology Practice Leader for Adobe Professional Services) - Duration 1:14

4) Understanding the Building Blocks of Adobe's Solution Accelerator Program (Ashish Agrawal, Adobe Product Manager and Girish Bedekar, Adobe Solutions Accelerator Architect) - Duration 0:51

5) Enterprise Cloud Computing with Adobe LiveCycle Developer Express (David Tompkins, Chief Architect of LiveCycle Developer Express and Sven Claar, Adobe Advanced Technology Labs) - Duration 0:43

6) Effective Form Design for Developers (Angie Okamoto of Easel Solutions) - Duration 1:02

7) WCAG2 Compliance with PDF Forms (Charlie Pike of The Paciello Group) - Duration 0:58

8) PDF Inside and Out (Leonard Rosenthal, Adobe PDF Standards Architect) - Duration 1:08

9) High-Performance Real-Time Messaging with Flex and LiveCycle Data Services (Mete Atamel, Adobe Computer Scientist) - Duration 1:01

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.

Load-Testing LiveCycle Workspace Applications

| No Comments

Since LiveCycle Workspace ES is an application built with Flex, load-testing business processes (long-lived orchestrations) built with it can be a challenge if you are using versions of LoadRunner, SilkPerformer etc that do not support the AMF3 protocol.

Neotys NeoLoad supports AMF3 natively. If you have prior experience with load testing tools, you can get a load-test scenario for Workspace developed and running in about 4-6 hours using NeoLoad. Neotys provides a downloadable 30-day evaluation copy. Sample project is available (4.8 MB) lc_workspace.zip

Immediately after recording a scenario, it will ask you for the flex-messaging-data.jar file. You can obtain it from %LC_INSTALL_ROOT%\LiveCycle_ES_SDK\misc\DataServices\Server-Libraries\

Please note that the forms used in the process should be XDP, not PDF. Also, ensure that Process Management ES works in your environment. Instructions are available here.

As most experienced load-testers know, the trick to developing solid load-test scripts is knowing which parameters are dynamic and therefore have to be parsed out of server responses and re-used in subsequent requests to the server. For Workspace ES in 8.2.1 (Update1), these parameters are as follows:

JSESSIONID

The JSESSIONID (B93D4FA6F9FDA1911CD701FB5C310887) is returned by the server when you load the login page (/workspace-server/determine-locale) as this, for example:
Set-Cookie: JSESSIONID=B93D4FA6F9FDA1911CD701FB5C310887; Path=/

authData

authData (c3RAQENDIyNhdUBAMA==) is also returned by the server when you load the login page (/um/login) as this, for example:
Set-Cookie: authData=c3RAQENDIyNhdUBAMA==; Path=/

lcAuthToken

lcAuthToken (272ED3A8-D412-8068-E1F3-610FF7CFE531) is returned by the server when you login with a userID and password (/um/login) as this, for example:
Set-Cookie: lcAuthToken=272ED3A8-D412-8068-E1F3-610FF7CFE531; Path=/

oid

oid (9EF6E50E-FAE4-93A0-A70C-580518BC4AD9) is also returned by the server when you login (/workspace-server/authenticate) as this, for example:
valid=true&oid=9EF6E50E-FAE4-93A0-A70C-580518BC4AD9&userid=rwoodard&displayName=Rye+Woodard

When you submit the form, the value for AWS_ASSIGNED_ID has to be parameterized with the value of oid as follows:
<AWS_ASSIGNED_ID>${oid}</AWS_ASSIGNED_ID>

taskId

The taskId (111) is returned to you in an AMF message when you start a process by loading its init form. You cannot parse this unless your load-test tool understands AMF3. It looks like this:
<taskId tagClass="double">111.0</taskId>

When you submit the form, the value for AWS_TASKID has to be parameterized as follows:
<AWS_TASKID>${Task_ID}</AWS_TASKID>

formName

The URL for the form is also returned to you in an AMF message when you start a process by loading its init form, for example like this.
<url tagClass="String">http://localhost:8080/workspace-server/documents/3727297134487800504-9.pdf</url>

The form name (3727297134487800504-9) will change from invocation to invocation and has to be parameterized for your load-test script to work.

When you submit the form, the value for pdf href has to be parameterized as follows:
<pdf href="http://localhost:8080/workspace-server/documents/${Rendered_Form_Name}.pdf" xmlns="http://ns.adobe.com/xdp/pdf/">

About this Archive

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

September 2009 is the previous archive.

November 2009 is the next archive.

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