Conceitos básicos sobre os fluxos de trabalho do SharePoint

Fornece uma visão geral de alto nível da infraestrutura dos fluxos de trabalho no SharePoint, incluindo uma exibição da arquitetura da plataforma e a ponte de interoperabilidade dos fluxos de trabalho.

Observação

O fluxo de trabalho do SharePoint 2013 está preterido desde abril de 2023 e será desativado para novos locatários a partir de 2 de abril de 2024. Ele será removido dos locatários existentes e será totalmente aposentado a partir de 2 de abril de 2026. Se você estiver usando o fluxo de trabalho do SharePoint 2013, recomendamos migrar para o Power Automate ou outras soluções com suporte. Para obter mais informações, confira a aposentadoria do fluxo de trabalho do SharePoint 2013 no Microsoft 365. Os fluxos de trabalho do Microsoft Office SharePoint Online 2010 foram desativados desde 1º de agosto de 2020 para novos locatários e removidos de locatários existentes em 1º de novembro de 2020. Se você estiver usando fluxos de trabalho do Microsoft Office SharePoint Online 2010, recomendamos a migração para o Power Automate ou outras soluções suportadas. Para mais informações, confira Retirada do fluxo de trabalho do Microsoft Office SharePoint Online 2010.

Visão geral dos fluxos de trabalho no SharePoint

Os fluxos de trabalho do SharePoint usam o Windows Workflow Foundation 4, que foi bastante reprojetado e a partir de versões anteriores. O WF (Windows Workflow Foundation), por sua vez, é criado na funcionalidade de mensagens fornecida pelo Windows Communication Foundation (WCF).

Conceitualmente, o modelo de fluxos de trabalho estruturados processos de negócios. Portanto, os fluxos de trabalho Windows Workflow Foundation 4 são um conjunto estruturado de fluxo de trabalho "atividades", cada um deles representa um componente funcional de um processo comercial.

A plataforma de fluxo de trabalho em SharePoint usa o modelo de atividade de Windows Workflow Foundation 4 para representar um processo corporativo baseado no SharePoint. Além disso, SharePoint introduz um modelo de entrada do estágio de nível mais alto no qual você deseja criar fluxos de trabalho.

É importante observar a relação entre as atividades do fluxo de trabalho e o SharePointações. Atividades de fluxo de trabalho representam os objetos gerenciados subjacentes cujos métodos unidade comportamentos de fluxo de trabalho. Ações de fluxo de trabalho, por outro lado, são invólucros que encapsulam as atividades subjacentes e apresentação-los em um formulário de fácil utilização no SharePoint Designer. Os autores de fluxo de trabalho interagem com as ações de fluxo de trabalho, enquanto o mecanismo de execução do fluxo de trabalho atua nas atividades correspondentes.

As atividades, que são implementações de classes de atividade, são implementadas de forma declarativa usando XAML.

Atividades de fluxo de trabalho forem invocadas usando serviços da web menos rígida que usam APIs de mensagens para se comunicar com o SharePoint. Essas APIs são baseadas na funcionalidade de mensagens fornecida pelo WCF (Windows Communication Foundation).

A estrutura de mensagens é muito flexível e tem suporte para praticamente qualquer padrão de mensagens de que você precise. Tenha em mente que, em um farm do SharePoint, o Windows Workflow Foundation e o WCF estão hospedados no Cliente do Gerenciador de Fluxos de Trabalho 1.0.

O Cliente do Gerenciador de Fluxos de Trabalho 1.0, o SharePoint e o SharePoint Designer 2013 fornecem partes significativas da nova infraestrutura:

  • Workflow Manager Client 1.0 fornece o gerenciamento das definições de fluxo de trabalho. Ele também hospeda os processos de execução para instâncias de fluxo de trabalho.

  • O SharePoint fornece a estrutura para os fluxos de trabalho do SharePoint, quais modelos de processos de negócios baseados no SharePoint envolvem documentos, listas, usuários e tarefas do SharePoint. Além disso, fluxos de trabalho, associações, atividades e outros metadados de fluxo de trabalho do SharePoint são armazenados e gerenciados no SharePoint.

  • SharePoint Designer 2013 é a ferramenta principal do usuário de negócios para criar definições de fluxo de trabalho e publicá-las, como era nas versões anteriores. Ele também pode ser usado para empacotar uma definição de fluxo de trabalho com ou sem componentes associados do SharePoint.

Arquitetura de plataforma

