Exemple Hello World1 de règles d’entreprise (exemple BizTalk Server)
L'exemple de règles d'entreprise « Hello World1 » montre comment créer un ensemble de règles BizTalk, l'enregistrer dans un fichier (SampleRuleSet.xml), le charger et l'exécuter sur la base d'un exemple d'ensemble de faits. L'exemple d'ensemble de règles contient une seule règle impliquant un élément XML, ainsi que des objets .NET (propriétés et membres) en tant que termes dans la définition de règle.
Fonctions de l'exemple
Cet exemple crée un fichier exécutable qui effectue la séquence d'étapes suivante :
Appelle la méthode CreateRuleset pour générer l’ensemble de règles décrit dans la section Remarques.
Appelle la méthode SaveToFile pour illustrer l’enregistrement d’un jeu de règles dans un fichier.
Appelle la méthode LoadFromFile pour illustrer le chargement d’un jeu de règles à partir d’un fichier.
Crée les exemples de faits sur lesquels exécuter l'ensemble de règles.
Exécute l'ensemble de règles sur les exemples de faits et génère une sortie écran.
Marque un temps d'arrêt vous permettant d'examiner le fichier de l'ensemble de règles SampleRuleStore.xml.
Effectue un nettoyage en supprimant le fichier de l'ensemble de règles pour préparer les exécutions suivantes de l'exemple.
Accès à l'exemple
<Chemin d’accès> des exemples\Règles d’entreprise\Règles d’entreprise Hello World1\
Le tableau suivant présente les fichiers de cet exemple et décrit leur fonction.
Fichier(s) | Description |
---|---|
App.ico, AssemblyInfo.cs, BusinessRulesHelloWorld1.csproj, BusinessRulesHelloWorld1.sln | Projet, solution et fichiers associés pour la portion de cet exemple qui crée, enregistre, charge et exécute un ensemble de règles. |
HelloWorld1.cs | Fichier Visual C# contenant les méthodes servant à montrer la création d'un ensemble de règles, son enregistrement dans un fichier et son chargement à partir d'un fichier. Il contient également un code environnant qui appelle ces méthodes, puis exécute l'ensemble de règles créé. |
Cleanup.bat | Utilisé pour annuler le déploiement des assemblys et les supprimer du Global Assembly Cache (GAC). Supprime les ports d'envoi et de réception. Supprime les répertoires virtuels Microsoft Internet Information Services (IIS) le cas échéant. |
SampleDocumentInstance.xml | Exemple de fichier d'entrée conforme au schéma défini dans le fichier SampleSchema.xsd. |
SampleSchema.xsd | Fichier de schéma qui définit un schéma unique avec un élément référencé par l'ensemble de règles créé dans le fichier Visual C# HelloWorld1.cs. |
Setup.bat | Utilisé pour générer et initialiser cet exemple. |
Dans le dossier \MySampleLibrary : AssemblyInfo.cs, MySampleLibrary.csproj, MySampleLibrary.sln |
Projet, solution et fichiers associés pour la portion de cet exemple qui fournit la classe définissant les objets référencés par l'ensemble de règles créé. |
Dans le dossier \MySampleLibrary : MySampleLibraryClass.cs |
Fichier Visual C# qui contient la propriété référencée dans la partie IF de la règle créée et la méthode qui peut être appelée dans la partie THEN de la règle créée. |
Génération et initialisation de cet exemple
Suivez la procédure suivante pour créer et initialiser l'exemple de règles d'entreprise « Hello World1 ».
Pour créer et initialiser l'exemple
Dans une fenêtre de commande, accédez au dossier suivant :
<Chemin d’accès> des exemples\Règles d’entreprise\Règles d’entreprise Hello World1\
Exécutez le fichier Setup.bat, qui effectue les actions suivantes :
- Compile et déploie les projets Microsoft Visual Studio pour cet exemple.
Notes
Avant d'essayer d'exécuter cet exemple, vous devez vous assurer que BizTalk Server n'a signalé aucune erreur lors du processus de création et d'initialisation.
Notes
Si vous choisissez d’ouvrir et de générer les projets dans cet exemple sans exécuter le fichier Setup.bat, vous devez d’abord créer une paire de clés de nom fort à l’aide de l’utilitaire nom fort .NET Framework (sn.exe). Celle-ci permet de signer les assemblys obtenus.
Notes
Pour annuler les modifications effectuées par Setup.bat, exécutez Cleanup.bat. Vous devez exécuter Cleanup.bat avant d'exécuter Cleanup.bat une seconde fois.
Exécution de cet exemple
Pour exécuter l'exemple de règles d'entreprise « Hello World1 », procédez comme suit.
Pour exécuter l'exemple
Dans une fenêtre de commande, accédez au dossier suivant :
<Chemin d’accès> des exemples\Règles d’entreprise\Règles d’entreprise Hello World1\bin\Debug\
Dans la fenêtre Commande, tapez le nom du fichier exécutable pour cet exemple, (BusinessRulesHelloWorld1.exe), puis appuyez sur ENTREE.
Notes
Lors de l’exécution, cet exemple génère le fichier de jeu de règles SampleRuleStore.xml dans le dossier bin\Debug . Lorsque le fichier exécutable marque un arrêt en attendant que vous appuyiez sur ENTRÉE pour terminer, vous pouvez en examiner le contenu. N'oubliez pas de le fermer avant d'appuyer sur une touche pour terminer. Autrement, le fichier exécutable risque de ne pas pouvoir le supprimer en préparation des exécutions suivantes de l'exemple.
En fonction de la nature de l’ensemble de règles créé, si vous exécutez cet exemple avec l’exemple de fichier d’entrée fourni SampleDocumentInstance.xml, dont la valeur est (1) définie pour son élément ID , vous verrez la sortie suivante :
Creating a new ruleset ...
Saving ruleset to SampleRuleStore.xml ...
Loading ruleset ...
Asserting objects ...
Executing ...
MySampleBusinessObject Class -- MySampleMethod executed for object 2 with parameter 5
MySampleBusinessObject Class -- MySampleMethod executed for object 3 with parameter 5
Press any key to finish ...
Notes
La sortie affichée en gras, à la fois dans le code précédent et dans le code qui suit, est la sortie produite par l’exemple d’objet métier, défini par les fichiers du dossier MySampleLibrary , qui est référencé par l’ensemble de règles.
Si vous modifiez la valeur associée à l’élément ID dans l’exemple de fichier d’entrée SampleDocumentInstance.xml d’un (1) à deux (2), la sortie change comme suit :
Creating a new ruleset ...
Saving ruleset to SampleRuleStore.xml ...
Loading ruleset ...
Asserting objects ...
Executing ...
MySampleBusinessObject Class -- MySampleMethod executed for object 1 with parameter 5
MySampleBusinessObject Class -- MySampleMethod executed for object 3 with parameter 5
Press any key to finish ...
Vous n’obtiendrez pas de ligne de sortie pour les objets de la classe MySampleBusinessObject dont la propriété MyValue est définie sur une valeur (pendant la construction) qui correspond à la valeur associée à l’élément ID dans l’exemple de fichier d’entrée SampleDocumentInstance.xml.
Commentaires
La règle créée par programmation dans la méthode CreateRuleset() montre :
IF
MySampleBusinessObject.MyValue n’est pas égal à la valeur de l’élément ID dans le document XML.
THEN
MySampleBusinessObject.MySampleMethod(int) avec un paramètre entier, codé en dur sur la constante cinq (5) dans ce cas. Cette méthode produit les lignes de sortie qui commencent La classe MySampleBusinessObject --.
Cette règle dépend de ce qui suit :
Classe MySampleBusinessObject avec une propriété publique appelée MyValue et une méthode publique appelée MySampleMethod (qui accepte un paramètre entier).
Schéma XSD (Xml Schema Definition Language) qui définit un document XML qui contient un élément ID .
Vous définissez les règles en termes de classes et de schémas, mais, en cours d'exécution, des instances d'objet des classes appropriées et des instances de document des schémas appropriés sont requises. Vous évaluez les règles par rapport à ces instances d'exécution (appelées faits). Dans cet exemple, les faits sont plusieurs instances de l’objet MySampleBusinessObject, construites avec des valeurs différentes pour leur propriété MyValue, et une seule instance XML du schéma défini qui contient une valeur pour l’élément ID.