Fonctionnement de l’exemple d’enrichissement de message
L’exemple d’enrichissement de messages montre qu’il est possible d’encapsuler un modèle d’intégration en tant que service réutilisable générique. Dans ce cas, l’exemple implémente le modèle d’enrichissement de contenu. Le modèle d’enrichissement de contenu implique généralement l’utilisation d’une transformation pour préparer un message en vue de sa transmission à un service externe afin de rechercher des informations, puis une autre transformation pour incorporer la réponse dans un nouveau message qui contient également des données du message d’origine. Pour implémenter le modèle de manière générique, l’exemple d’enrichissement des messages fournit un service d’itinéraire basé sur l’orchestration qui peut utiliser jusqu’à deux résolveurs pour configurer l’enrichissement d’un message à l’aide d’informations provenant d’une source externe.
Le premier résolveur doit retourner des informations de routage ; il peut également retourner des informations de transformation à côté de lui. Si elle est spécifiée, la transformation est appliquée au message entrant avant d’être routée vers l’emplacement spécifié par le programme de résolution. Dans l’exemple d’itinéraire fourni, le fournisseur d’adaptateur WCF-Custom est utilisé pour exécuter une procédure stockée SQL dans la base de données GlobalBankESB nommée GetOrderDetails et retourner le résultat.
Si vous le souhaitez, un deuxième programme de résolution peut être inclus. S’il est fourni, le deuxième programme de résolution doit inclure des informations de transformation. Cette transformation reçoit le message d’origine et le résultat, retournés par la source de données contactée, en tant qu’entrée. Dans l’exemple d’itinéraire, une carte est référencée qui utilise un fonctoid de boucle de table pour extraire les informations du message d’origine et le résultat de la procédure stockée et les inclure dans le message InventoryOrder résultant.