Imagions qu’une orchestration BizTalk doit appeler un Web Service [fournisseur d’informations]

 

Deux scenarios se présentent :

 

1 – l’appel du Web Service n’est pas la première tâche du traitement:

 

Aucun problème, l’orchestration se déclenche peut être sur  réception de fichier, souscription à la message box,….      

 

2 – l’appel du Web Service est la première tâche du traitement :

 

L’appel du web service requiert un message d’invocation, ce message est donc à construire dans l’orchestration. Il faut prévoir un mécanisme de déclenchement de cette orchestration.

 

Il est possible de suivre la démarche suivante :

 

Déclenchement sur réception de fichier physique. Ce fichier est déposé dans une receive location en utilisant un job Sql, un ordonnanceur… à réception du fichier l’orchestration se déclenche, le message d’invocation est construit et le web service sera appelé.

 

Cette solution fonctionne correctement  mais présente des  inconvénients :

 

Le traitement BizTalk dépend entièrement du système de dépôt du fichier de déclenchement. L’arrêt du  système de déclenchement impacte directement le traitement BizTalk.

Cette solution peut être refusée dans certains contextes (traitement temps réel, Haute disponibilité, plate forme EAI autonome ……)

                                   

Une solution plus adaptée peut être :

 

Utilisation du ScheduledTaskAdapter développé par la communauté. Il s’agit d’un adapteur de type receive dont l’objectif est de planifier la création des messages à publier dans la message Box.

 

Une orchestration BizTalk peut donc démarrer suite à la publication d’un message attendu par un receive port en écoute sur la message Box. La plateforme BizTalk n’est donc plus dépendante d’un autre système. 

 

La planification est très flexible. Par défaut, l’adapter fournit 3 tâches :

 

  • Génération d’un message BizTalk à partir d’une chaine de caractère représentant un flux XML.
  • Génération d’un message BizTalk à partir du contenu d’un fichier
  • Génération d’un message BizTalk à partir du contenu chargé depuis un lien http

 

L’adapteur et son code sources sont disponibles sur : http://www.codeplex.com/BizTalkScheduledTask

Publié le 11/12/2008  par Chakib Rouan Serik