This topic explains application management considerations that are specific to enterprise applications that contain business processes.
If you manage enterprise applications that contain business processes, you should be aware of some important differences compared to enterprise applications that do not contain business processes.
Module distribution
In contrast to previous FAR files, BPEL processes are not distributed to all deployment targets, where any EJB or Web modules of the application is installed. Because the processes are modelled as EJB, and are therefore part of EJB modules, the processes are distributed exactly to the deployment targets, where the containing EJB module is installed. The deployment target can be either a server or a cluster.
If the mapping of modules to deployment targets is changed after the application is installed (application editing), then the process templates for the corresponding EJB modules are written to the new databases for the new deployment targets, but the processes are not deleted from the old deployment targets databases unless all modules of the application are removed from the deployment target.
There are no restrictions for the distribution of uninterruptible processes to multiple servers and clusters, but EJB modules that contain interruptible processes can only be deployed to one deployment target. This is because they are internally represented by entity EJBs, which can only be persisted in one database, and the is at most one process choreographer database per deployment target.
Creating tables automatically during application install
This option is only available when installing an application with interruptible processes. If you change the mapping of modules to servers after the application is installed, you must create the tables on the corresponding server database and delete the tables from the databases for the previous deployment targets (by exporting the ddls and executing them manually according to the description for container managed entity beans.
You can only use this application installation option if your user ID has the authority to create tables in the database. In a production environment, yo might have to ask your database administrator for help. Attempting to use this option without the necessary rights results in an SQL exception and the application install fails.
During modeling, using WebSphere Studio, it is important that you select the "generate ddl" option during the RDB mapping for the process EJBs.
The tables can only be created automatically if the appropriate table.ddl file exists in the backends directory of the chosen database type. When installing the application, on the "Provide options to perform the EJB Deploy" panel, make sure that you select the appropriate backend ID. If you want to generate the deploy code at install time, also select Deploy EJB. The selected backend ID must always correspond to the database type used for the process containers, where the application is installed to.
Deleting tables automatically during application uninstall
If you uninstall a process application that contains an interruptible process, the corresponding tables will be deleted from the databases on the deployment targets. This behavior cannot be switched off, but if the deletion fails, for example, because the user ID does not have sufficient rights to delete the tables, the exception is written to the SystemOut.log file, but the process uninstall continues.
Stopping a process application
If you try to stop a BPEL process application while there are still running process instances that belong to the application, the process application will not stop, and an error message is written to the SystemOut.log.
Uninstalling a process application
Trying to uninstall a BPEL process application will fail if the process templates have not been stopped, or if there are still running instances of the processes. A process administrator can terminate and delete any surviving process instances using the Web client.