Recently in Adobe LiveCycle Process Management ES Category

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/">

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.

Validating LiveCycle Process Management

| No Comments

LiveCycle Process Management ES is essentially LiveCycle's workflow management component. After installing LiveCycle, it is a very good idea to verify that workflow functions correctly in your environment.

1) Install Sample Orchestrations
Ensure that you choose to deploy 'Samples' which is the last major step during configuration by LiveCycle Configuration Manager (LCM).

2) Login using Workbench ES

3) In the Processes view, navigate to Samples - LiveCycle ES, then MortgageLoan - Prebuilt. Open the orchestration (MortgageLoan - Prebuilt - 1.0) for view. It is a simple 2-step mortgage loan application workflow. Any user can initiate the workflow. If the requested amount is $500,000 or more, the workitem will be routed to a (senior) Bank Manager. It the amount is less than $500,000, it will be routed to a Loan Officer. The 'Bank Manager' role is mapped to the built-in user Tony Blue. The 'Loan Officer' role is mapped to the built-in user Alex Pink.

Tony Blue or Alex Pink can approve or deny the loan application. At this point, the workflow is completed. These two users along with Kel Varsen and Rye Woodard are four built-in users belonging to the LiveCycle user domain called 'Sample Organization, Finance Corp' which gets installed when you choose to deploy 'Samples' using LCM.

4) Login to LiveCycle Workspace (http://server:port/workspace) as user 'rwoodard' with password 'password'. Click on the 'Start Process' icon. On the left pane, click on 'Samples'. Click on the 'MortgageLoan - Prebuilt' icon. This will open up a PDF form. Type in values for 'Property Price' and 'Downpayment' so that the Mortgage amount is more than 500,000. Type in values for other fileds also. Do not check 'Approved' or 'Declined'. Click the 'Complete' button at the bottom right. Logout.

5) Wait about 2 minutes. Log back in to Workspace as user 'tblue' with password 'password'. Click on the 'To Do' icon. You should now see an icon representing a new workitem (task). Click it. The previous PDF form should now open up with the values you typed in. Check the checkbox for 'Approve' and click the the 'Complete' button at the bottom right. Logout.