A Figura 1 representa uma visão de alto nível de fluxo de trabalho do SharePoint. Primeiro, veja como a nova infraestrutura de fluxo de trabalho apresenta o Cliente do Gerenciador de Fluxo de Trabalho 1.0 como o novo host de execução do fluxo de trabalho. Em versões anteriores, a execução do fluxo de trabalho ficava hospedada no próprio SharePoint, mas isso foi alterado no SharePoint. Workflow Manager Client 1.0 é externo ao SharePoint e se comunica usando protocolos mais comuns sobre o barramento de serviço Microsoft Azure, mediado pelo OAuth. Caso contrário, o SharePoint inclui o recurso que você esperaria ver: conteúdo de itens, eventos, aplicativos e assim por diante. Mas, observe que também há uma implementação do host de fluxo de trabalho (ou seja, o mecanismo de Windows Workflow Foundation 3) SharePoint 2010 para compatibilidade com versões anteriores. Você pode ler mais sobre isso em Usar interoperabilidade de fluxo de trabalho para o SharePoint.

Figura 1. Arquitetura de alto nível da infraestrutura de fluxo de trabalho

High-level workflow architecture

O Cliente do Gerenciador de Fluxo de Trabalho 1.0 é representado no SharePoint na forma do Proxy do Aplicativo Cliente do Gerenciador de Fluxo de Trabalho 1.0. Esse componente permite que o SharePoint para se comunicar e interagir com o servidor de Workflow Manager Client 1.0. Autenticação de servidor-para-servidor é fornecida usando OAuth.

Eventos do SharePoint para o qual um fluxo de trabalho está escutando, como itemCreated, itemUpdatede assim por diante, são roteadas para Workflow Manager Client 1.0 usando o barramento de serviço Microsoft Azure. Para a retorno viagem, a plataforma usa o SharePoint Representational State Transfer (REST) API façam chamadas de volta no SharePoint.

Também há adições ao modelo de objeto de fluxo de trabalho do SharePoint, chamado coletivamente o Gerenciador de serviços de fluxo de trabalho, que permitem a você gerenciar e controlar seus fluxos de trabalho e sua execução. As zonas principais de interação para os serviços manager são implantação, sistema de mensagens, controle de instância e (para compatibilidade com versões anteriores) interoperabilidade com SharePoint 2010 fluxos de trabalho.

Por fim, há o componente de criação de fluxo de trabalho. Agora, o SharePoint Designer pode criar e implantar os fluxos de trabalho do SharePoint 2010 e do SharePoint. Visual Studio 2012 não apenas fornece uma superfície de designer para criar fluxos de trabalho declarativos, mas também pode criar soluções que integram totalmente a funcionalidade de Workflow Manager Client 1.0 e Suplementos do SharePoint.

Associações e assinaturas de fluxo de trabalho

Como a alteração mais significativa em relação aos fluxos de trabalho do SharePoint é a passagem do processamento de fluxo de trabalho para hosts de fluxo de trabalho externo, como o Microsoft Azure, foi fundamental para as mensagens e os eventos do SharePoint se conectarem à infraestrutura de fluxo de trabalho do Microsoft Azure. Além disso, era necessário para Microsoft Azure conectar-se a infraestrutura para os dados do cliente. Associações de fluxo de trabalho (que são compiladas em conceito de inscrições WF) são as partes de infraestrutura do SharePoint que oferecem suporte a esses requisitos.

Publicação/serviço de assinatura do Microsoft Azure

Antes de você pode discutir assinaturas e associações de fluxo de trabalho, você deve examinar o Microsoft Azure o serviço de publicação/assinatura, que é conhecida como pub/subou simplesmente PubSubàs vezes. PubSub é uma estrutura de mensagens assíncrona. Remetentes de mensagens (editores) não enviam mensagens diretamente para os receptores de mensagens (assinantes). Em vez disso, as mensagens são renderizadas pelos editores como classes que não tem nenhum conhecimento dos assinantes mensagem. Os assinantes, em seguida, consumam mensagens publicadas identificando mensagens de interesse, independentemente do fornecedor, com base em assinaturas que eles criaram.

Este desanexar da criação de mensagem devido ao consumo de mensagem permite a escalabilidade e a flexibilidade. Permite que mensagens multicast no lado do publisher e para o consumo de mensagem promíscuo no lado do assinante.

Observação

[!OBSERVAçãO] O recurso de PubSub é parte do Microsoft Azure barramento de serviço, que fornece opções de conectividade para WCF e outros pontos de extremidade de serviço. Eles incluem os pontos de extremidade do REST, que podem ser localizados atrás das fronteiras da rede endereço NAT (conversão) ou vinculados ao estão sempre mudando, atribuído dinamicamente endereços IP ou ambos. Para obter mais informações sobre o Barramento de Serviço do Azure, consulte Barramento de Serviço.

Associações de fluxo de trabalho e escopo de associação

Associações de fluxo de trabalho acoplar definições de fluxo de trabalho para o escopo específico do SharePoint, com valores padrão específicos. As associações sozinhos representam um conjunto de regras de assinatura que são armazenadas no serviço de publicação/assinatura do Azure que processar as mensagens de entrada para garantir que eles são consumidos por apropriado (isto é, se inscreveu) instâncias de fluxo de trabalho.

Por padrão, a infraestrutura de mensagens oferece suporte a fluxos de trabalho em escopos a seguir:

  • SPList (para fluxos de trabalho de lista)

  • SPWeb (para fluxos de trabalho de site)

