Partilhar via


Visão geral do 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. Os fluxos de trabalho fornecem uma maneira de descrever a ordem de execução e as relações dependentes entre partes de trabalho de curta ou longa execução. Esse trabalho passa pelo modelo do início ao fim, e as atividades podem ser executadas por pessoas ou por funções do sistema.

Motor de Execução de Workflow

Cada instância de workflow em execução é criada e mantida por um motor de execução em processo com o qual o processo anfitrião interage através de uma das seguintes opções:

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

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

  • A WorkflowServiceHost para interações baseadas em mensagens em cenários de várias instâncias.

Cada uma dessas classes encapsula o tempo de execução da atividade principal representado como um ActivityInstance responsável pela execução da atividade. Pode haver vários ActivityInstance objetos dentro de um domínio de aplicativo em execução simultânea.

Cada um dos três objetos de interação do host anteriores é criado a partir de uma árvore de atividades chamada de programa de fluxo de trabalho. Usando esses tipos ou um host personalizado que encapsula ActivityInstance, os fluxos de trabalho podem ser executados dentro de qualquer processo do Windows, incluindo aplicativos de console, aplicativos baseados em formulários, serviços do Windows, sites ASP.NET e serviços WCF (Windows Communication Foundation).

Componentes do fluxo de trabalho no processo anfitrião Componentes do fluxo de trabalho no processo anfitrião

Interação entre componentes do fluxo de trabalho

O diagrama a seguir demonstra como os componentes do fluxo de trabalho interagem uns com os outros.

Diagrama que mostra como os componentes do fluxo de trabalho interagem.

No diagrama anterior, o método Invoke da classe WorkflowInvoker é usado para invocar várias instâncias de workflow. WorkflowInvoker é usado para fluxos de trabalho leves que não precisam de gerenciamento do host; Os fluxos de trabalho que precisam de gerenciamento do host (como Bookmark retomada) devem ser executados usando Run . Não é necessário esperar que uma instância de fluxo de trabalho seja concluída antes de invocar outra; O mecanismo de tempo de execução suporta a execução simultânea de várias instâncias de fluxo de trabalho. Os fluxos de trabalho invocados são os seguintes:

Ver também