Partager via


Guide pratique pour router un message en fonction de son contexte à l’aide d’une stratégie de règles métier

Objectif

Cette section montre comment créer un itinéraire qui détermine les points de terminaison de message, en fonction des propriétés de contexte de message, à l’aide d’une stratégie BizTalk Server Business Rules Engine (BRE), puis achemine le message à l’aide de l’adaptateur file BizTalk Server.

Dans cette rubrique de procédure, vous allez effectuer les étapes suivantes :

  • Créez une stratégie de règles d’entreprise pour évaluer le type de message.

  • Créez un bordereau de routage d’itinéraire pour acheminer dynamiquement à l’aide d’une stratégie de règles d’entreprise.

  • Testez l’itinéraire à l’aide de l’exemple d’application Itinerary Test Client.

Prérequis

Les procédures décrites dans cette rubrique de procédure nécessitent l’achèvement des conditions préalables pour les activités de développement.

Étapes

Pour créer une stratégie BRE pour acheminer un message à l’aide des propriétés de contexte de message

  1. Cliquez sur Démarrer dans la barre des tâches, pointez sur Tous les programmes, pointez sur BizTalk Server, puis cliquez sur Compositeur de règles d’entreprise.

  2. Dans Stratégie Explorer, cliquez avec le bouton droit sur Stratégies, puis cliquez sur Ajouter une nouvelle stratégie. Nommez la stratégie RouteBasedOnMessageType.

    Pour ajouter une règle de routage pour les commandes nord-américaines

  3. Dans la stratégie RouteBasedOnMessageType , cliquez avec le bouton droit sur Version 1.0 (non enregistrée), puis cliquez sur Ajouter une nouvelle règle. Nommez la règle SetNAOrderEndpoint.

  4. Dans la fenêtre Règle, cliquez avec le bouton droit sur Conditions, pointez sur Prédicats, puis cliquez sur Égal.

  5. Dans Faits Explorer, développez esb. Vocabulaire ContextInfo, développez Version 1.0, puis faites glisser le fait Type de message de contexte vers le nœud argument1 sous Conditions.

    Notes

    Microsoft BizTalk ESB Toolkit comprend plusieurs vocabulaires qui peuvent être utilisés pour créer des règles. Certains d’entre eux doivent être remplacés ou augmentés par vos propres vocabulaires. Par exemple, la stratégie DynamicRunTimeMaptypes contient des définitions pour les cartes fournies dans les exemples GlobalBank .

  6. Cliquez sur le nœud argument2 , puis tapez http://globalbank.esb.dynamicresolution.com/northamericanservices/#OrderDoc

  7. Dans Faits Explorer, développez esb. Vocabulaire EndPointInfo, développez Version 1.0, puis faites glisser la définition Définir l’emplacement de transport sortant du point de terminaison vers Actions.

  8. Cliquez sur <une chaîne> vide, puis tapez C :\HowTos\Out\NorthAmerica%MessageID%.xml

  9. À partir de Facts Explorer, faites glisser la définition Définir le type de transport sortant du point de terminaison vers Actions.

  10. Dans Faits Explorer, développez esb. Vocabulaire TansportTypes, développez Version 1.0, puis faites glisser la définition Fournisseurs d’adaptateurs vers <une chaîne> vide.

  11. Dans le volet Actions, développez la liste déroulante Fournisseurs d’adaptateurs , puis cliquez sur FICHIER.

    Pour publier et déployer la stratégie

  12. Dans stratégie Explorer, sous la stratégie RouteBasedOnMessageType, cliquez avec le bouton droit sur Version 1.0 (non enregistrée), puis cliquez sur Publier.

  13. Dans stratégie Explorer, sous la stratégie RouteBasedOnMessageType, cliquez avec le bouton droit sur Version 1.0 - Publiée, puis cliquez sur Déployer.

    Pour créer un modèle de langage spécifique au domaine (DSL) d’itinéraire ESB

  14. Dans Visual Studio, ouvrez C :\HowTos\Patterns\Patterns.sln.

  15. Dans Explorateur de solutions, cliquez avec le bouton droit sur le projet ItinéraireLibrary, pointez sur Ajouter, puis cliquez sur Nouvel itinéraire.

  16. Dans la zone Nom , tapez MessageType, puis cliquez sur Ajouter.

    Pour configurer les propriétés de l’itinéraire

  17. Dans Visual Studio, cliquez sur l’aire de conception de MessageType.itinerary. Dans l’Fenêtre Propriétés MessageType, configurez les propriétés suivantes :

    1. Dans la liste déroulante Exporter de modèle , cliquez sur Exportateur d’itinéraire XML.

    2. Dans la section Paramètres de l’extendeur , en regard de la propriété fichier XML D’itinéraire , cliquez sur le bouton de sélection (...).

    3. Dans la boîte de dialogue Sélectionner un fichier XML , dans la zone Nom de fichier , tapez C :\HowTos\Itineraries\MessageType, puis cliquez sur Enregistrer.

      Notes

      Cette étape vous permet d’exporter l’itinéraire au format XML vers un emplacement de fichier local. L’exportation d’un itinéraire vers un emplacement de fichier local, plutôt que vers la base de données d’itinéraire, permet de tester l’itinéraire à l’aide de l’application ESB Test Client. Vous terminerez ce processus plus loin dans cette rubrique de procédures.

    Pour définir la structure de l’itinéraire

  18. À partir de la boîte à outils, faites glisser un élément de modèle On-Ramp vers l’aire de conception. Dans le Fenêtre Propriétés OnRamp1, configurez les propriétés suivantes :

    1. Cliquez sur la propriété Name , puis tapez ReceiveOrders.

    2. Dans la liste déroulante Extendeur , cliquez sur On-Ramp ESB Extender.

    3. Dans la liste déroulante Application BizTalk , cliquez sur Microsoft.Practices.ESB.

    4. Dans la liste déroulante Port de réception, cliquez sur OnRamp.Itinerary.

  19. À partir de la boîte à outils, faites glisser un élément de modèle service D’itinéraire vers l’aire de conception, puis placez-le à droite de l’élément de modèle On-Ramp . Dans la Fenêtre Propriétés ItineraryService1, configurez les propriétés suivantes :

    1. Cliquez sur la propriété Name , puis tapez BreRoute.

    2. Dans la liste déroulante Extendeur de service d’itinéraire , cliquez sur Extendeur de messagerie.

      Notes

      Cette propriété définit que le processus aura lieu dans un pipeline (messagerie). Sinon, si le processus a lieu dans une orchestration, définissez la propriété Itinerary Service Extender sur Orchestration Extender.

    3. Dans la liste déroulante Conteneur , développez ReceiveOrders, puis cliquez sur Gestionnaires de réception.

    4. Dans la liste déroulante Nom du service , cliquez sur Microsoft.Practices.ESB.Services.Routing.

  20. Cliquez avec le bouton droit sur la collection Resolver de l’élément de modèle BreRoute , puis cliquez sur Ajouter un nouveau programme de résolution. Dans le Fenêtre Propriétés Resolver1, configurez les propriétés suivantes :

    1. Cliquez sur la propriété Name , puis tapez ByMessageType.

    2. Dans la liste déroulante Implémentation du programme de résolution, cliquez sur Bre Resolver Extension.

    3. Dans la liste déroulante Stratégie , cliquez sur RouteBasedOnMessageType v 1.0.

  21. Dans la boîte à outils, cliquez sur Connecteur. Faites glisser une connexion de l’élément de modèle ReceiveOrders vers l’élément de modèle BreRoute .

  22. À partir de la boîte à outils, faites glisser un élément de modèle Off-Ramp vers l’aire de conception, puis placez-le à droite de l’élément de modèle BreRoute . Dans le Fenêtre Propriétés OffRamp1, configurez les propriétés suivantes :

    1. Cliquez sur la propriété Name , puis tapez SendBasedOnType.

    2. Dans la liste déroulante Extendeur , cliquez sur Off-Ramp ESB Extender.

    3. Dans la liste déroulante Application BizTalk , cliquez sur GlobalBank.ESB.

    4. Dans la liste déroulante Port d’envoi , cliquez sur DynamicResolutionOneWay.

  23. À partir de la boîte à outils, faites glisser un élément de modèle Service D’itinéraire vers l’aire de conception, puis placez-le entre l’élément de modèle BreRoute et l’élément de modèle SendBasedOnType . Dans la Fenêtre Propriétés ItineraryService1, configurez les propriétés suivantes :

    1. Cliquez sur la propriété Name , puis tapez SendPortFilter.

    2. Dans la liste déroulante Extendeur de service d’itinéraire , cliquez sur Extendeur hors rampe.

    3. Dans la liste déroulante Off-Ramp , développez SendBasedOnType, puis cliquez sur Envoyer des gestionnaires.

  24. Dans la boîte à outils, cliquez sur Connecteur. Faites glisser une connexion de l’élément de modèle BreRoute vers l’élément de modèle SendPortFilter .

  25. Dans la boîte à outils, cliquez sur Connecteur. Faites glisser une connexion de l’élément de modèle SendPortFilter vers l’élément de modèle SendBasedOnType .

    Pour exporter le modèle à utiliser avec le client de test d’itinéraire

  26. Dans Visual Studio, cliquez avec le bouton droit sur l’aire de conception de l’itinéraire MessageType , puis cliquez sur Exporter le modèle.

    Notes

    La version XML de l’itinéraire s’ouvre dans Visual Studio.

  27. Enregistrez tous les artefacts de projet.

  28. Dans Windows Explorer, accédez à C :\HowTos\Itinéraires et notez la création de votre xml d’itinéraire (MessageType.xml).

    Pour tester l’itinéraire

  29. Ouvrez l’exemple d’application Itinerary Test Client à l’aide du raccourci créé pendant les prérequis pour les activités de développement (C:\HowTos\ESB.Itinerary.Test.exe - Raccourci).

  30. Dans le client de test d’itinéraire, désactivez la zone Utiliser le service WCF case activée, puis cliquez sur Itinéraire de chargement.

  31. Dans la boîte de dialogue Ouvrir le fichier d’itinéraire , accédez à C :\HowTos\Tineraryes. Sélectionnez MessageType.xml, puis cliquez sur Ouvrir pour charger l’itinéraire.

  32. Cliquez sur OK pour effacer le message Itinéraire chargé avec succès .

  33. Dans le client de test d’itinéraire, cliquez sur le bouton de sélection (...) en regard de la zone Charger le message .

  34. Dans la boîte de dialogue Sélectionner un document XML à charger , accédez à C :\HowTos. Sélectionnez NAOrderDoc.xml, puis cliquez sur Ouvrir pour charger le message de test.

  35. Cliquez sur le bouton Envoyer une demande . Une fois le test terminé, cliquez sur OK pour ignorer la confirmation qui s’affiche.

  36. Dans Windows Explorer, accédez à C :\HowTos\Out\. Vérifiez que le message NorthAmerica%MessageID%.xml a été écrit dans le répertoire.

Ressources supplémentaires

Pour plus d'informations, consultez les rubriques connexes suivantes :