Este é um post disponível para assinantes MVPWorkflow Foundation - Revista .Net Magazine 93
Este artigo tem por objetivo demonstrar a construção de aplicações que automatizam processos de negócio dentro .NET framework. A fim de se cumprir tal objetivo será utilizada a tecnologia Workflow Foundation, uma tecnologia que visa a automação
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da .net Magazine 93
A rotina de uma organização compreende
processos de negócio voltados aos mais variados objetivos, com a execução
conjunta das atividades que englobam os mesmos permitindo a continuidade das operações.
Um processo deve ser entendido, em termos gerais, como um agrupamento de
tarefas relacionadas, sendo que a realização das mesmas visa atender a uma
demanda ou meta previamente traçada.
Levando em conta as peculiaridades do
ambiente empresarial, nota-se que são comuns tanto situações nas quais existem
processos completamente automatizados e que dependem fortemente de recursos de
software, assim como procedimentos cujas atividades são desempenhadas apenas
por seres humanos, e sem a utilização de meios eletrônicos. Existe ainda a
possibilidade de cenários mistos, nos quais atividades manuais são combinadas
com tarefas automatizadas, buscando-se assim o cumprimento de um determinado
objetivo de negócio.
Diante de um contexto caracterizado
por profundas e constantes alterações, muitos gestores vêm focando na automação
de diversos processos em suas respectivas áreas, buscando com isto um maior
nível de eficiência operacional em atividades corriqueiras. Tal automação
normalmente se dá, por meio da adoção de uma solução de software direcionada ao
atendimento de uma necessidade específica.
É comum que aplicações concebidas
para a automação de um processo (ou de partes deste), apresentem um código
extenso e que dificulte sua compreensão. Isto acaba por dificultar a manutenção
de tais soluções quando da necessidade de modificação de um processo, sobretudo
quando se toma como base a estrutura complexa com a qual as mesmas foram
construídas.
Considerando todos estes fatores,
inúmeras alternativas foram concebidas visando à automação de processos de
negócio por meio de recursos de software. A metodologia conhecida como BPM
(Business Process Modeling) é um exemplo, oferecendo em suas definições uma
série de técnicas para a modelagem de processos. Inúmeras ferramentas de
mercado encapsulam elementos deste paradigma, contando normalmente com mecanismos
para a modelagem gráfica de fluxos de atividades.
A Microsoft disponibiliza algumas
alternativas voltadas à automação de processos, em todos os exemplos citados a
seguir, a especificação do fluxo de atividades é realizada graficamente, sendo
que ao modelo resultante dá-se o nome de workflow:
·
BizTalk Server: plataforma centralizada para a
integração e o gerenciamento de processos de negócio;
·
Windows Workflow Foundation: permite a
construção de workflows para uso dentro da plataforma .NET;
·
Integration Services: componente do SQL Server
que permite a construção de soluções para a manipulação de dados, empregando
para isto workflows.
O objetivo deste artigo é abordar a
construção de aplicações voltadas à automação de processos de negócio, fazendo
para isto uso da tecnologia Workflow Foundation (atualmente na versão 4.0).
Para isto, serão apresentados conceitos a respeito deste framework, bem como
implementada uma solução de exemplo que demonstre o uso do mesmo.
Recomendam-se que workflows sejam
construídos em .NET em cenários nos quais, o processo em questão é de longa
duração, ou ainda, sofra alterações constantemente em sua lógica de negócio. A
possibilidade de representar visualmente o processo que se está automatizando pode
também, em muitos casos, influenciar na decisão por esta tecnologia.
Um exemplo de processo de longa duração
seriam os diversos passos que envolvem a aprovação de despesas: inicia-se pelo
lançamento por parte de um funcionário de um gasto que ainda será efetuado,
passando ainda por etapas de aprovação do departamento responsável, e por fim,
da área financeira da organização. Processos da área de suprimentos e da área
produtiva, também representam situações que se enquadram neste perfil.
Considerando tudo isto, as aplicações responsáveis pelo controle destes tipos
de procedimentos, precisam ser capazes de controlar prováveis paradas entre
diferentes etapas. Implementar partindo do zero, e com técnicas convencionais
não é nada fácil, sendo o framework Workflow Foundation uma alternativa a
demandas como estas.
Outros cenários válidos para o uso de
workflows são situações nas quais, aspectos legais conduzem devido aos mais variados motivos, a
mudanças frequentes nas regras de funcionamento de processos. Mudanças podem
ser efetuadas de maneira rápida num workflow, dispensando muitas vezes novos
trechos extensos de código ao longo de um projeto.
Windows
Workflow Foundation: uma visão geral
O framework Workflow Foundation pode
ser descrito, basicamente, como uma tecnologia voltada à construção de
workflows voltados que implementam de forma automatizada partes, ou ainda, todo
um processo de negócio. A elaboração de um workflow acontece dentro do Visual
Studio, o qual conta com um editor gráfico para a modelagem das interações
entre diferentes tipos de atividade.
Workflows podem ser gerados em uma
biblioteca separada para posterior reuso por outras soluções em .NET, dentro de
uma aplicação, ou ainda, como um serviço WCF (a aplicações deste último tipo
dá-se o nome de Workflow Services). O modelo que corresponde a um workflow é um
arquivo de extensão .xaml (ou .xamlx no caso de um Workflow Service).
O elemento básico para a montagem de
um workflow é uma atividade. O .NET Framework disponibiliza dentro do namespace
System.Activities diversos de tipos de atividades que podem ser facilmente
configuradas para a construção de processos.
Basicamente, workflows criados através deste framework podem ser
classificados em 2 tipos:
·
Sequential workflow: o fluxo de execução das
atividades ocorre passo-a-passo, sendo possível ainda o uso de desvios
condicionais dentro da lógica que se está elaborando. Seu uso é recomendado na
modelagem de processos mais simplificados e sem intervenção humana, sendo
equivalentes a rotinas escritas de maneira procedural dentro de uma linguagem
de programação. Dentro deste modelo, as diversas atividades que constituem o
processo são agrupadas dentro de uma atividade principal do tipo Sequence;
·
Flowchart workflow: permite a modelagem de um
processo num padrão gráfico similar a um diagrama de atividades UML. São úteis
na representação de processos com uma estrutura sequencial, mas que também
contam com loops que desviam o fluxo de execução para estados anteriores.
Diferentemente de um Sequential workflow, este tipo de workflow é recomendável
na modelagem de processos que também contem com interações humanas.
As interações entre as atividades que
compõem um workflow envolverão, em grande parte dos casos, o fluxo de
informações de um ponto a outro do processo
Variáveis apresentam, dentro de um
workflow, um escopo a partir do qual a utilização das mesmas é válida. Pode-se definir
que tal escopo corresponda a todo o workflow, ou ainda, que a utilização de uma
variável seja possível apenas dentro de um conjunto de atividades (as quais
podem estar agrupadas sob a forma de uma atividade do tipo Sequence ou
Flowchart).
As interações entre as atividades que
constituem um workflow envolverão o fluxo de informações de um ponto a outro do
processo
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Space do autor



0
0
