Compartilhar via


Visão geral de fluxo de trabalho do Windows

Um fluxo de trabalho é um conjunto de unidades elementares chamadas atividades que são armazenadas como um modelo que descreve um processo do mundo real. Fluxos de trabalho fornecem uma maneira de descrever a ordem de relações de execução e dependentes entre partes de trabalho ou longo tempo. Este trabalho passa pelo modelo do início ao final, e as atividades podem ser executadas por pessoas ou funções do sistema.

Mecanismo de fluxo de trabalho

Cada instância em execução de fluxo de trabalho é criado e mantido por um mecanismo em processo de tempo de execução que o processo host interage com o direto do seguinte:

  • WorkflowInvoker, que chama o fluxo de trabalho como um método.

  • WorkflowApplication para o controle explícito sobre a execução de uma única instância de fluxo de trabalho.

  • WorkflowServiceHost para interações mensagem- com base em cenários de várias instâncias.

Cada uma dessas classes envolve o runtime de atividade de núcleo representado como ActivityInstance responsável pela atividade de execução. Pode haver vários objetos de ActivityInstance dentro de um domínio de aplicativo executando simultaneamente.

Cada um dos três objetos de precedência de interação host é criado de uma árvore de atividades conhecido como um programa de fluxo de trabalho. Usando esses tipos ou um host personalizado que encapsula ActivityInstance, os fluxos de trabalho podem ser executados em qualquer processo do Windows que inclua aplicativos de console, aplicativos com base em formulários, Serviços do Windows, sites do ASP.NET e serviços do WCF (Windows Communication Foundation).

Workflow components in the host process
Componentes de fluxo de trabalho no processo do host

Interação entre componentes de fluxo de trabalho

O diagrama a seguir demonstra como os componentes de fluxo de trabalho interagem um com o outro.

Diagram that shows how workflow components interact.

No diagrama anterior, o método de Invoke da classe de WorkflowInvoker é usado para chamar várias instâncias de fluxo de trabalho. WorkflowInvoker é usado para fluxos de trabalho leve que não precisam o gerenciamento de host; fluxos de trabalho que precisam o gerenciamento de host (como a ressunção de Bookmark ) devem ser executados usando Run em vez disso. Não é necessário esperar uma instância de fluxo de trabalho para terminar antes de chamar outra; suporte de mecanismo de runtime que executam várias o fluxo de trabalho instância como exemplo simultaneamente. Fluxos de trabalho são chamados como segue:

Confira também