Guide pratique pour sélectionner un itinéraire à l’aide d’une stratégie de règles métier
Objectif
Cette section montre comment créer des règles métier qui peuvent être utilisées pour sélectionner un itinéraire en fonction du contenu d’un message reçu et comment configurer le composant de pipeline sélecteur d’itinéraire au sein d’un itinéraire générique pour appeler ces règles. Cette section décrit un scénario métier dans lequel les messages sont routés différemment, en fonction de la région dans laquelle réside le client.
Dans cette rubrique de procédure, vous allez effectuer les étapes suivantes :
Itinéraires de modèles pour les divisions Ouest et Est du client Global Bank.
Créez des stratégies de règles métier qui seront utilisées pour sélectionner un itinéraire pour le traitement de la demande.
Configurez le composant pipeline sélecteur d’itinéraire pour utiliser une stratégie de règles métier pour sélectionner l’itinéraire approprié.
Prérequis
Les procédures de cette rubrique pratique nécessitent l’achèvement des conditions préalables pour les activités de développement.
Avant de commencer
Effectuez les tâches suivantes avant d’effectuer les étapes plus loin dans cette rubrique pratique :
Créez le message de test GlobalBank West.
Créez le message de test GlobalBank East.
Les procédures suivantes décrivent comment effectuer chacune de ces opérations.
Pour créer le message de test GlobalBank West
Dans Windows Explorer, accédez à C :\HowTos.
Créez une copie de NAOrderDoc.xml, puis nommez le West.xml de copie.
Dans le Bloc-notes, ouvrez West.xml, puis remplacez la valeur de l’élément customerName par GlobalBankWest.
Enregistrez West.xml en tant que UTF-8, puis fermez le Bloc-notes.
Pour créer le message de test GlobalBank East
Dans Windows Explorer, accédez à C :\HowTos.
Créez une copie de NAOrderDoc.xml, puis nommez le East.xml de copie.
Dans le Bloc-notes, ouvrez East.xml, puis remplacez la valeur de l’élément customerName par GlobalBankEast.
Enregistrez East.xml en tant que UTF-8, puis fermez le Bloc-notes.
Étapes
Pour créer une stratégie de moteur de règles d’entreprise (BRE) pour sélectionner un itinéraire à l’aide de propriétés de message personnalisées
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 métiers.
Dans stratégie Explorer, cliquez avec le bouton droit sur Stratégies, puis cliquez sur Ajouter une nouvelle stratégie. Nommez la stratégie ResolveItineraryBasedOnCustomer.
Notes
Cette rubrique pratique utilise la même stratégie de règles métier et les mêmes itinéraires que ceux créés dans la rubrique Procédure : fractionner un échange et acheminer les messages résultants vers plusieurs emplacements de fichiers à l’aide d’itinéraires distincts. Si vous avez déjà terminé cette section, vous pouvez passer à la procédure « Pour créer et configurer une rampe ESB » plus loin dans cette rubrique.
Pour ajouter une règle de sélection pour le client GlobalBank West
Dans la stratégie ResolveItineraryBasedOnCustomer , cliquez avec le bouton droit sur Version 1.0 (non enregistrée), puis cliquez sur Ajouter une nouvelle règle. Nommez la règle SetGlobalBankWestItinerary.
Dans Faits Explorer, cliquez sur l’onglet Schémas XML, cliquez avec le bouton droit sur Schémas, puis cliquez sur Parcourir.
Dans la boîte de dialogue Fichiers de schéma , accédez à C :\Projects\Microsoft.Practices.ESB\Source\Samples\DynamicResolution\Source\ESB. DynamicResolution.Schemas, sélectionnez NAOrderDoc.xsd, puis cliquez sur Ouvrir.
Notes
Il s’agit du schéma qui définit le message NAOrderDoc.xml, qui a été utilisé pour créer les messages Ouest et Est que vous allez utiliser pour le test.
Dans Faits Explorer, cliquez sur NAOrderDoc.xsd, cliquez sur la propriété Type de document dans le volet Propriétés, puis tapez GlobalBank.ESB.DynamicResolution.Schemas.NAOrderDoc.
Notes
Il s’agit du nom complet du schéma.
Dans Faits Explorer, développez NAOrderDoc.xsd, puis OrderDoc.
Dans la fenêtre Règle, cliquez avec le bouton droit sur Conditions, pointez sur Prédicats, puis cliquez sur Égal.
À partir de Facts Explorer, faites glisser l’élément customerName vers le nœud argument1 sous Conditions.
Cliquez sur le nœud argument2 , puis tapez GlobalBankWest.
Dans Faits Explorer, cliquez sur l’onglet Vocabulaires. Développez esb. Vocabulaire de l’itinéraire, développez Version 1.1, puis faites glisser la définition Définir le nom de l’itinéraire sur Actions.
Cliquez sur <chaîne> vide, puis tapez GlobalBankWestItinerary.
Notes
Plus loin dans cette rubrique pratique, vous allez créer cet itinéraire pour traiter les messages de GlobalBank West.
Pour ajouter une règle de sélection pour Customer GlobalBank East
Dans Stratégie Explorer, cliquez avec le bouton droit sur la règle SetGlobalBankWestItinerary, puis cliquez sur Copier.
Cliquez avec le bouton droit sur Version 1.0 (non enregistrée), puis cliquez sur Coller.
Dans la boîte de dialogue Nouveau nom de règle , tapez SetGlobalBankEastItinerary, puis cliquez sur OK.
Dans Stratégie Explorer, cliquez sur la règle SetGlobalBankEastItinerary.
Dans la section Conditions , cliquez avec le bouton droit sur GlobalBankWest, puis cliquez sur Réinitialiser l’argument.
Cliquez sur argument2, puis tapez GlobalBankEast.
Dans la section Actions , cliquez avec le bouton droit sur GlobalBankWestItinerary, puis cliquez sur Réinitialiser l’argument.
Cliquez sur <chaîne> vide, puis tapez GlobalBankEastItinerary.
Notes
Plus loin dans la rubrique Procédure, vous allez créer cet itinéraire pour traiter les messages de GlobalBank East.
Pour publier et déployer la stratégie
Dans stratégie Explorer, sous la stratégie ResolveItineraryBasedOnCustomer, cliquez avec le bouton droit sur Version 1.0 (non enregistrée), puis cliquez sur Publier.
Dans Stratégie Explorer, sous la stratégie ResolveItineraryBasedOnCustomer, cliquez avec le bouton droit sur Version 1.0 - Publiée, puis cliquez sur Déployer.
Pour créer un modèle de langage d’itinéraire ESB spécifique au domaine (DSL) pour les messages GlobalBank West
Dans Visual Studio, ouvrez C :\HowTos\Patterns\Patterns.sln.
Dans Explorateur de solutions, cliquez avec le bouton droit sur le projet ItineraryLibrary, pointez sur Ajouter, puis cliquez sur Nouvel itinéraire.
Dans la boîte de dialogue Ajouter un nouvel élément , dans le volet Modèles, cliquez sur ItinéraireDsl.
Dans la zone Nom , tapez GlobalBankWestItinerary, puis cliquez sur Ajouter.
Pour configurer les propriétés de l’itinéraire GlobalBank West
Dans Visual Studio, cliquez sur l’aire de conception de GlobalBankWestItinerary.itinerary. Dans le Fenêtre Propriétés GlobalBankWestItinerary, configurez les propriétés suivantes :
Dans la liste déroulante Exporter de modèle , cliquez sur Exporter d’itinéraire de base de données.
Cliquez sur le bouton de sélection (...) en regard de la propriété Itinerary Database .
Dans la boîte de dialogue Propriétés de connexion, choisissez le SQL Server qui héberge la base de données du référentiel d’itinéraires, puis spécifiez le nom de la base de données (le nom par défaut est EsbItineraryDb).
Dans la liste déroulante État de l’itinéraire , cliquez sur Déployé.
Notes
Cette étape vous permet d’exporter l’itinéraire vers un référentiel central ; les itinéraires peuvent être sélectionnés et joints à partir de ce dépôt lors de la réception du message. Vous configurerez ultérieurement le composant de pipeline sélecteur d’itinéraire pour utiliser le programme de résolution du moteur de règles métiers (BRI) pour évaluer les messages entrants et sélectionner l’itinéraire approprié à partir de ce dépôt.
Pour définir la structure de l’itinéraire
À 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 :
Cliquez sur la propriété Name , puis tapez ReceiveNAOrder.
Dans la liste déroulante Extender , cliquez sur Extension de service ESB rampée.
Dans la liste déroulante Application BizTalk , cliquez sur Microsoft.Practices.ESB.
Dans la liste déroulante Port de réception , cliquez sur OnRamp.Itinerary.
À 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 ReceiveNAOrder . Dans le Fenêtre Propriétés OffRamp1, configurez les propriétés suivantes :
Cliquez sur la propriété Name , puis tapez SendNAOrder.
Dans la liste déroulante Extender , cliquez sur Extension de service ESB hors rampe.
Dans la liste déroulante Application BizTalk , cliquez sur GlobalBank.ESB.
Dans la liste déroulante Port d’envoi , cliquez sur DynamicResolutionOneWay.
À 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 ReceiveNAOrder et l’élément de modèle SendNAOrder . Dans le Fenêtre Propriétés ItineraryService1, configurez les propriétés suivantes :
Cliquez sur la propriété Name , puis tapez RouteMessage.
Dans la liste déroulante Extension de service d’itinéraire , cliquez sur Extension de service d’itinéraire hors rampe.
Dans la liste déroulante Hors rampe , développez SendNAOrder, puis cliquez sur Envoyer des gestionnaires.
Cliquez avec le bouton droit sur la collection Resolver de l’élément de modèle RouteMessage , puis cliquez sur Ajouter un nouveau programme de résolution. Dans le Fenêtre Propriétés Resolver1, configurez les propriétés suivantes :
Cliquez sur la propriété Name , puis tapez StaticResolver.
Dans la liste déroulante Implémentation du programme de résolution, cliquez sur Extension du programme de résolution statique.
Dans la liste déroulante Nom du transport , cliquez sur FICHIER.
Cliquez sur la propriété Emplacement de transport , puis tapez C :\HowTos\Out\West%MessageID%.xml.
Dans la boîte à outils, cliquez sur Connecteur. Faites glisser une connexion de l’élément de modèle ReceiveNAOrder vers l’élément de modèle RouteMessage .
Dans la boîte à outils, cliquez sur Connecteur. Faites glisser une connexion de l’élément de modèle RouteMessage vers l’élément de modèle SendNAOrder .
Pour exporter le modèle vers la base de données d’itinéraires
Dans Visual Studio, cliquez avec le bouton droit sur l’aire de conception de l’itinéraire GlobalBankWestI, puis cliquez sur Exporter le modèle.
Notes
L’itinéraire a été exporté vers la base de données d’itinéraires et peut désormais être utilisé par le composant Sélecteur d’itinéraire.
Enregistrez tous les artefacts de projet.
Pour créer un modèle DSL d’itinéraire ESB pour le message GlobalBank East
Dans Visual Studio, ouvrez C :\HowTos\Patterns.sln.
Dans Explorateur de solutions, cliquez avec le bouton droit sur le projet ItinéraireLibrary, pointez sur Ajouter, puis cliquez sur Nouvel itinéraire.
Dans la boîte de dialogue Ajouter un nouvel élément , dans le volet Modèles, cliquez sur ItinéraireDsl.
Dans la zone Nom , tapez GlobalBankEastItinerary, puis cliquez sur Ajouter.
Pour configurer les propriétés de l’itinéraire GlobalBank East
Dans Visual Studio, cliquez sur l’aire de conception de GlobalBankEastItinerary.itinerary. Dans l’Fenêtre Propriétés GlobalBankEastItinerary, configurez les propriétés suivantes :
Dans la liste déroulante Exporter de modèle , cliquez sur Exportateur d’itinéraire de base de données.
Cliquez sur le bouton de sélection (...) en regard de la propriété Itinerary Database .
Dans la boîte de dialogue Propriétés de connexion, choisissez le SQL Server qui héberge la base de données du référentiel d’itinéraires, puis spécifiez le nom de la base de données (le nom par défaut est EsbItineraryDb).
Dans la liste déroulante État de l’itinéraire , cliquez sur Déployé.
Notes
Cette étape vous permet d’exporter l’itinéraire vers un référentiel central ; Les itinéraires peuvent être sélectionnés et joints à partir de ce référentiel lorsque des messages sont reçus. Vous configurerez ultérieurement le composant de pipeline Sélecteur d’itinéraire pour utiliser le programme de résolution BRI pour évaluer les messages entrants et sélectionner l’itinéraire approprié à partir de ce dépôt.
Pour définir la structure de l’itinéraire
À 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 :
Cliquez sur la propriété Name , puis tapez ReceiveNAOrder.
Dans la liste déroulante Extendeur , cliquez sur Extension de service ESB sur ramp.
Dans la liste déroulante Application BizTalk , cliquez sur Microsoft.Practices.ESB.
Dans la liste déroulante Port de réception, cliquez sur OnRamp.Itinerary.
À 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 ReceiveNAOrder . Dans le Fenêtre Propriétés OffRamp1, configurez les propriétés suivantes :
Cliquez sur la propriété Name , puis tapez SendNAOrder.
Dans la liste déroulante Extendeur , cliquez sur Off-Ramp ESB Service Extension.
Dans la liste déroulante Application BizTalk , cliquez sur GlobalBank.ESB.
Dans la liste déroulante Port d’envoi , cliquez sur DynamicResolutionOneWay.
À 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 ReceiveNAOrder et l’élément de modèle SendNAOrder . Dans la Fenêtre Propriétés ItineraryService1, configurez les propriétés suivantes :
Cliquez sur la propriété Name , puis tapez RouteMessage.
Dans la liste déroulante Extendeur de service d’itinéraire , cliquez sur Extension de service d’itinéraire hors rampe.
Dans la liste déroulante Hors rampe , développez SendNAOrder, puis cliquez sur Envoyer des gestionnaires.
Cliquez avec le bouton droit sur la collection Resolver de l’élément de modèle RouteMessage , puis cliquez sur Ajouter un nouveau programme de résolution. Dans le Fenêtre Propriétés Resolver1, configurez les propriétés suivantes :
Cliquez sur la propriété Name , puis tapez StaticResolver.
Dans la liste déroulante Implémentation du programme de résolution, cliquez sur Extension du programme de résolution statique.
Dans la liste déroulante Nom du transport , cliquez sur FICHIER.
Cliquez sur la propriété Emplacement de transport , puis tapez C :\HowTos\Out\East%MessageID%.xml.
Dans la boîte à outils, cliquez sur Connecteur. Faites glisser une connexion de l’élément de modèle ReceiveNAOrder vers l’élément de modèle RouteMessage .
Dans la boîte à outils, cliquez sur Connecteur. Faites glisser une connexion de l’élément de modèle RouteMessage vers l’élément de modèle SendNAOrder .
Pour exporter le modèle vers la base de données d’itinéraires
Dans Visual Studio, cliquez avec le bouton droit sur l’aire de conception de l’itinéraire GlobalBankEastItinerary , puis cliquez sur Exporter le modèle.
Notes
L’itinéraire a été exporté vers la base de données d’itinéraires et peut désormais être utilisé par le composant Sélecteur d’itinéraire.
Enregistrez tous les artefacts de projet.
Pour créer et configurer un ESB on-ramp
Cliquez sur Démarrer dans la barre des tâches, pointez sur Tous les programmes, pointez sur BizTalk Server, puis cliquez sur BizTalk Server Administration.
Dans la console d’administration BizTalk Server, développez Groupe BizTalk, Applications, puis Microsoft.Practices.ESB.
Cliquez avec le bouton droit sur Emplacements de réception, pointez sur Nouveau, puis cliquez sur Emplacement de réception unidirectionnel.
Dans la boîte de dialogue Sélectionner un port de réception , cliquez sur OnRamp.Itinerary, puis sur OK.
Dans la boîte de dialogue Propriétés de l’emplacement de réception, dans la zone Nom , tapez OnRamp.Itinerary.HowTo.
Dans la liste déroulante Type , cliquez sur FICHIER, puis sur Configurer.
Dans la boîte de dialogue Propriétés du transport du fichier , dans la zone Recevoir le dossier , tapez C :\HowTos\DropFolder, puis cliquez sur OK.
Pour configurer le composant de pipeline du sélecteur d’itinéraire
Dans la boîte de dialogue Propriétés de l’emplacement de réception, dans la liste déroulante Pipeline de réception, cliquez sur ItinerarySelectReceiveXml, puis sur le bouton de sélection (...).
Utilisez la boîte de dialogue Configurer le pipeline pour configurer les propriétés de composant sélecteur d’itinéraire suivantes :
Cliquez sur la propriété ItineraryFactKey , puis tapez Resolver.Itinerary.
Cliquez sur la propriété ResolverConnectionString , puis tapez BRI :\\policy=ResolveItineraryBasedOnCustomer ; useMsg=true ; recognizeMessageFormat=true ;
Cliquez sur OK pour fermer la boîte de dialogue Configurer le pipeline .
Cliquez sur OK pour fermer la boîte de dialogue Propriétés de l’emplacement de réception.
Dans la console d’administration BizTalk Server, cliquez avec le bouton droit sur l’emplacement de réception OnRamp.Itinerary.HowTo, puis cliquez sur Activer.
Pour tester le sélecteur d’itinéraire et les règles métier
Dans Windows Explorer, accédez à C :\HowTos.
Copiez (ne déplacez pas) les fichiers East.xml et West.xml dans le dossier DropFolder.
Accédez à C :\HowTos\Out. Vérifiez que les messages East%MessageID%.xml et West%MessageID%.xml ont été écrits dans le répertoire.
Notes
Bien que identiques à l’exception de la valeur de l’élément client, les messages ont été traités à l’aide d’itinéraires différents, en fonction de la résolution du composant de pipeline sélecteur d’itinéraire.
Dans la console d’administration BizTalk Server, cliquez avec le bouton droit sur l’emplacement de réception OnRamp.Itinerary.HowTo, puis cliquez sur Désactiver.
Une fois l’emplacement de réception OnRamp.Itinerary.HowTo désactivé, cliquez dessus avec le bouton droit, puis cliquez sur Supprimer. Dans la boîte de dialogue Confirmer la suppression de l’emplacement de réception , cliquez sur Oui.
Ressources supplémentaires
Pour plus d'informations, consultez les rubriques connexes suivantes :