Workflows em Java: Criando e mantendo fluxos de trabalho em Java
Implemente soluções de workflow, utilizando a ferramenta OSWorkflow, para automatizar processos.
Clique aqui para ler esse artigo em PDF.
Workflows em Java
Criando e mantendo fluxos de trabalho em Java
Implemente soluções de workflow, utilizando a ferramenta OSWorkflow, para automatizar processos.
Com a crescente necessidade de automação dos processos nas organizações, a demanda por aplicações com características de um sistema de workflow torna-se cada vez mais significativa. Diversos processos presentes no dia-a-dia podem ser automatizados, desde atividades simples, como solicitação e aprovação de férias, até as mais complexas, como o acompanhamento de compras em lojas de comércio eletrônico.
Neste segundo caso, por exemplo, o processo geralmente assume um caráter de grande importância estratégica. Os gestores passam a necessitar de ferramentas para realizar análises sobre o fluxo, identificando, dentre outros detalhes, quais passos atrasam, ou qual setor é mais ocioso, com isso apoiando a tomada de decisões.
Desenvolver soluções para atender a essas demandas, que possuem requisitos específicos, pode não ser uma tarefa trivial, principalmente se a implementação partir "do zero". Portanto, entender como modelar um workflow e utilizar bibliotecas que suportem as funcionalidade necessárias se torna fator crítico de sucesso.
Neste contexto, abordaremos neste artigo conceitos sobre workflow e realizaremos a análise, passo-a-passo, da implementação de uma solução adotando o OSWorkflow, da OpenSymphony.
Conceitos de workflow
Conforme a Workflow Management Coalition (WMC), organização internacional especializada no assunto, “workflow” é a automação de um processo de negócio, no todo ou em parte, durante o qual documentos, informações ou tarefas são transferidas entre participantes do processo, de acordo com um conjunto definido de regras, para alcançar um determinado objetivo.
Pode-se dizer que o objetivo principal de uma solução de workflow é aumentar a eficiência de processos, tanto os críticos e rotineiros quanto os eventuais, e a efetividade das pessoas que trabalham em conjunto para executá-los. Ou seja, quando adotamos uma solução desse tipo, esperamos alcançar vários benefícios. Por exemplo, o aumento de produtividade com a eliminação de passos desnecessários; o melhor controle de processos com a padronização do método de trabalho; e maior flexibilidade com a possibilidade de alterar o fluxo de negócio de maneira mais simples.
De forma resumida, pode-se considerar que um workflow é composto por um conjunto de passos, conectados entre si através de transições. Cada passo possui uma ou mais ações. Essas ações podem ser executadas pelos usuários, como o preenchimento de um formulário eletrônico; ou pelo próprio sistema, como a execução de um cálculo ou envio de e-mail. O resultado da execução de uma ação pode resultar na mudança de passo, através de uma transição, ou então no fim do workflow. A Figura 1 exemplifica esta idéia.
Figura 1. Exemplo Simplificado de Workflow.
Outro importante conceito envolve a idéia de Sistemas de Gerenciamento de Workflow (Workflow Management Systems – WFM). Um WFM define e gerencia a execução de um ou vários workflows, através da utilização de softwares que interpretam como os processos devem ser executados e em qual ordem. A maior parte dos WFMs interage com outras aplicações, como bancos de dados e serviços de e-mail, estruturando um fluxo que envolve diversos sistemas independentes. Os WFMs são conhecidos também como engines de workflow.
Um exemplo: Loja virtual
Finalizando esta primeira parte, modelaremos um workflow simplificado para nosso estudo de caso: uma transação eletrônica em uma loja virtual (veja a Figura 2).
O workflow inicia quando o cliente finaliza uma compra, através de uma aplicação web, colocando automaticamente o pedido no passo "Análise de Pedido". Neste passo, os dados sobre cadastro do cliente e estoque são verificados de forma automática. Caso não haja impedimentos, o pedido é encaminhado para o passo “Processamento”; caso contrário, é enviado para o passo “Cancelados”. No passo “Processamento”, pode ocorrer a interação com sistemas externos para realizar a cobrança, passando o pedido para o passo “Expedição”. Neste passo, o sistema aguarda a interação do expedidor para informar se o pedido já foi enviado. E por fim, após a Expedição, o pedido vai para o passo de “Finalizados”, concluindo o workflow.
O que chamamos de passo, neste artigo, também pode ser encontrado na literatura como atividade, tarefa ou nó.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo