Kader Yildirim
Notions avancées avec Biztalk Server 2006 R2
Utilisation des notions d'interchange, corrélation et convoi avec BizTalk Server 2006 R2
Par Kader Yildirim publié le 09/06/2008 à 08:04, lu 2221 fois, 6 pages
 2 | L'exemple
Voici un bref rappel de l'exemple.

Dans un certain nombre de cas un système informatique reçoit des messages qu'il traite, transforme, enrichi... puis expédie vers un autre système. Quelque fois ce qui nous intéresse dans les messages reçus est un sous ensemble noyé au milieu d'autres informations et qui n'est pas nécessairement à la même position d'un message à l'autre.
Par exemple un système de traitement des commandes peut recevoir des fichiers de demandes en provenance de plusieurs sources, chacune contenant les données d'une commande d'un client au sein d'autres informations spécifiques à l'émetteur.

L'objectif de cet article est de vous faire découvrir le développement d'une application BizTalk qui prend en entrée n'importe quel document XML et l'explose en de multiples documents en extrayant les fragments qui sont reconnus par des orchestrations de l'application BizTalk. Cela revient en gros à implémenter une enveloppe dont on ne connaît pas le schéma à l'avance.
Pour cela l'utilisateur donne en paramètre au composant une liste de schémas (XSD) qui sert de pattern de recherche dans le document source.

Le schéma suivant résume ce que nous souhaitons implémenter dans cet article :
 
/content/1b251eeb-f21b-4a80-be4e-046a360a2835/Operations.png
 
  1. Etape 1 : Le document XML à analyser est scindé en fragments XML correspondants aux XSD donnés en paramètres. Ces fragments possèdent dans leur contexte le nom du XSD qui les a validés ainsi que le nombre de messages extraits du document principal et un identifiant qui précise quel est le document source (un Guid qui indique qu'ils ont été extraits d'un même document).
  2. Etape 2 : Les morceaux ainsi extraits sont stockés dans la message box
  3. Etape 3 : Les fragments sont consommés par les orchestrations capables de les traiter et donnent ainsi naissance à de nouveaux documents. Ces traitements peuvent être parallélisés par Biztalk en lançant autant d'instance d'orchestration que de fragments à traiter.
  4. Etape 4 : Le résultat est stocké dans la message box.
  5. Etape 5 : Tous les documents issus d'une même source sont fusionnés par la même instance de l'orchestration d'agrégation.
  6. Etape 6 : Le document ainsi recomposé est envoyé au pipeline de sortie.
  7. Etape 7 : Le nouveau fichier ainsi généré est recopié dans un répertoire dédié.
PS : La message box est représentée à deux endroits pour ne pas surcharger le schéma ; il s'agit bien sûr de la même.

Je vous invite aussi à jeter un oeil à l'approche adoptée par les précédents articles et à la comparer à celle-ci.
 
» Démarrer une discussion