Information Technology Reference
In-Depth Information
Business users and business applications
Business processes, at least when designed correctly, are not thought to be monolithic sys-
tems that cover everything, but coordination software between other systems (the business
applications) and people (the business users). There are some differences in the way people
and systems behave and also in the way they need to be coordinated.
Humans and systems behave differently
Human activities represent the human interactions in our processes. In the BPMN 2.0 spe-
cification, they are called User tasks. Every time we have a person involved in our business
processes, we will have a human activity in our processes to represent such interaction.
When we think of human interactions in our business process execution, we think of hav-
ing a person or group of people involved in a set of activities that will produce a specific
result; the human response time to complete such activities takes minutes, or hours, or
days. So, the process engine must be prepared to handle such activities in a way it can wait
for long periods of time for the result of the task by providing asynchronous management
of those tasks in runtime configurations.
Systems, on the other hand, usually represent automatic responses. Compared to human
activities, external system activities take very small amounts of time—usually ranging from
milliseconds for the fastest cases to minutes for the slowest automated activities. Compan-
ies generally have a set of external systems exposed through well-defined interfaces that
solve very specific problems. When we need one of these services' information, we can just
call external systems (through service calls, event handling, or simple scripting) and get the
results into the process.
However, it is worth mentioning that systems may not provide automatic responses, or may
take a long time to respond. Because of this, and for many other reasons we will mention
later on, we should try to consider as many tasks in our process as asynchronous tasks.
Humans and systems - classification strategies
Systems can be classified based on their technical behavior as synchronous (the process en-
gine will wait for the completion of a task, that is, a service invocation) or asynchronous
(the system will continue its execution and wait for the external system to notify the pro-
cess engine when the task is completed, that is, a thread-managed operation), while human
Search WWH ::




Custom Search