The general-purpose process client application does not allow you to define processes or attach application functionality. Instead, you must attach to other applications, using the normal channel mechanism, in order to:
- Provide process definitions.
- Store data outside of the scope of individual workers.
- Integrate with external applications.
These applications that provide these capabilites are generally termed "process modules".
In some cases, process modules do not have any user functions. For example, a process module can exist solely to provide process definitions. In this case, the process module is installed alongside the process client, the two are connected using channel connections, and then the process client can use the processes defined in the process module. A sample process module is available which can be used as a basis for a process module that provides process definitions, and which can be extended to provide more functions. A sample process module for intgegrating into external data services is also available.
In other cases, the process module does have user functions. For example, the process module may provide a database of items that internal users can view and update, but use the process client to collaborate with trading partners to collect further data. In this case, it makes sense to integrate the process module user application into the process client user application. This can be done using a special worker process that presents the process module user application in place of the worker (using the @display action). The application wrapper process module provides a method for doing this, as well as allowing other types of application to integrate into the process client user interface.