Partilhar via


Integração do Azure com o Microsoft Dynamics CRM

 

Publicado: novembro de 2016

Aplicável a: Dynamics CRM 2015

É possível se conectar o Atualização do Microsoft Dynamics CRM 2015 e Microsoft Dynamics CRM Online 2015 com a plataforma do Microsoft Azure acoplando o pipeline de execução de evento do Dynamics 365 ao Barramento de Serviço do Microsoft Azure. Essa conexão permite que os dados que foram processados como parte da operação atual do Dynamics 365 sejam postados no barramento. As soluções do Barramento de Serviço do Microsoft Azure que são "reconhecidas pelo Dynamics 365" podem ouvir e ler os dados que são postados no barramento de serviço pelo Microsoft Dynamics 365. Os dados postados são armazenados em uma instância da classe de RemoteExecutionContext que é uma versão estendida do IExecutionContext transmitido no tempo de execução para os plug-ins assíncronos do Microsoft Dynamics 365.

Essa conexão entre o Microsoft Dynamics 365 e a plataforma do Microsoft Azure fornece um canal seguro para comunicar dados de tempo de execução do Dynamics 365 para aplicativos da linha de negócios baseados em nuvem externos (LOB).

Neste tópico

Principais elementos da conexão

Um cenário do CRM para serviço

Estabelece um contrato entre o CRM e uma solução do Azure

Gerenciar erros de tempo de execução

Principais elementos da conexão

Os principais elementos que implementam a conexão entre o Microsoft Dynamics 365 e o Barramento de Serviço do Microsoft Azure são os seguintes:

  • Serviço Assíncrono
    O serviço assíncrono é responsável por postar o contexto de execução remota do Microsoft Dynamics 365 para o Barramento de Serviço do Microsoft Azure. Cada postagem é executada por um trabalho do sistema do serviço assíncrono. Um usuário pode ver o status de cada trabalho do sistema usando o aplicativo Web Microsoft Dynamics 365.

  • Plug-ins
    Há dois tipos de plug-ins registrados assíncronos com suporte pelo recurso de conexão: prontos (OOB), os plug-ins fornecidos com o Dynamics 365 e personalizados. Para obter mais informações sobre como usar plug-ins assíncronos com o Microsoft Azure, consulte Acesse o serviço de notificação.

    Um plug-in com conhecimento do Azure é fornecido com o Dynamics 365. Este plug-in executa em total confiança com a plataforma Microsoft Dynamics 365. Quando registrado com o Microsoft Dynamics 365, o plug-in pode notificar o serviço assíncrono para publicar o contexto da solicitação atual no Barramento de Serviço do Microsoft Azure. Um desenvolvedor precisa registrar uma etapa neste plug-in que identifica a mensagem de destino e a entidade para habilitar a funcionalidades de postagem do barramento de serviço.

    Também é possível escrever seu próprio plug-in personalizado com "conhecimento do Azure". O plug-in personalizado executa no modo de confiança parcial na área restrita e pode chamar qualquer método do SDK do Microsoft Dynamics CRM. Um plug-in personalizado pode iniciar a postagem de contexto do Microsoft Dynamics 365 para barramento de serviço incluindo algumas linhas de código padrão que o notifica serviço assíncrono para publicar o contexto da solicitação. Este código específico da nuvem torna os plug-ins com "conhecimento do Azure". Para obter mais informações sobre plug-ins em geral, consulte Gravar um plug-in. Para obter mais informações sobre plug-ins de conhecimento do Azure, consulte Redigir um plug-in com reconhecimento de Azure personalizado.

  • Atividades de fluxo de trabalho personalizado
    As atividades de fluxo de trabalho personalizado podem ser gravadas para publicar o contexto de dados da solicitação atual no Barramento de Serviço do Microsoft Azure.Para obter mais informações:Exemplo: Atividade de fluxo de trabalho personalizada de conhecimento do Azure.

  • Barramento de Serviço do Microsoft Azure
    O barramento de serviço confia no contexto de execução remoto entre a solução Microsoft Dynamics 365 e Barramento de Serviço do Microsoft Azure. O Microsoft Azure Active Directory Access Control Service (ACS) gerencia a segurança de autenticação baseada em declarações.

  • Solução do Microsoft Azure
    Para que a conexão Dynamics 365 e Azure funcione, precisa ter pelo menos uma solução em uma conta de solução do Barramento de Serviço do Microsoft Azure, onde a solução contém um ou mais pontos de extremidade. Para um contrato de ponto de extremidade de retransmissão, um ouvinte que tenha "conhecimento do Dynamics 365" deve estar ouvindo ativamente no ponto de extremidade para a solicitação do Dynamics 365 no barramento de serviço. Para um contrato de ponto de extremidade da fila, um ouvinte não precisa estar ouvindo ativamente. Um ouvinte tem "conhecimento do Dynamics 365" vinculando-o para o assembly do Microsoft.Xrm.Sdk de forma que o tipo RemoteExecutionContext seja definido.Para obter mais informações:Gravar um ouvinte para uma solução do Microsoft Azure

    As regras de solução devem ser configuradas para permitir que o contexto de execução remota do Microsoft Dynamics 365 seja publicado para o barramento de serviço. Para habilitar esta postagem, o ACS precisa reconhecer a implantação do Dynamics 365 como um emissor suportado.Para obter mais informações:Configurar a integração do Azure com o Microsoft Dynamics CRM 2015.

Importante

Para desenvolver um ouvinte de solução para a plataformaMicrosoft Azure, será preciso instalar o Microsoft AzureSDK do versão 1.7 ou 1.8. em seu computador de desenvolvimento.

