Workflow engine

Um motor de fluxo de trabalho é uma aplicação de software que gerencia os processos de negócios; Ele é um componente essencial na tecnologia de fluxo de trabalho e, tipicamente, faz uso de um servidor de base de dados.

Um motor de fluxo de trabalho gerencia e monitora o estado das atividades em um fluxo de trabalho, tais como por exemplo o processamento e aprovação de um formulário de pedido de empréstimo, e determina qual a nova atividade para a transição de acordo com os processos definidos (fluxos de trabalho).

As ações podem ser quaisquer atividades, desde salvar um formulário em um sistema de gerenciamento de documentos para enviar um lembrete de e-mail para os usuários, ou escalada itens atrasados ​​para a gestão. Um motor de fluxo de trabalho facilita o fluxo de informações, tarefas e eventos.
Neste contexto, os motores de fluxo de trabalho também podem se referir como um mecanismos de orquestração.

Antes de abordar as três principais funções dos mecanismos de workflow, abaixo segue o artigo “Workflow Engine e Business Process Management (BPM) aplicados à hierarquia simulada do Núcleo de Práticas em Informática” publicado nos Encontros Universitários em meados de outubro de 2015 pela Universidade Federal do Ceará (UFC), campus Quixadá, tendo como autores, nosso fundador Thiago Pereira Rosa e o professor Msc. Camilo Camilo Almendra.

Os mecanismos de workflow possuem três funções principais

1 – Verificação do status atual:
Verifica se o comando é válido na execução de uma tarefa.

2 – Determinação da autoridade dos usuários:
Verifica se o usuário atual tem permissão para executar a tarefa.

2 – Execução do script condicional:
Depois de passar as etapas anteriores, o motor de fluxo de trabalho começa a avaliar o roteiro condicional no qual os processos são realizados, se a condição for verdadeira, o motor de fluxo de trabalho executar a tarefa, e se a execução for concluído com êxito, ele retorna o sucesso, se não, ele informa o erro a fim de reverter a mudança.

Um motor de fluxo de trabalho é uma técnica de base para aplicação de software de alocação de tarefas, tais como a gestão de processos de negócio em que o motor de fluxo de trabalho atribui tarefas para diferentes executores com a comunicação de dados entre os participantes. Um motor de fluxo de trabalho pode executar qualquer sequência arbitrária de passos.

Ferramentas open source de Workflow Engine

Abaixo segue uma lista de algumas ferramentas de workflow engine.

jBPM jBpm is a flexible, extensible workflow management system. Business processes , expressed in a simple and powerfull language and packaged in process archives, serve as input for the jBpm runtime server. jBpm bridges the gap between managers and developers by giving them a common language : the jBpm Process definition language (jPdl).
Open Business Engine The Open Business Engine is an open source workflow engine written in Java. OBE workflow definitions are written in XPDL, the WfMC’s XML process definition language and are typically executed inside of a J2EE container.
WfMOpen WfMOpen is a J2EE based implementation of a workflow facility workflow engine) as proposed by the Workflow Management Coalition (WfMC) and the Object Management Group (OMG).
Micro-Flow The micro-workflow framework targets developers who want to separate the control and logic aspects in their programs, thus making them flow independent. A well-factored flow independent application facilitates change because the most frequent business changes translate into process changes, thus leaving the code intact.
JFlower JFlower is a very light workflow handler. You can write complex flow, with conditions and other flow invocations, and JFlower evaluate each step of the flow to the end of the flow.
Apache Agila A simple business process management (BPM) product that can be easily embedded in other applications and run on a range of devices, including handheld computers.
Activiti Activiti is a light-weight workflow and Business Process Management (BPM) Platform targeted at business people, developers and system admins. Its core is a super-fast and rock-solid BPMN 2 process engine for Java. It integrates perfectly with Spring, it is extremely lightweight and based on simple concepts.
Bonita Open Solution Bonita Open Solution is an intuitive and powerful open source Workflow and BPM suite: just draw your processes using a BPMN palette, then connect to your existing systems (Oracle, MySQL, LDAP, Google, Twitter, Facebook…) and run your Java Workflow application in a single click
COOPER COOPER is an open-source, powerful, light-weight, and easily configurable workflow engine. The power of COPPER is that it uses Java as a description language for workflows.
Camunda Camunda is an open source platform for workflow and business process management.
You can model and execute BPMN 2.0, CMMN 1.1 and DMN 1.1.