What is a workflow system?

How can I distinguish a Workflow system from a regular application that automates some work? Is there any feature that a system should be classified as a workflow system?

+4
source share
5 answers

Workflow systems manage objects (often logically or with actual electronic replacements for documents) that have an associated state. The state of an object in a node system in a state machine (or Petri net ).

State transitions move an object from one state to another. Transitions can be triggered by people, automatic events, timers, calendars, etc. Usually transitions are steps in a process in the real world.

This is pretty abstract, so consider an example: bug tracking software. The error report probably starts without verification, and as such is in the queue of the QA tester. The QA tester will check the reliability of the report and make sure that the steps are clear, evaluate the severity report, etc. And assign it to the developer or development team. Then it is in the development lineup, which will ultimately fix or decide not to fix the error, which will return it back to QA for verification. If there is a dispute over an error, it can go into a state in which it bubbles onto the control stack.

A trivial implementation of the above is to use an enumeration for the state associated with each object, and to make all incoming messages - this is a query for objects with a state of a certain enumeration value.

This is the essence, but things can get complicated, for example, splitting new objects, responding to inhuman events, such as synchronization, internal or external (i.e. third-party) services, etc.

+9
source

A workflow management system pushes users to a process that captures more than one function within the system and potentially more than one participant in the workflow. The workflow mechanism is aware of the state of the process and commits it to its own repository, which may or may not be part of the main application database.

Workflows can be modeled using machine state , petri nets, or various other constructs , including plain old scripting languages. An independent system can be used to manage workflows in multiple applications. Many (but not all) support BPEL (Business Process Execution Language) as the standard description language for workflows. If your applications are configured as a service-oriented architecture , a workflow system can control the functionality of the application for this. Another feature of the workflow mechanism is that it should be possible to interrupt the workflow and undo any state changes, while maintaining database consistency .

www.workflowpatterns.com contains a set of documents about workflow systems, as well as a library of templates.

Examples of workflow applications:

  • Administration of insurance claims. In fact, their cartridge. Typically, this process will have rules covering those who can authorize, who can process claims for different classes of business, which documents must be present and be related to provide an audit trail, issue and track the issue of payments, and allow work on loss adjustment, A typical claims processing process will track the request for notification of the resolution of reserves and payments by issuing a payment with side processes to organize work on the correction of losses Life (possibly through third parties), with the holding of powers to pay until then, until it is completed and released and paying losses. In practice, these processes can be complicated.

  • Ordering, quoting, and managing the configuration of a complex product, such as a computer system.

  • One unusual example was a system developed by a pharmaceutical manufacturer that tracked the approval process of a new pharmaceutical product. It also included an expert system in which a coded regulatory framework was encoded in it and could choose the shortest path through regulatory hoops. This has reduced the average R & D lifetime in the market from 9 years to 5.5 years.

+4
source

I would consider the application as a document management system if the user is guided by a business process without having to refer to any external documentation of this business process.

Expanding on the example of Barry error tracking, I would say that your error tracking application is a workflow application if, for example, there is a button called “Close”, that when you click transitions, the error in the closed state may allow the user to close the comment records the timestamp and username, and then sends an email notification.

This is not a workflow system, if the user must select a new state from the drop-down list, and then send an email notification.

+1
source

I am not sure there is an exact definition. Here are some free criteria:

  • coordinates the work of more than one person (but not a group),
  • in complex organizational setup
  • usually as part of a managed business process (as in BPM).
0
source

What is a workflow?

Automation of a business process, in whole or in part, during which documents, information or tasks from one participant * to another for action, according to a set of procedural rules.

*participant = resource (human or machine) 

In my opinion, there are two types of workflows in terms of software. Static (or embedded) workflow and dynamic (programmable) workflow. Many methods for managing documents, tracking errors, or even blogging software have a built-in workflow using a simple state transition.

When people say “workflow”, I think that they usually mean those that you can program business logic into some existing software, for example, if the inventory is short on carrots, call sysco automatically.

For a real example workflow function, see Microsoft Dynamics CRM .

0
source

All Articles