Um cenário do CRM para serviço

Agora vamos identificar um cenário que implementa os componentes de conexão mencionados anteriormente. Como pré-requisito, o ACS foi configurado para reconhecer o Microsoft Dynamics 365 como o emissor suportado e a solução Barramento de Serviço do Microsoft Azure configurada com regras para permitir que o Microsoft Dynamics 365 poste no ponto de extremidade no qual é ouvido.

O diagrama a seguir mostra os elementos físicos que compõem o cenário.

Microsoft Dynamics CRM para o cenário de Barramento de Serviço

A sequência de eventos como identificada neste diagrama é a seguinte:

  1. Um ouvinte é registrado em um ponto de extremidade de solução do Barramento de Serviço do Microsoft Azure e começa a ouvir ativamente o contexto de execução remota do Microsoft Dynamics 365 no barramento de serviço.

  2. Um usuário executa alguma operação no Microsoft Dynamics 365 que aciona a execução do plug-in OOB registrado ou um plug-in de conhecimento do Azure personalizado. O plug-in inicia uma postagem, com um trabalho do sistema de serviço assíncrono, no contexto da solicitação atual para o barramento de serviço.

  3. O ACS autentica as declarações postadas pelo Microsoft Dynamics 365. O barramento de serviço confia no contexto de execução remoto para o ouvinte. O ouvinte processa as informações de contexto e executa algumas tarefas relacionada aos negócios com essas informações. O barramento de serviço notifica o serviço assíncrono de uma postagem com sucesso e define o trabalho do sistema relacionado a um status de concluído.

Estabelece um contrato entre o CRM e uma solução do Azure

Para cada ponto de extremidade da solução, você configura um contrato que define a manipulação dessas "mensagens" de contexto de execução remota no barramento de serviço e a segurança que deve ser usada nesse ponto de extremidade. As mensagens do barramento de serviço são recebidas em um ponto de extremidade usando um dos contratos suportados listados aqui.

  • Fila
    Um contrato em fila fornece uma fila de mensagens na nuvem. Com um contrato de fila, um ouvinte não precisa estar ouvindo ativamente as mensagens no ponto de extremidade. Para filas, há uma leitura destrutiva e uma leitura não destrutiva. Uma leitura destrutiva lê a mensagem disponível da fila e a mensagem é removida. Uma leitura não destrutiva não remove uma mensagem da fila.

    Há dois tipos de filas suportadas no Microsoft Dynamics 365: uma fila de armazenamento de mensagens e uma fila persistente. Para filas de armazenamento de mensagens, as mensagens na fila serão automaticamente excluídas se não forem lidas dentro de um período previamente configurado que é normalmente menor que 10 minutos. As filas persistentes têm uma duração de disponibilidade muito maior do que especificada no código.

  • Unidirecional
    Um contrato unidirecional requer um ouvinte ativo. Se não houver nenhum ouvinte ativo em um ponto de extremidade, haverá falha na postagem do Microsoft Dynamics 365 no barramento de serviço. O Microsoft Dynamics 365 tentará a postagem em períodos de tempo exponencialmente maiores até que o trabalho do sistema assíncrono que esteja postando a solicitação seja finalmente abortado e seu status definido como “Falhou”.

  • Bidirecional
    Um contrato bidirecional é semelhante a um contrato unidirecional, exceto que um valor de cadeia de caracteres pode ser retornado do ouvinte para o Microsoft Dynamics 365.

  • REST
    Um contrato REST é semelhante a um contrato bidirecional em um ponto de extremidade REST.

  • Tópico
    Semelhante a uma fila, exceto que um ou mais ouvintes podem se inscrever para receber mensagens do tópico.

Importante

Para usar esses contratos, você deve gravar os aplicativos ouvintes usando o Microsoft AzureSDK do versão 1.7 ou 1.8.

As filas de buffer de mensagens estão preteridas e não serão suportadas em uma versão futura do SDK do Microsoft Dynamics CRM.

Identificar o tipo de segurança que um contrato usa faz parte da configuração do contrato. Um contrato pode usar a segurança de transporte, que usa Protocolo SSL (https).

A autenticação baseada em declarações é usada para acesso seguro ao barramento de serviço. A declaração usada para autenticar o barramento de serviço é gerada no Microsoft Dynamics 365 e assinada pelo certificado AppFabricIssuer especificado no banco de dados de configuração do Microsoft Dynamics 365.

Gerenciar erros de tempo de execução

Se um erro ocorreu após uma postagem ser tentada no barramento de serviço, verifique o status do trabalho do sistema relacionado no aplicativo Web =Microsoft Dynamics 365 para obter mais informações sobre o erro. Se o barramento de serviço está inoperante ou um ouvinte/ponto de extremidade não estiver disponível, a mensagem atualmente sendo processada no Microsoft Dynamics 365 não será postada no barramento. O serviço assíncrono continuará a tentar publicar a mensagem em um padrão exponencial onde tentará postar com frequência no início e depois em intervalos cada vez maiores. Para um erro do Microsoft Dynamics 365 interno, as postagens da mensagem não são tentadas. Para um erro de rede ou de barramento de serviço externo, o trabalho do sistema relacionado estará em um estado de "Espera".

Confira Também

Extensões do Azure para Microsoft Dynamics CRM 2015
Configurar a integração do Azure com o Microsoft Dynamics CRM 2015
Crie plug-ins para ampliar os processos empresariais
Serviço assíncrono no Microsoft Dynamics CRM 2015
Entidade AsyncOperation (trabalho do sistema)

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais