Skip to main content
The following steps describe how to update the ASEE Flow artifacts on an IBM was application server in a shared process engine setting. For the entire migration procedure, refer to the migration guide. If not already done, make sure to download the ASEE Flow 7.2 IBM was distribution. The update procedure takes the following steps:
  1. Uninstall the ASEE Flow libraries and archives
  2. Add the new ASEE Flow libraries
  3. Install optional ASEE Flow dependencies
  4. Configure process engines
  5. Create a shared ASEE Flow library
  6. Install the ASEE Flow archive
  7. Install the ASEE Flow web applications
  8. Associate existing applications with shared library
In each of the following steps, the identifiers $*_VERSION refer to the current version and the new versions of the artifacts.
Changing Platform ConfigurationDepending on your chosen feature set for ASEE Flow, some of the (optional) migration steps may require to change the configuration of ASEE Flow 7. The ASEE Flow enterprise archive (EAR) contains a default platform configuration. If you want to change this configuration, you can replace it as described in the deployment descriptor reference.

1. Uninstall the ASEE Flow Libraries and Archives

First, uninstall the ASEE Flow web applications, namely the ASEE Flow REST API (artifact name like camunda-engine-rest) and the ASEE Flow applications Cockpit, Tasklist and Admin (artifact name like camunda-webapp). Uninstall the ASEE Flow EAR. Its name should be camunda-ibm-was-ear-$PLATFORM_VERSION.ear. Then, uninstall the ASEE Flow job executor adapter, called camunda-ibm-was-rar-$PLATFORM_VERSION.rar. Delete the J2E connection factory and activation specification created for ASEE Flow 7.1. After stopping the server, delete all ASEE Flow related libraries from the $WAS_HOME/lib/ext directory. These should be:
  • camunda-engine-$PLATFORM_VERSION.jar
  • camunda-bpmn-model-$PLATFORM_VERSION.jar
  • camunda-xml-model-$PLATFORM_VERSION.jar
  • mybatis-$MYBATIS_VERSION.jar
  • java-uuid-generator-$VERSION.jar
  • joda-time-$VERSION.jar
  • slf4j-api-$VERSION.jar
Note that the non-ASEE Flow artifacts may be depended on by other applications.

2. Add the New ASEE Flow Libraries

ASEE Flow 7.2 ships a new installation approach for ASEE Flow on IBM was. The ASEE Flow libraries are now available through a shared library the server administrator has to create. Copy the ASEE Flow core modules from the folder $WAS_DISTRIBUTION/modules/lib to a folder that can be referenced from your IBM was installation when you later create the shared library. In detail, these are the following artifacts:
  • camunda-engine-$PLATFORM_VERSION.jar
  • camunda-bpmn-model-$PLATFORM_VERSION.jar
  • camunda-cmmn-model-$PLATFORM_VERSION.jar
  • camunda-xml-model-$PLATFORM_VERSION.jar
  • mybatis-$MYBATIS_VERSION.jar
  • java-uuid-generator-$VERSION.jar
  • joda-time-$VERSION.jar
  • slf4j-api-$VERSION.jar
If you have been previously using the ASEE Flow LDAP plugin, also copy the following artifact:
  • camunda-identity-ldap-$PLATFORM_VERSION.jar

3. Install Optional ASEE Flow Dependencies

There are artifacts for ASEE Flow Connect, ASEE Flow Spin, the Freemarker template language and Groovy scripting that may optionally be added to the shared library folder. Since all these artifacts add new functionality, the following steps are not required for migration. Note: The default ASEE Flow configuration file contained by the ASEE Flow EAR automatically activates the newly introduced, optional ASEE Flow dependencies, ASEE Flow Spin and Connect. If you do not use a custom ASEE Flow configuration as described here and do not intend to do so, you must install the ASEE Flow Spin and Connect core libraries to the shared libraries folder.
Not Using Connect/SpinIf you do not want to use ASEE Flow Connect or ASEE Flow Spin, you cannot use the default ASEE Flow configuration that is contained in the ASEE Flow EAR. In this case, make sure to change the configuration location as described here. As a starting point, you can copy the default configuration from $WAS_DISTRIBUTION/modules/camunda-ibm-was-ear-$PLATFORM_VERSION.ear/camunda-ibm-was-service-$PLATFORM_VERSION.jar/META-INF/bpm-platform.xml and remove the <plugin> entries for the classes ConnectProcessEnginePlugin and SpinProcessEnginePlugin.

ASEE Flow Connect

If ASEE Flow Connect is intended to be used, copy the following library from $WAS_DISTRIBUTION/modules/lib to the Camunda shared library folder:
  • camunda-connect-core-$CONNECT_VERSION.jar
  • camunda-commons-logging-$COMMONS_VERSION.jar
  • camunda-commons-utils-$COMMONS_VERSION.jar
  • slf4j-api-$SLF4J_VERSION.jar
If you use a custom ASEE Flow configuration file, ASEE Flow Connect functionality has to be activated for a process engine by registering a process engine plugin (note that if you use the default configuration, this step is not necessary):
<?xml version="1.0" encoding="UTF-8"?>
<bpm-platform ... >
  <process-engine name="default">
    ...
    <plugins>
      ... existing plugins ...
      <plugin>
        <class>org.camunda.connect.plugin.impl.ConnectProcessEnginePlugin</class>
      </plugin>
    </plugins>
    ...
  </process-engine>

