Blog Viewer

BPM Map Elements

  

Once the BPM file exists, the process of building a BPM workflow in your application continues with creating a BPM map in the Map tab, which you then map to the XML and C# properties required to use the workflow to update application data, and to track users' progress through the process. The major categories of the graphical elements available to map any given process are:

  • Pool
  • Lane
  • Event
  • Gateway
  • Task
  • Message Flow
  • Text Annotation
  • Call Activity


Pool

You can think of one pool as one process. Your map must contain at least one pool, and you can include any number of pools. The pool can be synchronous (meaning the BPM engine skips queuing it and initiates it immediately) with other pools; and it can have an SLA timer in days, hours, or minutes expected to complete the process.


Lane

A lane contains all the elements that fall under the auspices of an individual user, or role. Any pool must contain at least one lane, and you can include any number of lanes; but you will always have one lane per actor in your pool.


Event

An event is something that triggers or ends a process or task. There are three possible events:

  • Start Event: This triggers the process in the pool. Each pool will have one and only one start event, barring call activities.
  • End Event: This ends the process in the pool. Each pool will have at least one end event, and may have more than one.
  • Intermediate Catch Event: This indicates the actor must wait for some other event to take place before continuing the process. Such an event can only be either a message or the passage of a specific amount of time. A pool may contain any number of intermediate catch events, including none at all.


Gateway

A gateway is a decision point that determines the path the actor will take. There are four possible gateways:

  • Exclusive Gateway: Multiple paths are available, but only one can be taken.
  • Inclusive Gateway: Multiple paths are available, and more than one path can be taken. Inclusive gateways generally come in pairs: first, there is one with multiple paths out; and later, there is one where all those paths converge.
  • Parallel Gateway: Multiple paths are available, and all the paths will be taken. Parallel gateways generally come in pairs: first, there is one with multiple paths out; and later, there is one where all those paths converge.
  • Event Gateway: A special kind of gateway that only continue to an intermediate catch event.


Task

A task is like a process step. They are where the work happens, and can be synchronous. There are four possible tasks:

  • Task (undefined): This is a generic task. Its only purpose is to be a placeholder where you can note that a task is supposed to happen, but you don't yet know who or what will be doing that task. A finished BPM map should never have any undefined tasks, because you will not be able to map or deploy it.
  • User Task: This is a task that occurs inside the application. It involves a user in the application creating or editing some data on application screens. Like pools, it can have an SLA timer.
  • Business Rule Task: This means the application will evaluate some entity business rule and then act accordingly.
  • Service Task: This means the application will call some method/scalar query from a C# business object/entity.


Message Flow

Any communication that happens across the process is the message flow. There are two types of message flow:

  • Initiating Message: Any message that initiates upon the activity's initiation.
  • Non Initiating Message: Any message that initiates upon the activity's completion. This is the default message flow.


Text Annotation

This has no impact on the process. It's just a textbox you can freely enter text in, should you wish to expand upon any of the other elements in the pool.


Call Activity

This is a separate activity configured with its own map that you want to run within your pool. It's very common to call an activity for sending a communication within another activity. For example, in a retirement plan application, a member requests a benefit estimate. The application will have a process that creates that estimate, and that process will likely call a communication process to send that estimate, wait for a response from the member, and further trigger processes based on the member's response (create another estimate, process a benefits application for the estimated benefit, etc.).

This post is part of the BPM topic. Click here to open the BPM Overview.

0 comments
40 views

Permalink