Compartir a través de


Integración de Azure con Microsoft Dynamics 365

 

Publicado: enero de 2017

Se aplica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Puede conectar Microsoft Dynamics 365 (en línea y local) con la plataforma de Microsoft Azure mediante el emparejamiento de la canalización de ejecuciones de eventos de Dynamics 365 con Bus de servicio de Microsoft Azure. Una vez que está configurada, esta conexión permite que los datos que se han procesado como parte de la operación actual de Dynamics 365 se publiquen en el bus de servicio. Las soluciones de Bus de servicio de Microsoft Azure que son "aptas para Dynamics 365" pueden escuchar y leer datos de Microsoft Dynamics 365 desde el bus de servicio.

Esta conexión entre Microsoft Dynamics 365 y la plataforma de Microsoft Azure proporciona un canal seguro y fiable para la comunicación de datos en tiempo de ejecución de Dynamics 365 para aplicaciones externas de línea de negocio (LOB) basadas en la nube.

En este tema

Elementos principales de la conexión

Escenario de Dynamics 365 para el bus de servicio

Establecer un contrato entre Dynamics 365 y una solución de Windows Azure

Administración de errores en tiempo de ejecución

Elementos principales de la conexión

Los elementos clave que implementan la conexión entre Microsoft Dynamics 365 y Bus de servicio de Microsoft Azure son los siguientes. Un diagrama en la siguiente sección muestra estos elementos en funcionamiento.

  • Contexto de datos
    El contexto de datos contiene los datos de negocio que se procesan como parte de la operación actual de Dynamics 365. Este proceso se inició cuando se efectuó una solicitud para realizar una determinada operación por un usuario, un flujo de trabajo, o una aplicación, a la plataforma de Dynamics 365. El contexto de datos se pasa a los complementos o las actividades de flujo de trabajo personalizadas que estén registradas con la canalización de eventos para ejecutarse en la combinación de solicitud y entidad específica que se esté procesando actualmente. El contexto de datos es del tipo IPluginExecutionContext cuando se está pasando con la canalización de ejecución del evento y RemoteExecutionContext cuando se publica en el bus de servicio.

    El contexto de datos contenido en el mensaje que se publica en el Bus de servicio de Microsoft Azure se puede formatear en XML o JSON además del formato binario .NET predeterminado. Esto proporciona interoperabilidad multiplataforma donde los clientes no .NET hospedados en Azure pueden leer datos de Dynamics 365 desde el bus de servicio.Esta característica se introdujo en la Actualización 1 de CRM Online 2016 y CRM 2016 Service Pack 1 (local)..

    Para obtener más información, vea: las tecnologías descritas anteriormente vea: Comprender el contexto de los datos pasados a un complemento, Canalización de ejecución del evento, Escriba una aplicación de escucha para una solución de Microsoft Azurey.

  • Complementos
    Los complementos son uno de los dos métodos usados para iniciar la publicación del mensaje que contiene el contexto de datos en el Bus de servicio de Microsoft Azure, el otro método es una actividad de flujo de trabajo personalizada. Existen dos tipos de complementos compatibles con la característica de conexión Dynamics 365-Azure: predefinidos (OOB) y personalizados. En ambos caso, se recomienda registrar el complemento para ejecutarlo asincrónicamente para obtener un rendimiento óptimo del sistema.

    Se proporciona un complemento OOB apto para Azure con Dynamics 365 y se puede registrar a través de la herramienta de registro de complementos en la descarga del SDK. Este complemento se ejecuta en plena confianza con la plataforma de Microsoft Dynamics 365. Debe registrar un "paso" de complemento"en la canalización de ejecución de eventos que identifique la combinación de mensaje y entidad que desencadena la ejecución del complemento y la realización de la notificación de publicación. Cuando se ejecuta el complemento, notifica al servicio asincrónico con un servicio de notificación de extremo de servicio (IServiceEndpointNotificationService), para publicar el contexto de datos de la solicitud actual en el Bus de servicio de Microsoft Azure.

    También puede escribir su propio complemento personalizado que sea "compatible con Azure". El complemento personalizado se ejecuta en el modo de confianza parcial en el espacio aislado. Un complemento personalizado puede iniciar la publicación del contexto de datos en el bus de servicio a través del servicio de notificación de extremo de servicio. Si agrega código para llamar a este servicio hará que el complemento sea "apto para Azure". Para obtener más información acerca de los complementos en general, consulte Escribir un complemento. Para obtener más información acerca de los complementos compatibles con Azure, consulte Escribir un complemento con Azure personalizado.

  • Actividades personalizadas del flujo de trabajo
    De forma similar a los complementos, las actividades de flujo de trabajo personalizadas se pueden escribir para iniciar la publicación del contexto de datos de mensaje de la solicitud actual en el Bus de servicio de Microsoft Azure utilizando el servicio de notificación de extremo de servicio (IServiceEndpointNotificationService).Más información:Ejemplo: actividad personalizada de flujo de trabajo basada en Azure.

  • Servicio asincrónico
    Una vez notificado el servicio de notificación de extremo de servicio, el servicio asincrónico controla la publicación del contexto de datos del mensaje de solicitud que está procesando actualmente la canalización de ejecución de eventos en el Bus de servicio de Microsoft Azure. Cada publicación la realiza un trabajo del sistema del servicio asincrónico. Un usuario puede ver el estado de cada trabajo del sistema con la vista Trabajos del sistema de la aplicación web de Microsoft Dynamics 365.

    Para obtener más información, vea: el servicio asincrónico, vea Servicio asincrónico en Microsoft Dynamics 365.

  • Bus de servicio de Microsoft Azure
    El bus de servicio retransmite el contexto de datos de mensajes de solicitud entre Microsoft Dynamics 365 y las aplicaciones de escucha de la solución Bus de servicio de Microsoft Azure. El bus de servicio también proporciona seguridad de datos de manera que solo las aplicaciones autorizadas puedan tener acceso a los datos de Dynamics 365 publicados. La autorización de Microsoft Dynamics 365 para publicar el contexto de datos en el bus de servicio y para que las aplicaciones de escucha lo lean se administra mediante Servicio de control de acceso (ACS) de Microsoft Azure Active Directory o firmas de acceso compartido (SAS) de Microsoft Azure.

    Nota

    Acerca de la autorización SAS: Esta característica se introdujo en la Actualización 1 de CRM Online 2016 y CRM 2016 Service Pack 1 (local). SAS es un método más moderno de autorización y presenta un mejor rendimiento cuando se compara con ACS.

    Para obtener más información, vea: el bus de servicio consulte Bus de servicio.Para obtener más información, vea: la autorización del bus de servicio, vea Autenticación y autorización de bus de servicio.

  • Solución de Microsoft Azure
    Para que la conexión Dynamics 365-Azure funcione, debe tener al menos una solución en una cuenta de soluciones de Bus de servicio de Microsoft Azure, donde la solución contiene uno o varios extremos de servicio. Para un contrato de extremo de retransmisión, una aplicación de escucha que es "compatible con Dynamics 365" debe escuchar activamente en el extremo para la solicitud de Dynamics 365 en el bus del servicio. Para un contrato de extremo de cola, un agente de escucha no tiene que escuchar activamente. Un agente de escucha es "compatible con Dynamics 365" al vincularlo con el ensamblado de Microsoft.Xrm.Sdk, de manera que se define el tipo RemoteExecutionContext.Más información:Escriba una aplicación de escucha para una solución de Microsoft Azure

    Microsoft Dynamics 365 admite el envío de datos de eventos a una solución de Centros de eventos de Azure.Esta característica se introdujo en la Actualización 1 de CRM Online 2016 y CRM 2016 Service Pack 1 (local)..Para obtener más información, vea: centros de eventos, consulte Trabaje con datos de eventos de Dynamics 365 en la solución del Centro de eventos de Azure.