</bpm-platform>

ASEE Flow Spin

If ASEE Flow Spin is intended to be used, copy the following library from $WAS_DISTRIBUTION/modules/lib to the Camunda shared library folder:
  • camunda-spin-core-$CONNECT_VERSION.jar
  • camunda-commons-logging-$COMMONS_VERSION.jar
  • camunda-commons-utils-$COMMONS_VERSION.jar
  • slf4j-api-$SLF4J_VERSION.jar
If you use a custom ASEE Flow configuration file, ASEE Flow Spin functionality has to be activated for a process engine by registering a process engine plugin (note that if you use the default configuration, this step is not necessary):
<?xml version="1.0" encoding="UTF-8"?>
<bpm-platform ... >
  <process-engine name="default">
    ...
    <plugins>
      ... existing plugins ...
      <plugin>
        <class>org.camunda.spin.plugin.impl.SpinProcessEnginePlugin</class>
      </plugin>
    </plugins>
    ...
  </process-engine>

</bpm-platform>

Groovy Scripting

If Groovy is to be used as a scripting language, add the following artifacts to the Camunda shared library folder:
  • groovy-all-$GROOVY_VERSION.jar

Freemarker Integration

If the ASEE Flow integration for Freemarker is intended to be used, add the following artifacts to the Camunda shared library folder:
  • camunda-template-engines-freemarker-$TEMPLATE_VERSION.jar
  • freemarker-2.3.20.jar
  • camunda-commons-logging-$COMMONS_VERSION.jar
  • camunda-commons-utils-$COMMONS_VERSION.jar
  • slf4j-api-$SLF4J_VERSION.jar

4. Configure Process Engines

Script Variable Storing

As of 7.2, the default behavior of script variables has changed. Script variables are set in e.g. a BPMN Script Task that uses a language such as JavaScript or Groovy. In previous versions, the process engine automatically stored all script variables as process variables. Starting with 7.2, this behavior has changed and the process engine does not automatically store script variables any longer. You can re-enable the legacy behavior by setting the boolean property autoStoreScriptVariables to true for any process engine in the bpm-platform.xml:
<?xml version="1.0" encoding="UTF-8"?>
<bpm-platform ... >
  ...
  <process-engine name="default">
    ...
    <properties>
      ... existing properties ...
      <property name="autoStoreScriptVariables">true</property>
    </properties>
    ...
  </process-engine>
  ...
</bpm-platform>
As an alternative, process application developers can migrate script code by replacing all implicit declarations of process variables in their scripts with an explicit call to execution.setVariable('varName', 'value').

5. Create a Shared ASEE Flow Library

Next, start up the server and create a shared library named Camunda for these artifacts. In detail, go to Environment / Shared libraries, choose the correct scope in which your EAR and applications will run and define a new shared library. Name it Camunda. This name is mandatory. Enter as classpath the path where you have copied the ASEE Flow shared libraries, e.g., /opt/IBM/was/AppServer/profiles/AppSrv01/camunda-shared-libs. Enable the Use an isolated class loader for this shared library checkbox. JDBC Drivers, DataSource and WorkManager settings stay the same as compared to 7.1.

6. Install the ASEE Flow Archive

Install the ASEE Flow EAR, i.e., the file $WAS_DISTRIBUTION/modules/camunda-ibm-was-ear-$PLATFORM_VERSION.ear. During the installation, the EAR will try to reference the previously created Camunda shared library. As of version 7.2, the ASEE Flow job executor resource adapter (RAR) that you uninstalled in step 1 is part of the ASEE Flow EAR and therefore does not need to be installed separately.

7. Install the ASEE Flow Web Applications

ASEE Flow REST API

The following steps are required to update the ASEE Flow REST API on an IBM was instance:
  1. Deploy the web application $WAS_DISTRIBUTION/webapps/camunda-engine-rest-$PLATFORM_VERSION-was.war to your IBM was instance.
  2. Associate the web application with the Camunda shared library.

ASEE Flow Cockpit, Tasklist, and Admin

The following steps are required to update the ASEE Flow web applications Cockpit, Tasklist, and Admin on an IBM was instance:
  1. Deploy the web application $WAS_DISTRIBUTION/webapps/camunda-webapp-ee-was-$PLATFORM_VERSION.war to your IBM was instance.
  2. Associate the web application with the Camunda shared library.

8. Associate Existing Applications with Shared Library

The new shared Camunda library affects process applications as well because the ASEE Flow libraries which are available with 7.1 on the global classpath are gone. In order to make the ASEE Flow libraries available to applications, the Camunda shared library has to be associated with every process application. If this is not done, the applications fail due to missing resources.
LDAP Entity CachingWith 7.2, it is possible to enable entity caching for Hypertext Application Language (HAL) requests that the camunda web applications make. This can be especially useful when you use camunda in combination with LDAP. To activate caching, the camunda webapp artifact has to be modified and the pre-built application cannot be used as is. See the REST Api Documentation for details.