DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da .net Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Workflow 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






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.

 Quando utilizar workflows?

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. Em um Flowchart workflow as diversas atividades que fazem parte de um processo são agrupadas dentro de uma atividade do tipo Flowchart.

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 em questão. Assim, procurando oferecer suporte ao intercâmbio de dados entre as partes que constituem um workflow, a tecnologia Workflow Foundation disponibiliza recursos como variáveis, argumentos e expressões, utilizando para isto dos mesmos conceitos presentes numa linguagem de programação convencional.

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 em questão. Assim"



ATENÇÃO! A exibição deste artigo foi interrompida.


  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da .net Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    2 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Rodrigo Dos Santos Silveira
Porque os artigos não colocam os projetos de exemplo para download???? se tem ... onde tem?
[há +1 mês] - Responder

 

Devmedia - Equipe De Moderacao
Rodrigo, os fontes encontram-se disponíveis na página da revista.
[há +1 mês] - Responder
 



Publicidade
Autor
Renato José Groffe

Atua como consultor em atividades voltadas ao desenvolvimento de softwares há mais de 10 anos. Bacharel em Sistemas de Informação, com especialização em Engenharia de Software. Microsoft Certified Technology Specialyst (Web, WCF, Distributed Applications, ADO.NET, Windows Forms), Oracle Certified As...


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03