6) Log in to the LiveCycle Admin Console (http://server:port/adminui). Navigate to Services->LiveCycle Process Management ES->Task Search. In the search field for User Name, type in 'Tony Blue', check 'Show Completed Task' and click the 'Search' button. You should see a task listed with a status of 'Completed'. Click on the Task ID and verify the timestamp and date.

7) You can now repeat this for a mortgage amount less than 500,000 and verify that the workitem (task) gets routed to Alex Pink (user 'apink with password 'password').

If this does not work for you, Process Management is not functional in your environment. Look in the appserver instance's log for clues on what might be wrong.

Foundation services are those services that are included with all the solution components. Services outside of the foundation are part of other individually (or packaged) licensed products.

If you would like to find out which LiveCycle ES 8.2 services are available with the Foundation and which services come with other licensed products, keep this document bookmarked: http://help.adobe.com/en_US/livecycle/8.2/solutioncomponents_services.pdf

[Edit] This script will not work with LC ES Update 1

If you would like to do some simple customizations with WorkSpace 8.0.1 such as switching out the corporate logo and login screens, these steps should make your life easier.

First, download this sample WorkspaceCustomizationBatchFiles.zip from https://share.acrobat.com/adc/document.do?docid=bf6c4f37-12e5-11dd-acd1-65538200e0b2. This will provide you with batch files to help extract and then repackage the WorkSpace EAR file (these are not part of LC ES).

Download and unzip the file onto your C:\ drive into a folder of your choosing. No spaces in the folder name. In the directory you will find 4 batch files marked with easy to follow steps. (The last three could have been combined but I wanted to explain what goes on behind the scenes.)

Preparation
Before running any of these steps, you must have the 2.0.1 Flex JDK in your path as well as your Java SDK. Take note that the compile step will not work with the 3.0.0 JDK compiler.

  • C:\Program Files\Adobe\Flex Builder 3\sdks\2.0.1\bin

  • C:\Program Files\Java\jdk1.5.0_12\bin
  • Step1-CreateCustomizableWorkspaceEnvironment.bat
    The first step takes the EAR file from your J2EE deploy directory and extracts the files you need to customize the look and feel of WorkSpace. Although not required, you may want to change the WORKING_DIR to direct output to another location. What you will need to do is change the JBOSS_DIR to the directory where your LC EAR files are deployed. If you are using the default turn-key installation you won't need to change this.

    The first batch file covers these steps:

  • Set some variables so we're not hard-coding everything

  • Create the required directories

  • Backup the original EAR file

  • Extract the EAR file to a WAR file

  • Extract the WAR contents out to something we can use
  • Once the first step is complete you can quickly make changes to the images and style sheet that provide you with the look and feel of the default Workspace.

    The first image to start with would be the "login_splash.png" which gives you the background on the login screen. You can find this image under C:\WorkspaceCustomization\ExpandedWAR\images\login_splash.png. The next most obvious change would be the "corp-logo.png" image that is displayed at the top left hand corner of WorkSpace. This is found under C:\WorkspaceCustomization\ExpandedWAR\images\corp-logo.png.

    You have a choice to change the images by overwriting the existing files or simply change the HeaderPane or loginSplash sections in the C:\WorkspaceCustomization\ExpandedWAR\lc.css style sheet.

    Step2-CompileNewSWF.bat
    Once the images and style sheet have been changed we need to recompile the workspace-theme.swf file. This can be done by running the step 2 batch file. Again, be sure you are using the 2.0.1 SDK. To check, drop to a command line and run mxmlc.exe to see which version you are using.

    Step3-CreateNewWARFile.bat>
    The next step is to package up the changes into a WAR file. This step will create a new WAR file under C:\WorkspaceCustomization\NewWAR.

    Step4-CreateNewEARFile.bat
    Lastly, run step 4 and the new adobe-workspace-client.ear will be created under C:\WorkspaceCustomization\NewEAR.

    Deploy the new EAR file
    Backup and then delete the original adobe-workspace-client.ear file (Do NOT backup the ear file in the deploy directory or it will remain deployed). Under the default turn-key installation this can be found under C:\Adobe\LiveCycle8\jboss\server\all\deploy\adobe-workspace-client.ear. When you remove the file, you should receive a message in your log that indicates that the application has been undeployed:
    2008-04-25 13:14:19,041 INFO [org.jboss.deployment.EARDeployer] Undeploying J2EE application, destroy step: file:/C:/Adobe/LiveCycle8/jboss/server/all/deploy/adobe-workspace-client.ear

    Now copy the C:\WorkspaceCustomization\NewEAR\adobe-workspace-client.ear into the C:\Adobe\LiveCycle8\jboss\server\all\deploy directory to deploy the newly customized WorkSpace application.

    When deployed correctly your log should indicate that the new application has been deployed:
    2008-04-25 13:16:58,364 INFO [org.jboss.deployment.EARDeployer] Started J2EE application: file:/C:/Adobe/LiveCycle8/jboss/server/all/deploy/adobe-workspace-client.ear

    To test your new application, go to http://yourmachine:8080/workspace and make sure the changes have taken place (be sure to close and reopen your browser in case any caching has occurred).

    You should now have a slightly customized version of WorkSpace deployed!

    If you would like to go one step further and create a separate URL for your new WorkSpace, do the following BEFORE running the step 4 batch file.

  • Open the C:\WorkspaceCustomization\ExpandedEAR\META-INF\application.xml file

  • Change the value between the anotherdepartment tags to a URL that you require

  • Run the step 4 batch file

  • Rename the EAR to something that does not conflict with the already deployed WorkSpace file C:\WorkspaceCustomization\NewEAR\another-adobe-workspace-client.ear
  • This is useful when creating Workspace versions that look slightly different for different groups or departments without having to change the underlying Flex application.

    About this Archive

    This page is an archive of recent entries in the Adobe LiveCycle Process Management ES category.

    Adobe LiveCycle PDF Generator ES is the previous category.

    Adobe LiveCycle Reader® Extensions ES is the next category.

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