Biztalk Services permet la réalisation des solutions d’intégration d’applications d’entreprise.
Le cas que nous souhaitons exposer est réel car sinon ce dernier serait sans valeur…
L’ensemble de l’article étant assez long nous le séparerons en deux comme suit:
- Le premier mettra en oeuvre le paramétrage du service Azure Biztalk.
- Le suivant montrera comment tester l’ensemble de notre service.
Le contexte
- L’entreprise Y travaille dans le secteur de la vente est a besoin de facturer ses clients.
- Le système de facturation est géré par une entreprise Z qui envoie les factures aux clients de l’entreprise Y.
- L’entreprise Z impose plusieurs exigences techniques pour la transmissions des données pour que les factures soient gérées par leur service :
- Les échanges des données entre les deux sociétés doivent se faire par un flux XML,
- Le protocole imposé est l’Applicability Statement 2 (AS2),
- L’envoi des messages doit être crypté grâce au certificat fournit par l’entreprise Z.
Schématiquement parlant cela peut nous donner quelque chose comme suit :
Pourquoi utiliser Biztalk Services ?
Si votre entreprise a pour objectif d’orienter son système d’informations sur Azure ou même si elle est déjà dans ce processus alors Biztalk services répond en tout point à ce que vous recherchez :
- Les protocoles proposés par défaut par Azure Biztalk services sont l’EDI & l’AS2.
- Les échanges sont déterminés entre partenaires.
- Les échanges peuvent être encryptés.
- La validation des échanges se fait par des accusés de réception (MDN) et notifie l’émetteur que son message a bien été transmis.
- Les traitements « avant » échanges des données peuvent être customisés.
Etape par étape
1- Création du service Biztalk
La création du service Biztalk doit se faire au travers de l’ancien portail azure (https://manage.windowsazure.com ) car le nouveau portail (https://portal.azure.com) ne permet pas de gérer (du moins à l’heure actuelle) la création et la gestion d’un tel service.
Pour créer notre service il est nécessaire de cliquer sur l’onget Biztalk services et de procéder à la création d’un nouveau service :
L’écran ci-dessous permet de définir les paramètres standard de notre service pour l’entreprise Y
Il sera nécessaire de créer un storage pour Biztalk afin que ce dernier puisse y stocker certaines informations
La dernière étape est de définir où sera la base de données associée au service Biztalk. Cette base permettra d’enregistrer les statuts des demandes et de tracker les différents appels en fonctions du protocole choisi.
Une fois l’opération terminée vous aurez l’accès à plusieurs éléments qui sont les suivants :
- L’access control qui est le portal permettant de gérer les accès au Biztalk services, d’obtenir les paramètres d’authentification du principal owner, d’ajouter des personnes pouvant accéder à cette zone, de truster des parties tiers, de gérer les espaces de noms ….
- Le portail Biztalk qui permet d’enregistrer à proprement parlé nos services
Par défaut le domaine associé à la création de vos services Biztalk sont sous la forme *.biztalk.windows.net
Bien évidemment vous pouvez faire en sorte que ce dernier soit avec un Custom Domain, il vous suffira de configurer le sous-domaine ou domaine associé avant la création de votre service Biztalk.
2- Gestion du service
Une fois l’étape 1 réalisée il nous faudra l’enregistrer grâce aux informations que nous pourrons retrouver sur notre portail Azure.
Une fois sur le portail, sélectionnez l’onglet Biztalk services et vous devriez y apercevoir votre nouveau service.
Lorsque vous cliquez sur ce dernier, vous aurez la possibilité d’afficher les informations de connexion.
Ces informations vont nous permettre d’enregistrer notre service au travers du portail Biztalk.
Pour accéder à ce portail, le bouton « Gérer » vous permettra de l’afficher.
Cliquez sur Register a new deployment
La dernière étape consiste à saisir les informations de notre service dans le formulaire ci-dessous avec les informations préalablement récupérées
3- Enregistrement des partenaires
Le portail Biztalk qui est maintenant disponible pour notre service nous autorisera à effectuer plusieurs actions.
Pour échanger des données entre l’entreprise Y et Z nous aurons besoin de les inscrire au travers de l’onglet « Partner ».
Ici vous pourrez enregistrer le profil de chaque entreprise avec son principal contact ainsi que définir le protocole d’échange autorisé pour chaque partenaire (ce dernier n’étant pas exclusif, vous pouvez bien entendu définir plusieurs type de protocole d’échange) avec les certificats attendus.
Une fois les informations d’usages saisies, vous arriverez sur l’écran suivant :
Sur l’écran précédent, nous pouvons y voir les informations d’identification AS2 ainsi que le certificat associé à l’entreprise.
L’opération est bien évidemment à renouveler pour l’entreprise Z. Sachez que l’identifiant de l’entreprise Z (ou Y) n’est connu que d’elle-même, il vous faudra vous rapprocher de vos entreprises partenaires pour obtenir ce type d’information.
Au final, les deux entreprises seront créées.
4 – Enregistrement d’un accord entre partenaire
Afin de permettre un échange entre les deux sociétés il est obligatoire de créer un « agreement », c’est à dire un accord entre celles-ci. La création se fait au travers de l’onglet « Agreements » présent sur le portail
Après la saisie des champs d’usages, vous serez amené à sélectionner les paramètres d’envoi et de réception des messages (sélection des certificats, compression du message ….)
Pour en savoir plus sur ces paramètres, vous pouvez consulter la page msdn disponible à l’url suivante : https://msdn.microsoft.com/en-us/library/azure/hh689890.aspx.
5 – Création des Bridges
Pour réaliser les prochains échanges entre les deux entreprises, nous avons besoin d’avoir un point d’entrée sur laquelle une application interne à l’entreprise Y (produit, application custom, portail, …) pourra envoyer le flux de données vers l’entreprise Z déclenchant ainsi la création des factures pour les envoyer aux clients de l’entreprise Y.
Ces points d’entrées sont des bridges et sont configurés de telle sorte que nous pourrons envoyer nos données cryptées par certificat et avoir un accusé de réception notifiant que le flux d’informations échangé a bien été récupéré.
Les captures d’écrans qui vont suivre ont été réalisé avec une édition de type développeur pour notre service. Pour connaître les différentes éditions disponibles, n’hésitez pas à parcourir la page msdn.
Ce qu’il faut garder à l’esprit ici c’est que la création d’un point d’entrée entraîne automatiquement la création de 2 bridges (1 pour la réception et 1 pour l’envoi).
Cette dernière partie marque la fin de premier billet sur la configuration à mettre en oeuvre entre l’entreprise Y et l’entreprise Z.
Feedback
Feedback sur les inconvénients et les limitations de ce service
- Le portail Biztalk est en Silverlight, ce qui peut vous empêcher d’utiliser votre navigateur favori.
- Vous pouvez créer des Bridges personnalisés, mais l’outil de développement supporté à ce jour est Visual Studio 2012.
Une extension intéressante est disponible ici et elle vous permettra d’effectuer un certain nombre d’action : - Les bridges sont créés par deux, ce qui peut être un problème suivant le nombre de partenaire que nous devons gérer et ce en fonction de l’abonnement sélectionné pour notre service.
Il semble que l’on peut supprimer des bridges non nécessaires par l’extension proposée plus haut mais reste à confirmer que cela soit supporté par la plateforme Microsoft Azure… - Le PAAS n’est pas le IAAS alors ne vous attendez pas à avoir le même niveau de fonctionnalité attendu par un vrai serveur Biztalk.
Vous pourrez retrouver un exemple de différence de fonctionnalité avec le lien suivant : https://msdn.microsoft.com/en-us/library/azure/hh949815.aspx
Une roadmap est-elle d’actualité du côté de Microsoft …?
- En effet, si on s’en réfère à la publication de la roadmap du produit https://www.microsoft.com/en-us/download/confirmation.aspx?id=50408, il est écrit que des améliorations seront apportées d’ici fin 2016.
Prochain article
- Afin de mettre en pratique l’envoi des messages sur notre nouveau service, nous proposerons des exemples de code qui permettrons de valider la configuration effectuée.