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.

Mecanismo de tempo de execução do fluxo de trabalho

Cada instância de fluxo de trabalho em execução é criada e mantida por um mecanismo de tempo de execução em processo com o qual o processo do host interage por meio de um dos seguintes:

  • 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 , os fluxos de trabalho podem ser executados dentro de ActivityInstancequalquer processo do Windows, incluindo aplicativos de console, aplicativos baseados em formulários, Serviços do Windows ASP.NET sites e serviços WCF (Windows Communication Foundation).

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

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.

Diagram that shows how workflow components interact.

No diagrama anterior, o Invoke método da classe é usado para invocar várias instâncias de fluxo de WorkflowInvoker trabalho. 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:

Consulte também