The blog post Workflow Engine vs Business Event System provided a comparison between the two major workflow execution engines. This blog post will demonstrate methods where one execution engine may utilize the other.
Using the standard EVENT activity, it is possible to raise, send, and receive an event in a workflow process.
The option to raise or send an event would be set in the Event Action field under the Event properties tab. The figure below shows a workflow process that raises an event whose name and key are determined via item attributes.
Alternatively, the figure below shows a workflow process that sends an event whose name and key are determined via item attributes. Note that additional information, such as Out Agent and To Agent, could be provided in this case.
For business events to be of value they have to cause some other actions to happen. Those actions could include launching of workflow processes. By creating a subscription for the business event, this subscription could have an action type of launching a workflow process. The figure below shows such an event and subscription.
But the workflow process has to have an WFSTD EVENT activity to receive an event. The figure below shows a workflow process that is actually initiated by any event that has a subscription to launch this process. The details of the event, such as its name and key, are captured by the EVENT activity via item attributes and reported in the FYI notification.
To receive a specific event, an event name has to be entered in the Event Filter field under the Event properties tab. The figure below shows a workflow process that could be initiated by 3 specific events of interest, provided each have a subscription to launch this process. Each Receive event activity in the below figure uses a specific event name in the Event Filter field.