Exemple Hello World2 de règles d’entreprise (exemple BizTalk Server)
L’exemple Règles d’entreprise Hello World2 étend l’exemple De règles d’entreprise Hello World1 en montrant comment versionner, publier et déployer l’ensemble de règles XML dans le magasin de règles SQL partagé, et comment exécuter la stratégie à l’aide de l’objet Policy fourni par l’infrastructure des règles d’entreprise. L'exemple illustre également les stratégies de mise à jour dynamiques en action.
Notes
Il est basé sur l'hypothèse que l'utilisateur a installé le service de mise à jour du moteur des règles et les composants des règles d'entreprise (situés sous le nœud « Logiciels supplémentaires ») durant l'installation du produit.
Notes
Vous utilisez des objets de stratégie pour intégrer le moteur de règles dans n’importe quelle application autonome. L’objet Policy est l’abstraction par laquelle plusieurs instances du moteur de règles sont gérées, les ensembles de règles sont récupérés et instanciés à partir du magasin SQL partagé, et les mises à jour des stratégies sont récupérées et publiées dans l’application d’hébergement.
Pour obtenir des informations de base sur l’ensemble de règles défini et des exemples de faits construits par cet exemple, consultez Règles d’entreprise Hello World1.
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 Notes.
Appelle la méthode SaveToFile pour illustrer l’enregistrement d’un ensemble de règles dans un fichier.
Appelle la méthode LoadFromFile pour illustrer le chargement d’un ensemble de règles à partir d’un fichier.
Déploie l'ensemble de règles dans un magasin de règles SQL partagé.
Exécute l’ensemble de règles à l’aide d’un objet Policy et en utilisant le même ensemble d’exemples de faits que celui utilisé dans l’exemple De règles d’entreprise Hello World1.
Pauses, ce qui vous permet de modifier le fichier d’ensemble de règlesSampleRuleStore.xml d’une manière spécifique.
Exécute à nouveau l’ensemble de règles à l’aide d’un objet Policy , l’ensemble de règles maintenant modifié, puis à nouveau avec le même ensemble d’exemples de faits utilisés dans l’exemple Règles d’entreprise Hello World1.
Effectue un nettoyage en supprimant le fichier de l'ensemble de règles et les enregistrements de l'ensemble de règles déployé pour préparer les exécutions suivantes de l'exemple.
Notes
Pour obtenir des informations importantes sur tous les exemples de ce Kit de développement logiciel (SDK), consultez Exemples.
Accès à l'exemple
<Chemin d’accès> d’exemples\Règles d’entreprise\Règles d’entreprise Hello World2\
Le tableau suivant présente les fichiers de cet exemple et décrit leur fonction.
Fichier(s) | Description |
---|---|
App.ico, AssemblyInfo.cs, BusinessRulesHelloWorld2.csproj, BusinessRulesHelloWorld2.sln | Projet, solution et fichiers associés pour la portion de cet exemple qui crée, enregistre, charge, déploie et exécute un ensemble de règles. |
HelloWorld2.cs | Fichier Visual C# qui contient des méthodes pour illustrer la création d’un ensemble de règles, l’enregistrement d’un ensemble de règles dans un fichier, le chargement d’un ensemble de règles à partir d’un fichier, le déploiement de l’ensemble de règles dans un magasin de règles Microsoft SQL Server partagé, puis l’exécution de l’ensemble de règles à l’aide d’un objet Policy. |
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# Class1.cs. |
Setup.bat | Utilisé pour générer et initialiser cet exemple. |
Dans le dossier \HelloWorld2Library : AssemblyInfo.cs, HelloWorld2Library.csproj, HelloWorld2Library.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 \HelloWorld2Library : HelloWorld2LibraryClass.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. |
Pour créer et initialiser l'exemple de règles d'entreprise « Hello World2 »
Dans une fenêtre de commande, accédez au dossier suivant :
<Chemin d’accès> d’exemples\Règles d’entreprise\Règles d’entreprise Hello World2\
Exécutez le fichier Setup.bat, qui effectue les actions suivantes :
- Compile et déploie les projets 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 .NET Framework Strong Name (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.
Pour exécuter l'exemple de règles d'entreprise « Hello World2 »
Dans une fenêtre de commande, accédez au dossier suivant :
<Chemin d’accès> d’exemples\Règles d’entreprise\Règles d’entreprise Hello World2\bin\Debug\
Dans la fenêtre de commande, tapez le nom du fichier de cet exemple (BusinessRulesHelloWorld2.exe), puis appuyez sur Entrée.
Sortie de l'exemple « Hello World2 »
En fonction de la nature de l’ensemble de règles créé, décrite dans la section Commentaires de Règles d’entreprise Hello World1, si vous exécutez cet exemple avec l’exemple de fichier d’entrée fourni SampleDocumentInstance.xml, qui a une valeur d’un (1) définie pour son élément ID , vous verrez la sortie suivante :
Creating a new ruleset ...
Saving ruleset to SampleRuleStore.xml ...
Loading ruleset ...
Deploying the ruleset ...
Sleeping for 60 seconds (so that the deployed ruleset becomes effective) ...
Grabbing the policy ...
Executing the policy...
MySampleBusinessObject Class -- MySampleMethod executed for object 2 with parameter 5
MySampleBusinessObject Class -- MySampleMethod executed for object 3 with parameter 5
The major version of the policy was: 1
The minor version of the policy was: 0
Press the ENTER to continue after updating the policy...
Notes
La sortie affichée en gras est la sortie produite par l’exemple d’objet métier, définie par les fichiers du dossier HelloWorld2Library référencés par l’ensemble de règles. À ce stade, l'application reste en attente dans cet état.
La partie suivant de l'exécution de l'exemple implique l'utilisation de l'Éditeur de règles d'entreprise pour modifier ces dernières.
Utiliser l'Éditeur de règles d'entreprise afin de modifier les règles d'entreprise
Pour ouvrir le compositeur de règles d’entreprise, cliquez sur Démarrer, sur Tous les programmes, sur Microsoft BizTalk Server 20xx, puis sur Compositeur de règles d’entreprise.
Notes
Sur les systèmes qui prennent en charge le contrôle de compte d'utilisateur, vous devrez peut-être exécuter l'outil avec des privilèges d'administrateur. Pour ce faire, cliquez avec le bouton droit sur l’application, puis sélectionnez Exécuter en tant qu’administrateur.
Si une boîte de dialogue SQL Server s’affiche sur l’ordinateur exécutant SQL Server, cliquez sur OK pour vous connecter au magasin de règles.
Dans stratégie Explorer, sous le nœud SampleRuleSet, cliquez avec le bouton droit sur le nœud Version 1.0 – Déployé, puis cliquez sur Copier.
Cliquez avec le bouton droit sur SampleRuleSet, puis cliquez sur Coller (version de stratégie).
Vous pouvez modifier la condition et l'action de la règle en fonction de vos besoins. Pour cette procédure, cliquez sur règle1 dans la version 1.1 (non enregistrée). Dans le volet droit, cliquez avec le bouton droit sur Conditions, puis cliquez sur Ajouter un not logique. L’ajout d’une opération Not logique à Un prédicat égal à est équivalent à l’utilisation d’un prédicat égal .
Cliquez avec le bouton droit sur le nœud Version 1.1 (non enregistrée), puis cliquez sur Enregistrer. Cliquez à nouveau avec le bouton droit, puis cliquez sur Publier. Cliquez avec le bouton droit une troisième fois, puis cliquez sur Déployer.
Dans la fenêtre de commande en pause vous demandant d'appuyer sur une touche pour continuer après la mise à jour de la stratégie, appuyez sur une touche.
La sortie (en supposant que vous ayez modifié la règle en ajoutant un Not logique) du fichier exécutable BusinessRulesHelloWorld2.exe continue comme suit :
Sleeping for 60 seconds (so that the deployed ruleset becomes effective) ...
Grabbing the policy ...
Executing the policy...
MySampleBusinessObject Class -- MySampleMethod executed for object 1 with parameter 5
The major version of the policy was: 1
The minor version of the policy was: 1
Press ENTER to continue after updating the policy...
Notez la façon dont la sortie a changé :
La ligne de sortie de la méthode MySampleMethod ne s’imprime qu’une seule fois maintenant, pour la instance de la classe MySampleBusinessObject pour laquelle la propriété MyValue est égale à 1, au lieu de la règle précédente d’impression lorsque la propriété MyValue n’est pas égale à 1.
Le numéro de version mineure de la stratégie est désormais 1.