Intégration Dynamics CRM 2011 - Partie 1: Windows Azure

Cet article inaugure une nouvelle série consacrée à l’intégration de Dynamics CRM 2011 avec d’autres applications.

Microsoft proposant une grande variété de services Cloud (Office 365, Dynamics CRM, Windows Azure, SQL Azure), nous démarrons cette série d’articles par une présentation de scénarios utilisant Dynamics CRM 2011 et la plateforme cloud de Microsoft, Windows Azure.

Pour maximiser les bénéfices des applications CRM, celles-ci nécessitent d’être intégrées au sein du système d’information de l’entreprise.

Voici plusieurs scénarios métiers démontrant l’importance d’une telle intégration.

Besoin d’accéder à des données non CRM hébergées dans votre infrastructure depuis CRM Online

Lors de la création d’une commande dans le CRM, vos vendeurs ont besoin en temps réel de connaitre la disponibilité d’un produit dans le stock.
La nuit suivant la mise à disposition d’un produit dans le stock, le CRM doit mettre à jour le statut des commandes qui en contiennent et vos manutentionnaires pourront préparer les commandes.

Besoin d'exécuter depuis CRM Online une action d’une autre application au sein d'un processus métier

Lors de la création d’un devis par un commercial dans le CRM, la commande d’un produit peut être lancée par l’application de gestion des commandes fournisseurs.

Besoin de synchroniser des données entre plusieurs applications Cloud, dont CRM Online

Lors de la mise en place d’une campagne marketing dans Dynamics CRM Online, il peut être utile de synchroniser les listes marketing ciblées avec une application de mailing Cloud.

Besoin de synchroniser des données entre votre CRM Online et vos applications hébergées dans votre infrastructure

Synchroniser les adresses de vos clients entre le CRM et votre solution de facturation.
Synchroniser vos données CRM de devis, de commandes et d’opportunités avec votre solution décisionnelle pour réaliser du reporting complexe impliquant d’autres applications.

Besoin de réaliser des rapports à partir de vos données CRM Online grâce une application de reporting Cloud

Besoin d’effectuer du mailing marketing grâce à CRM Online

Ces scénarios variés sont quelques exemples parmi d’autres auxquels permet de répondre l’intégration technique de Dynamics CRM avec Windows Azure.

Avant de préciser comment implémenter ces scénarios, voici une brève présentation de Windows Azure.

Windows Azure est une solution Cloud offrant des services de type IaaS (Infrastructure as a Service) et PaaS (Platform as a Service). Les services PaaS proposent de gérer toutes les couches entre la connectivité réseau et l’exécution d’une application. Ce sont ces services que nous allons utiliser pour nos scénarios. L’infrastructure matérielle et les aspects opérationnels de la plateforme cloud sont ainsi pris en charge par le fournisseur de services, vous n’avez qu’à créer votre application métier et gagner en productivité !

Windows Azure (en PaaS) propose les fonctionnalités suivantes avec de nombreux avantages :

Calcul

Un environnement évolutif pour l’exécution de vos applications
Le support de nombreux langages de programmation, .NET, C++, PHP, Ruby, Python, Java …
La gestion de service automatisée

Stockage

Evolutivité et haute disponibilité
Support des Blobs, Tables, Files, Lecteurs
Accessible par services REST et par de nombreuses API

Connectivité

Bus de services
Protocoles de communications standards (REST, AMQP, WS*)
Grand nombre d’API

Identité

Windows Azure Active Directory et sa gestion des authentifications/autorisations pour Windows Azure, Office 365, Dynamics CRM Online, Intune.
Facilité d’intégration à vos Active Directory locaux
Access Control Service et sa gestion centralisée des authentifications/autorisations des applications déployées dans Windows Azure

Concepts d'intégrations techniques

Remarque : Les intégrations techniques présentées par la suite sont exprimées de façon théorique et peuvent nécessiter des développements non explicités.

Synchronisation de données en temps réel entre Dynamics CRM Online et d’autres applications SaaS (Software as a Service)
Pour schématiser nous avons choisi de présenter la synchronisation entre 2 instances de Dynamics CRM Online.

Pour réaliser cette intégration vous aurez besoin de:

Configurer et déployer le plugin standard Dynamics CRM pour Windows Azure AppFabric sur les entités à synchroniser
Créer 2 files d’attente (Queue) dans Azure Service Bus
Implémenter et déployer dans Windows Azure, 2 écouteurs (1 pour chaque file d’attente) de type Worker Role Application

Ainsi, à chaque mise à jour d’entités, le plugin déployé dans Dynamics CRM Online envoie les messages à la file d’attente à laquelle il est relié. L’écouteur va récupérer les messages et mettre à jour les données de l’autre instance de Dynamics CRM Online.

Communication entre Dynamics CRM Online et des applications On-Premise (dont Dynamics CRM 2011) en temps réel

Deux briques sont à implémenter et à configurer :

Un plugin personnalisé synchrone dans Dynamics CRM Online que l’on inscrit sur l’événement déclencheur (ex : création de la commande pour identifier la disponibilité des produits présents dans celle-ci)
Une file d’attente dans Azure Service Bus
Un écouteur (Listener) dans votre infrastructure On-Premise qui communique directement avec l’application ciblée (ex : votre application de gestion des stocks qui va fournir l’information de disponibilité du produit)

Transmission asynchrone de faible volume de données entre Dynamics CRM Online et vos applications On-Premise

Pour cette intégration, il est nécessaire d’implémenter et déployer dans votre infrastructure :

Un écouteur (identique à la deuxième intégration)
Un service d’interface communiquant avec Dynamics CRM Online

Sans oublier la création d’une file d’attente dans Azure Service Bus.
Dynamics CRM Online transmet ainsi les données à l’application On-Premise via Azure Service Bus, et reçoit les données de cette application via le service d’interface.

Transmission asynchrone de grand volume de données entre Dynamics CRM Online et vos applications On-Premise pour un besoin métier complexe

Cette intégration beaucoup plus complexe étant donné le besoin ne nécessite finalement que :

La création d’une file d’attente dans Azure Service Bus
L’implémentation de règles de transformation dans BizTalk

Synchronisation de grand volume de données entre Dynamics CRM Online et une application de Reporting SaaS

Pour réaliser ce type de scénario, il faut:

Configurer et déployer le plugin standard Dynamics CRM pour Windows Azure AppFabric sur les entités pour lesquelles vous souhaitez réaliser du reporting
Créer une file d’attente dans Azure Service Bus
Implémenter un écouteur qui recopie les données qu’il récupère de la file d’attente dans la base de données SQL Azure
Créer des rapports SQL Azure Reports dans Dynamics CRM Online

Dynamics CRM Online avec Office 365 Exchange Online

Pour permettre cette intégration vous avez juste à déployer une Machine Virtuelle au sein de Windows Azure puis à y installer le composant Email Router de Dynamics CRM

  Avantages de ces intégrations

Microsoft Dynamics CRM 2011 et Online propose le support natif de Windows Azure avec :

Azure AppFabric pour l’utilisation du bus de service
Azure ACS pour l’utilisation d’Access Control Service

Microsoft Dynamics CRM et Windows Azure sont basés sur le framework Microsoft .NET, et les mêmes langages de programmation (C#, .NET, VB) y sont utilisés.

Les développements sont réalisés dans le même environnement de développement, Microsoft Visual Studio.

SQL Azure offre une solution de base de données On-Demand basée sur SQL Server, avec toutefois quelques limitations liées au cloud. Les mêmes environnements de gestion et de développement que SQL Server peuvent donc être utilisés.

Pour vous accompagner sur les sujets d’intégrations et notamment de solutions cloud, Microsoft Services vous propose :

L’expérience approfondie de l’intégration de solutions techniques complexes
L’expertise de ses consultants sur des sujets pointus et innovants
L’application des Best-Practices Dynamics CRM et Windows Azure

Les équipes Microsoft Services sont prêtes à vous accompagner tout au long de la mise en place de votre outil CRM. Pour en savoir plus, n'hésitez pas à nous contacter, via notre formulaire de contact ou à l'adresse servicesfr@microsoft.com.

Essayez Windows Azure gratuitement pendant 90 jours https://www.windowsazure.com/fr-fr/pricing/free-trial/

Microsoft Services / CRM – Gestion de la relation client