The general understanding of workflow management or business process management is the automation of business processes. This includes orchestration of all parts of the business process, the management of all user interactions and administrative tasks.
Business processes in the scope of the Infinity Process Platform Engine are understood as a set of well-defined tasks and execution rules for them to achieve a specific goal. The execution rules include rules for the task execution, task dependencies and execution side effects. A business process should be repeatable, i.e. the tasks and rules should describe a typical problem at a generalization level matching most, if not all concrete occurrences of the problem.
It should be emphasized that the term "business process" in this sense is not restricted to a certain problem domain. The definition includes "common sense" business processes like handling a support case but also very technical processes like managing tasks in a chemical production line.
A common example is the support case handling in a company selling a specific product:
An important characteristic of many business processes is their interactive aspect involving human resources making decisions, entering data etc. Workflow management systems take care of this by providing contracts for user interactions and supporting the management of resource worklists.
Automation of processes executed manually in a business is surely the most prominent and the most basic goal of using workflow management.
Automation of business processes is seldom realizable out of the box.
It often requires a formalization of processes never performed before in a problem domain.
Also, it is often necessary to integrate existing IT infrastructure. This way, when automating processes, workflow management systems are often acting as enterprise application integration tools. The Infinity Process Platform Engine provides strong integration facilities by providing interfaces to integrate arbitrary legacy systems, protocols or storage.
Business activity monitoring allows insight into running processes providing real time information for operational and strategic decisions. It is used as the base for business process reengineering done based on the gathered information.
Conceptually, these main goals of workflow management form a circle of continuous improvement of the processes of a business:
Figure: Evolution of a Business Process Management Solution
Typical for workflow management is dividing the problem domain into a modeling phase and an execution phase.
After analyzing your business processes to be automated, you have to specify your processes in a formal manner. This is what is called the modeling phase. In the context of Infinity Process Platform products, business processes are managed as logical groups of processes called a workflow model.
After your business processes are formally specified in the modeling phase they have to be enabled for runtime execution. This task is called deployment. After deployment, the workflow management system is able to execute the processes.
The audit trail database stores all historical records of the progress of process instances from their start to completion or termination. Such information includes e.g. date, time and performer of activity instances belonging to the process.
Depending on the requirements a workflow management solution may be functional without any other system components in one case (autonomous workflow solution) or it may be functional only inside another system (embedded workflow solution). While this classification is somehow vague it shows different possible usage scenarios:
Autonomous systems have their own standalone execution environment and tend to even have their own client applications. This is often applicable when a business process management solution is started from scratch and surrounding systems can be integrated based on their APIs.
Embedded workflow systems are used from inside existing applications, using them in a more software library-like manner.
The Infinity Process Platform Engine is able to adapt to both situations. It has its own set of clients and facilities to interact with existing legacy systems. On the other hand, it has a rich API and different options of embedded execution to be managed by existing software solutions.