• Nenhum resultado encontrado

3.3 Tecnologia de Workflow

3.3.2 Modelo de Referência da WfMC

Em 1995, a WfMC[38] propôs um modelo de referência constituído de uma arquitetura genérica de sistema de workflow, conforme descrita na Figura 3.10. O objetivo deste modelo é dar suporte a diversas tecnologias, definindo interfaces e protocolos para a comunicação entre as ferramentas existentes, aumentando seu poder de integração com outros sistemas.

Figura 3.10: Modelo de Referência WfMC

Na Figura 3.10, cada interface interagem com um determinado conjunto de serviços externos ao ambiente. A seguir é apresentado a descrição de cada interface, segundo Araújo[14].

Interface 1 - Descrição do Processo: Permite escolher várias ferramentas de mode- lagem de processos. Está apoiada em uma interface de importação/exportação de descrição de processos. O ato de definir os processos, deve conter todas as infor- mações necessárias, tais como condições de início e término, atividade, regras, etc.

1

Interface 2 - Aplicações Cliente: Permite a construção de um gerente de lista de tra- balho comum e prover uma única forma de gerenciamento para diversos sistemas de workflow, o que independe do Sistema de Gerenciamento de Workflow em uso. Tal fato, possibilita a oferta de serviços de sistemas distintos combinados na mesma interface, como se fosse uma única máquina de workflow.

Interface 3 - Integração com Ferramentas e Aplicações Externas: Permite que aplicações ou ferramentas externas sejam utilizadas de forma padronizada, e o desen- volvimento de agentes de aplicações padronizados para interagir com as aplicações. Sistemas externos requisitados e clientes de workflow são aqueles que podem se integrar e comunicar com o motor do workflow. A comunicação entre o motor de workflow com outras aplicações é de fundamental importância, tornando-o muito mais poderoso. As interfaces que proporcionam esta comunicação têm sido combinadas e convertidas em WAPIS (workflow API’S ).

Interface 4 - Interoperabilidade entre Máquinas de Workflow: Possibilita ao de- senvolvimento de aplicação de automação de processos usando diferentes produtos. Permite que aplicações de workflow heterogêneas compartilhem dados relevantes ou aplicação em momentos apropriados ao processos.

Interface 5 - Administração e Gerência: Tratam do monitoramento de processos e dos componentes internos do workflow.

O motor do workflow é o componente mais importante do Sistema de Gerenciamento de Workflow, sendo o núcleo da arquitetura responsável pela gerência e controle de todos os componentes existentes, execução da sequência de atividades, ativação de aplicativos externos e criação de instâncias de processos[1]. Na verdade, é basicamente um escalon- ador, que organiza o trabalho a ser feito e atribui aos diversos recursos disponíveis ao sistema.

Assim, dada uma instância de um processo, o motor de workflow busca a definição deste em um repositório. Em seguida, ativa os nós a serem executados, no caso os dire- tamente ligados aos nós de início. Se forem nós de encaminhamento, avalia as condições presentes e escolhe o caminho que deve ser seguido. Se for um nó de trabalho então, atribui este trabalho à fila de um recurso selecionado. Quando o recurso estiver pronto para processar uma nova atividade, busca na fila esta atividade e a executa, devolvendo o resultado ao motor de workflow (colocando na fila do motor de workflow).

O trabalho referido anteriormente, pode assumir variadas formas, como enviar uma mensagem, enviar um formulário a ser preenchido por um utilizador, executar um co- mando numa base de dados. Todavia, para o WfMS estas atividades são todas iguais, não passando de mensagens que podem ser executadas por um determinado recurso. A

maneira como o recurso as trata, é completamente ignorada pelo WfMS. A fila de espera de trabalho de cada recurso não necessariamente é executada de forma FIFO2, o recurso

pode escolher o que quer fazer.

As principais etapas que compõem toda a fase de automação do workflow são a mode- lagem de processos, a execução destes e o acompanhamento ou gerenciamento da execução. Um modelo de workflow possibilita a visualização das atividades que devem ser execu- tadas, a ordem de execução e o controle de fluxo. A definição de um Modelo de workflow pode ser representada através de um grafo.

Modelo de Processos

