Publier BizTalk 2010 sur internet avec Azure AppFabric Service Bus

by Franck Musson 31. mai 2011 23:59

La dernière version de l'EAI/BPM de Microsoft BizTalk 2010 offre une extension très interessante liée à la plateforme Cloud du même éditeur : "Windows Azure Platform".

Le Composant "BizTalk 2010 AppFabric Connect for Services" est inclus dans le version developer de BizTalk 2010.

Il est aussi possible de télécharger le "BizTalk Server Feature Pack (october 2010)"  avec sa documentation à l'adresse suivante : http://www.microsoft.com/downloads/en/details.aspx?FamilyID=f7735a19-cdb3-4f52-8e7b-c58f04c5c86a .

Les autres pré-requis sont bien évidement de disposer d'une souscription à "Windows Azure" et l'installation du "Windows Azure AppFabric SDK 1.0" : http://www.microsoft.com/downloads/en/details.aspx?FamilyID=39856a03-1490-4283-908f-c8bf0bfad8a5 . Attention ! le SDK de Azure AppFabric V2.0 est en CTP et l'accès à Azure AppFabric 2 n'est disponible pour l'instant qu'aux béta-testeurs.

Windows Azure AppFabric

Fournit une messagerie sécurisée et de la connectivité à travers différentes topologies de réseau.

Permet aux applications hybrides de s'étendre au Cloud.

Support de différents protocoles de communication et des patterns pour les développeurs permettant de bâtir des systèmes de messaging fiables avec le nuage.

 Ci-dessous les différentes composantes de Azure AppFabric

Nous allons donc utiliser la partie "Service Bus", optionnellement le bloc "Access Control" peut lui aussi être utilisé si l'on souhaite une authentification fédérée.

Windows Azure Subscription

Vous devez avoir accès aux options "Service Bus, Access Control & Caching" afin de pouvoir créer votre propre namespace.

BizTalk 2010 AppFabric Connect for Services

AppFabric Connect for Services permets aux utilisateurs de Biztalk 2010 d'exposer leur orchestrations "On-Premise" en tant que services WCF accessibles dans le nuage. ces services pourront alors être utilisés par des clients ou partenaires sans pour autant ouvrir le firewall de l'entreprise et n'exposant aucun "Endpoint" sur internet.

Le Service Bus permets de publier des Web Services "internes" vers des clients externes dans le Cloud, l'utilisation d'un service de "Relay" servant de "Broker" de messages.

Pour une plus simple explication voir le schéma ci-dessous

Cette technique n'est bien sûr pas spécifique à BizTalk, mais à tout code .Net utilisant le SDK d'Azure AppFabric (reportez vous aux Labs présents dans le WAPTK May 2011 Refresh). à titre d'exemple je vous recommande le blog de Benjamin Guinebertière (twitter.com/benjguin), Architecte Evangéliste Microsoft, qui explique comment il a publié la plateforme d'intéropérabilité SAP (ECC 6) présente au MTC de paris (Microsoft Technology Center). ICI

Vous noterez, que le Service "On-Premise" ou l'orchestration Biztalk restent derrière le firewall, aucun port TCP entrant n'est ouvert, le service ou l'orchestration doivent juste avoir la possibilité de sortir sur internet en direct ou à travers un proxy. tout protocole basé sur TCP est supporté, UDP ne l'est pas.

AppFabric Connect for Services étend les fonctionnalités du Biztalk WCF Service Publishing Wizard pour permettre au développeur BizTalk de publier les ports de son application "On Premise" vers des clients externes à travers le Windows Azure AppFabric Service Bus (Relay Binding).

 Que fait le Wizard ?

  1. Publie un endpoint "local" WCF pour un port BizTalk
  2. Publie un endpoint "Service Bus" pour le service WCF "local"
  3. Publie un endpoint "Service Bus" pour le metadata exchange du service WCF local (les contrats publics sont disponibles sur Azure via une page RSS) - optionnel
  4. Crée les receive ports pour les orchestrations BizTalk.

Je déconseille habituellement, d'exposer un serveur BizTalk directement sur internet qui est un serveur d'intégration , recommandant de positionner un serveur web ou un serveur d'applications comme Windows AppFabric Server pour gérer au plus près les problématiques de sécurité et celles liées aux infrastructres réseau internes.

Je dois dire qu'avec ces nouvelles fonctionnalités il devient réellement possible d'exposer un BizTalk 2010 sur le Cloud.

Pour la mise en place d'une solution, je vous invite à suivre la documentation d'AppFabric Connect for Services ou il ya un Lab vraiment bien fait. il y a aussi le blog du BizTalk Server Team ICI

 

Tags: , , , ,

Biztalk | Cloud

Les commentaires sont clos

Neos-SDI  Neos-SDI