Escenario de Dynamics 365 para el bus de servicio

Ahora vamos a identificar un escenario que implementa los componentes de conexión mencionados anteriormente. Como requisito previo, ACS se ha configurado para reconocer a Microsoft Dynamics 365 como el emisor compatible y la solución de Bus de servicio de Microsoft Azure se ha configurado con reglas para permitir que Microsoft Dynamics 365 pueda publicar en el extremo donde está el agente de escucha.

En el siguiente diagrama se muestran los elementos físicos que constituyen el escenario.

Escenario de Microsoft Dynamics CRM para el bus de servicio

La secuencia de eventos como se identifica en este diagrama es la siguiente:

  1. Una aplicación de escucha está registrada en un extremo de la solución de Bus de servicio de Microsoft Azure y comienza la escucha activa para el contexto remoto de ejecución de Microsoft Dynamics 365 en el bus del servicio.

  2. Un usuario realiza una operación determinada en Microsoft Dynamics 365 que desencadena la ejecución del complemento OOB registrado o un complemento compatible de Azure personalizado. El complemento inicia una publicación, a través de un trabajo del sistema de servicio asincrónico, del contexto de datos de solicitud actual para el bus del servicio.

  3. Se autentican las notificaciones publicadas por Microsoft Dynamics 365. A continuación, el bus del servicio retransmite el contexto remoto de ejecución al agente de escucha. El agente de escucha procesa la información de contexto y realiza alguna tarea de negocio relacionada con esa información. El bus de servicio notifica al servicio asincrónico de una publicación correcta y establece el trabajo del sistema relacionado con un estado completado.