A definição de um processo pode ser representada de forma gráfica, como dito ante- riormente. Para isto, adota-se um modelo de workflow no qual é possível definir vários aspectos de um fluxo de trabalho[71] e para o qual foi desenvolvida uma representação gráfica utilizando símbolos e textos para descrever todos os elementos envolvidos em um workflow. Sizilio[66] apresenta esta representação gráfica, onde os símbolos podem ser vistos na Figura 3.11.

Figura 3.11: Símbolos da representação gráfica de um workflow[71]

Os símbolos representam o início e o fim do workflow, as tarefas, as conexões que podem existir entre os elementos, a modularização das tarefas, os diferentes tipos de junções(joins) e os diferentes tipos de separações(forks). As conexões definidas como forks, determinam que a tarefa seja seguida por múltiplas tarefas sucessoras. Existem quatro tipos de forks[66]:

• Total : todas as atividades que seguem a tarefa são habilitadas com o seu término; • Não-determinístico: Um número qualquer de atividades é habilitado a prosseguir,

mas não todas;

2

• Condicional: Apenas será habilitada a prosseguir atividades sucessoras que cumprirem

certos requisitos;

• Condicional com exclusão mútua: As atividades sucessoras são avaliadas e somente uma delas é escolhida para prosseguir.

Nas conexões do tipo join, uma atividade é precedida por múltiplas tarefas diferente. As conexões do tipo join podem ser totais, parciais ou interativas[66]:

• Total: Somente habilita a tarefa sucessora se todas as tarefas predecessoras forem completadas;

• Parcial: Define que a tarefa sucessora pode ser executada assim que certo número

de tarefas antecessoras for completadas, não todas;

• Interativo: define que a tarefa sucessora será executada a cada término de um número de tarefas.

Uma supertarefa é a modularização do workflow, o qual reúne várias tarefas num só símbolo e uma multitarefa reúne uma série de tarefas que podem ser executadas em paralelo.

Figura 3.12: Exemplo de Workflow[71]

O workflow da Figura3.12 apresenta os procedimentos para o registro de uma venda. A primeira atividade, consiste em cadastrar a venda. Depois, paralelamente são feitos os registros da venda no setor de contabilidade e no controle de estoque. Quando os dois registros finalizarem o processo é encerrado.

As interações com os agentes, sejam eles humanos ou software, é parte fundamental em aplicações de workflow. Em workflow todos os dados são representados através de XML (Extensible Markup Language).

Figura 3.13: Representações das abordagens RET e RIT [1]

A WfMC desenvolveu uma linguagem baseada em XML chamada XPDL( XML Pro- cessing Description language), com o objetivo de servir como modelo para representação de processo de workflow padrão. O XPDL é um arquivo XML, que segue uma estrutura pré-determinada e representa o desenho de um fluxograma modelado a partir da ferra- menta de definição de processo. A especificação do XPDL baseia-se na descrição de um conjunto de atividades relacionadas entre si através de transições.

As transições podem ser representadas de duas formas[1]: Explícitas ou Implícitas. Na Representação explícita de transições (RET) existe um elemento XML para deno- tar a transição de forma explícita, Figura 3.13(b). A Representação Implícita de Tran- sições(RIT), diferentemente da explícita, apresenta uma estrutura que determina como será construído o fluxo de controle do workflow, Figura3.13 (c).

Portanto, como pode-se perceber workflow é um conceito intimamente relacionado à reengenharia e automação de negócios e de processos de informação em uma organização. Algumas vantagens do uso de WfMS podem ser destacadas[59]:

• Conhecimento do status do processo a cada instante, possibilitando saber quais participantes estão atuando, quais serão os próximos a atuar, e quando, etc.;

• O WfMS coordena a execução das atividades automaticamente com o uso de agendas

e trocas de mensagens eletrônicas com os participantes.

• Eficiência melhorada - A automação de muitos processos de negócios resulta na

eliminação de muitos passos desnecessários;

• Melhoria do controle de processo - Um melhor gerenciamento de processos de negó-

cios é atingido por meio da padronização dos métodos de trabalho e da disponibili- dade de registros para auditoria;

• Flexibilidade - O controle dos processos via software permite o re-projeto em linha

com as necessidades de mudança no negócio, e

• Melhoria no processo de negócio - O foco nos processos de negócio levam à obtenção de processos mais eficientes e simples.

Porém a geração automática de modelos de processo é uma área ainda a ser explorada. Segundo Alves [1] o problema de workflow é difícil devido ao tamanho das instâncias que geram um grande espaço de busca e exigem muito tempo de processamento.

Documentos relacionados