Diferentemente das versões anteriores, o SharePoint não oferece suporte a fluxos de trabalho que sejam delimitados a um tipo de conteúdo (SPContentType). No entanto, a infraestrutura de mensagens é extensível, portanto, ele pode oferecer suporte a qualquer escopo arbitrário. Como um desenvolvedor, você pode definir a propriedade EventSourceId em uma instância de determinado WorkflowSubscription para qualquer guid. Em seguida, você pode usar esse valor EventSourceId para chamar PublishEvent(Guid, String, IDictionary<String, Object>), que dispara uma nova instância de fluxo de trabalho do WorkflowSubscription especificado.

Serviço de fluxo de trabalho do Microsoft Azure

Associações de fluxos de trabalho do SharePoint são representadas por seu serviço de fluxo de trabalho em Microsoft Azure. Quando um aplicativo tem que adquirir uma associação de fluxo de trabalho e seus dados, ele deve primeiro consultar para todos os serviços de fluxo de trabalho que estão disponíveis em um determinado escopo.

Da mesma forma, as instâncias de fluxo de trabalho executam um ponteiro de volta para seu serviço de fluxo de trabalho respectivos. Esse é o meio pelo qual sua associação correta é determinada.

Como iniciar fluxos de trabalho

Fluxos de trabalho podem ser iniciados manualmente ou automaticamente.

Fluxos de trabalho manuais

Fluxos de trabalho manuais são iniciados quando o serviço PubSub recebe uma mensagem de StartWorkflow. A mensagem contém as seguintes informações descritivas:

  • O identificador de associação (ou seja, a instância de WorkflowSubscription ).

  • A identificação de contexto de item de origem. Isso é passado com o parâmetro ItemId e a propriedade EventSource na chamada de método PublishEvent .

  • O tipo de evento para um início manual ( WorkflowStart).

  • Parâmetros de iniciação do fluxo de trabalho adicionais, a partir de assinatura ou de formulário Init, conforme apropriado. Isso seria CorrelationId para a assinatura e WFInstanceId para o formulário Init.

Fluxos de trabalho de inicialização automática

Fluxos de trabalho de inicialização automática são iniciados usando-se uma mensagem de Add para o serviço PubSub. A mensagem contém as seguintes informações descritivas:

  • A identificação de contexto de item de origem.

  • O evento em si é um evento de Add normal do SharePoint.

  • Os parâmetros de inicialização do fluxo de trabalho.

Observação

Se um fluxo de trabalho será iniciado automaticamente em um evento repetível (por exemplo, o evento OnItemChanged ), ele não pode iniciar outro fluxo de trabalho de uma associação de determinado até que a instância em execução existente do fluxo de trabalho da associação concluiu a execução.

Assinaturas de fluxo de trabalho

O complemento natural das associações são assinaturas, que permitem que o fluxo de trabalho interagir com associações. O fluxo de trabalho deverá criar inscrições em Azure barramento de serviço usando os métodos create e delete.

As assinaturas dos métodos que criar a assinatura e instancia o fluxo de trabalho especificam os parâmetros necessários e opcionais. A lista de parâmetros é determinada pelo autor do fluxo de trabalho, portanto, elas podem diferir da definição de um fluxo de trabalho para outro. A lista de parâmetros de inscrição é especificada como metadados das definições de fluxo de trabalho. Os parâmetros de assinatura são fornecidos quando a assinatura é criada. A lista de parâmetros de inicialização é especificada em XAML como parte da definição de fluxo de trabalho. Os parâmetros de inicialização são fornecidos quando o fluxo de trabalho é instanciado.

As assinaturas são associadas a um objeto específico do SharePoint, seja uma instância de SPList, seja uma instância de SPWeb. O tipo de objeto de inscrição é passado como um valor de um parâmetro obrigatório quando a assinatura é criada. O tipo de objeto define o escopo de assinatura para que uma assinatura só pode responder a eventos que ocorrem no objeto ao qual estão inscritos.

Interoperabilidade de fluxo de trabalho do SharePoint

A interoperabilidade de fluxo de trabalho do SharePoint permite que fluxos de trabalho do SharePoint 2010 (que são compilados em Windows Workflow Foundation 3) sejam chamados dos fluxos de trabalho do SharePoint, que se baseiam no Windows Workflow Foundation 4. Isso permite que você execute fluxos de trabalho do 2010 em fluxos de trabalho do 2013.

Isso é importante porque talvez você tenha SharePoint 2010 que pode ser reusado em conjunto com seus fluxos de trabalho do SharePoint. Além disso, talvez você queira usar atividades ou recursos do SharePoint 2010 que ainda não tenham sido implementados no SharePoint

Para obter uma discussão completa sobre o interoperabilidade do fluxo de trabalho do SharePoint, consulte Usar o interoperabilidade de fluxo de trabalho para o SharePoint.

Confira também