Frequently you might be in a situation where a part of a process is required more than once. Until now you probably just duplicated the elements in order to use it in a different part of the process. But this is not the most elegant way to do this. A more sleek way to use the same part without duplicating is to enclose those parts in a separate process. This process is then called from the position the duplicated parts would normally be. The only thing which is a bit tricky is that you might have to pass some parameters, but usually can be kept within a limit.
Nevertheless, it always depends on the particular case whether it is a better way of handling such situations or not because it also has its advantages and disadvantages.
- Better reusability because they are stored centrally, so updating is only necessary in one place
- The enclosed parts can be tested separately, so when using them in other processes you can be sure they work properly
- The Workflow-Engine can handle small executions better
- The "main processes" and sub-processes can be approved and versions can be assigned separately
- It is not possible to generate a single execution log for the whole execution with the sub-process included.
- For other people, it is less comprehensible what is going on in the workflow (with general process links it is not that big of a problem as the client supports the navigation. Problematic are processes which send emails to an inbox where another process watches the emails in order to trigger. Or if a web service call triggers another process)
- The "main processes" and sub-processes can be approved and versions can be assigned separately -> some companies don't want that
Previous | Next