In it's default configuration, the Kuali Financial System runs with Kuali Enterprise Workflow fully embedded. This includes the workflow engine in addition to the entire web application (Action List, Document Search, etc.) However, it is often desirable in an enterprise setting to facilitate integration of multiple applications with KEW and allow for a single access point for interaction with the Action List and Document Search. In these cases KFS can be configured to integrate with a standalone instance of Kuali Enterprise Workflow.

Configuration and Installation of Standalone KEW

Installing a Standalone KEW instance and building KFS to execute against it involves a few steps:

  1. Modify kuali-build.properties
  2. Build the Standalone KEW application
  3. Install the configuration file
  4. Build and install the KEW plugin for KFS
  5. Deploy Standalone KEW into Tomcat
  6. Update Workflow.AdminUrls application constants

Modify kuali-build.properties

In order to allow for building KFS in a mode where it communicates with a standalone KEW server, some configuration properties will need to be overridden as described in the build process overview. In particular, the rice.use.standalone.workflow must be set to true. Making these changes also facilities the generation of the standalone KEW configuration file.

Build the Standalone KEW application

In the KFS project, there is an Ant target called dist-standalone-kew-war. Executing this target will generate a war file in the root of the project named en-dev.war. The "dev" name on this war file indicates the environment code for the standalone KEW application. This environment will derived from the build.environment property in your kuali-build.properties file. This war file can then be deployed into Tomcat once the configuration file and plugin are in place.

Install the configuration file

When the dist-standalone-kew-war Ant target is executed, it will also generate a file in the root of the project named workflow.xml. This is the configuration file for the standalone KEW application and must be copied into one of the following directories:

  1. /usr/local/workflow
  2. the Tomcat "conf" directory

It might also be desirable to edit some of the default values of the various properties in the file. Possible configuration elements which one might want to customize include:

  1. Plugin Directory
  2. Datasource configuration (if not generated as desired)
  3. Filter Configuration - by default, standalone KEW is configured to use the CAS implementation available in KFS

Build and install the KEW plugin for KFS

Standalone KEW requires a plugin for KFS to allow for efficient rendering of custom document searches, rules and lookups within the KEW application. There is an Ant target named dist-plugin in the KFS build script which will generate this plugin. When dist-plugin is executed it will generate a file in the root of the project named en-plugins.zip. This file will need to be copied into the plugin directory as defined in the workflow.xml configuration file. The default location for this is /opt/j2ee/en-plugins/env where "env" is the build.environment under which the application was built.

Deploying plugin as an institutional plugin

KEW requires user and authentication services in order to do it's job. Most institutions will want to create their own implementations to allow for integrating with their own identity and authentication services. However, if desired, the KFS plugin can be deployed as an "institutional" plugin into KEW (see complete KEW documentation for further details). This allows KEW to use the service implementations provided by KFS for users and CAS authentication. This is similar to how KEW runs when fully embedded into KFS.

In order to deploy the plugin as an institutional plugin, simply copy it into your plugin directory with the name en.zip.

Deploying plugin as an application plugin

If you would rather implement a separate institutional plugin to hook KEW into your institutional services, you can deploy the KFS plugin as an application plugin. To do this simply copy it into your plugin directory with a name like kfs.zip (any name except for en.zip will work).

Deploy Standalone KEW into Tomcat

Finally, once all configuration and the plugin is in place the standalone war can be deployed into a Tomcat server as a standard web application. Prior to this you will need to ensure that any database driver jars are copied into the common/lib directory of your Tomcat installation.

In order to install and run the standalone KEW application, simply copy the war file into the "webapps" directory of your Tomcat installation and start Tomcat.

Update Workflow.AdminUrls Application Constant

You will want to remove the /en prefix on all of the URLs specified in this constant when using a standalone workflow deployment.

More Information

If you want more information on running and installing KEW, please take a look at the Complete Rice Documentation.