Establecer un contrato entre Dynamics 365 y una solución de Windows Azure

Para cada extremo de la solución, configure un contrato que defina la administración de estos contextos remotos de ejecución "mensajes" en el bus del servicio y la seguridad que deben usarse en el extremo. Los mensajes de bus del servicio se reciben en un extremo mediante uno de los contratos admitidos que se muestran a continuación.

  • Cola
    Un contrato de cola proporciona una cola de mensajes en la nube. Con un contrato de cola, un agente de escucha no tiene que escuchar activamente los mensajes del extremo. Para las colas, hay una lectura destructiva y una lectura no destructiva. Una lectura destructiva lee un mensaje disponible de la cola y el mensaje se quita. Una lectura no destructiva no quita un mensaje de la cola.

    El tipo de cola compatible con Microsoft Dynamics 365 se llama cola persistente. Las colas persistentes tienen una duración de la disponibilidad del mensaje larga pero finita que se puede especificar en el código.

  • Unidireccional
    Un contrato unidireccional necesita un agente de escucha activo. Si no hay una escucha activa en un extremo, la publicación en el bus de servicio no se realizará correctamente.Microsoft Dynamics 365 reintentará la publicación en intervalos de tiempo exponencialmente cada vez más grandes hasta que el trabajo del sistema asincrónico que está publicando la solicitud se anule eventual y su estado se establezca como "error".

  • Bidireccional
    Un contrato bidireccional se asemeja a un contrato unidireccional, salvo que el valor de una cadena se puede devolver desde una escucha al complemento o la actividad de flujo de trabajo personalizada que inició la publicación.

  • REST
    Un contrato REST se asemeja a un contrato bidireccional en un extremo REST.

  • Tema
    Similar a una cola salvo que uno o varios agentes de escucha pueden suscribirse para recibir mensajes del tema.

  • Centro de eventos
    Este tipo de contrato se aplica a las soluciones del centro de eventos de Microsoft Azure.

Importante

Para usar estos contratos, debe especificar sus aplicaciones de escucha mediante el SDK de Microsoft Azure versión 1.7 o posterior.

Identificar el tipo de seguridad que usa un contrato forma parte de la configuración del contrato. Un contrato puede usar la seguridad de transporte, que usa Seguridad de la capa de transporte (TLS) o Capa de sockets seguros (SSL) (HTTPS).

La autenticación de notificaciones se usa para un acceso seguro al bus del servicio. La notificación que se usa para realizar la autenticación en el bus del servicio se genera a partir de Microsoft Dynamics 365 y está firmada por el certificado AppFabricIssuer que se especifica en la base de datos de configuración de Microsoft Dynamics 365.

Administración de errores en tiempo de ejecución

Si se produjo un error después de intentar realizar una publicación en el bus del servicio, compruebe el estado del trabajo del sistema relacionado en la aplicación web de Microsoft Dynamics 365 para obtener más información sobre el error. Si el bus del servicio está inactivo o un agente de escucha/extremo no está disponible, el mensaje actual que se está procesando en Microsoft Dynamics 365 no se publicará en el bus. El servicio asincrónico seguirá intentando publicar el mensaje en un patrón exponencial donde al principio tratará de realizar la publicación con frecuencia y después lo intentará en intervalos cada vez más largos. Para un error interno de Microsoft Dynamics 365, las publicaciones del mensaje no se intentan. Para servicio del bus externo o error de red, el trabajo del sistema relacionado estará en un estado de "espera".

Ver también

Extensiones de Azure para Microsoft Dynamics 365
Configurar la integración de Azure con Microsoft Dynamics 365
Escriba complementos para ampliar los procesos de negocio
Servicio asincrónico en Microsoft Dynamics 365
Entidad AsyncOperation (trabajo del sistema)

Microsoft Dynamics 365

© 2017 Microsoft. Todos los derechos reservados. Copyright