Freigeben über


„Hello World2“-Beispiel für Geschäftsregeln (BizTalk Server-Beispiel)

Das Beispiel "Geschäftsregeln Hello World2" erweitert das Beispiel "Geschäftsregeln Hello World1", indem veranschaulicht wird, wie der XML-Regelsatz im freigegebenen SQL-Regelspeicher versioniert, veröffentlicht und bereitgestellt wird und wie die Richtlinie mithilfe des vom Business Rules Framework bereitgestellten Policy-Objekts ausgeführt wird. Das Beispiel demonstriert ferner dynamische Richtlinienaktualisierungen in der Praxis.

Hinweis

Voraussetzung für dieses Beispiel ist, dass der Regel-Engine-Aktualisierungsdienst und die Geschäftsregelkomponenten (unter dem Knoten „Zusätzliche Software“) während der Installation des Produkts mit installiert wurden.

Hinweis

Sie verwenden Policy-Objekte , um die Regel-Engine in jede eigenständige Anwendung zu integrieren. Das Policy-Objekt ist die Abstraktion, mit der mehrere Instanzen der Regel-Engine verwaltet, Regelsätze aus dem freigegebenen SQL-Speicher abgerufen und instanziiert werden und Aktualisierungen der Richtlinien abgerufen und in der Hostinganwendung veröffentlicht werden.

Grundlegende Informationen zum definierten Regelsatz und beispielspezifische Fakten, die in diesem Beispiel erstellt werden, finden Sie unter Geschäftsregeln Hello World1.

Ziel des Beispiels

Dieses Beispiel erstellt eine ausführbare Datei, die die folgende Abfolge von Schritten ausführt:

  1. Ruft die Methode CreateRuleset auf, um den im Abschnitt Hinweise beschriebenen Regelsatz zu erstellen.

  2. Ruft die SaveToFile-Methode auf, um das Speichern eines Regelsatzes in einer Datei zu veranschaulichen.

  3. Ruft die Methode LoadFromFile auf, um das Laden eines Regelsatzes aus einer Datei zu veranschaulichen.

  4. Bereitstellen der Regel in einem freigegebenen SQL-Regelspeicher.

  5. Führt den Regelsatz mithilfe eines Policy-Objekts und mit demselben Satz von Beispielfakten aus, die im Beispiel "Geschäftsregeln Hello World1" verwendet werden.

  6. Hält an, sodass Sie die Regelsatzdatei SampleRuleStore.xml auf bestimmte Weise ändern können.

  7. Führt den Regelsatz erneut mit einem Policy-Objekt , dem jetzt geänderten Regelsatz und erneut mit demselben Satz von Beispielfakten aus, die im Beispiel "Geschäftsregeln Hello World1" verwendet wurden.

  8. Bereinigen, indem die Regelsatzdatei sowie die in Vorbereitung für die anschließende Ausführung des Beispiels bereitgestellten Regelsatz-Datensätze gelöscht werden.

Hinweis

Wichtige Informationen zu allen Beispielen in diesem SDK finden Sie unter Beispiele.

Speicherort dieses Beispiels

<Beispielpfad>\Geschäftsregeln\Geschäftsregeln Hello World2\

In der folgenden Tabelle werden die Dateien in diesem Beispiel samt Zweck beschrieben.

Datei(en) BESCHREIBUNG
App.ico, AssemblyInfo.cs, BusinessRulesHelloWorld2.csproj, BusinessRulesHelloWorld2.sln Projekt-, Lösungs- und zugehörige Dateien für den Teil dieses Beispiels, in dem ein Regelsatz erstellt, gespeichert, geladen, bereitgestellt und ausgeführt wird.
HelloWorld2.cs Visual C#-Datei mit Methoden zum Veranschaulichen des Erstellens eines Regelsatzes, Speichern eines Regelsatzes in einer Datei, Laden eines Regelsatzes aus einer Datei, Bereitstellen des Regelsatzes in einem freigegebenen Microsoft SQL Server-Regelspeicher und anschließendes Ausführen des Regelsatzes mithilfe eines Policy-Objekts.
Cleanup.bat Wird zum Aufheben der Bereitstellung von Assemblys und zum Entfernen aus dem globalen Assemblycache (GAC) verwendet. Entfernt Sende- und Empfangsports. Entfernt nach Bedarf virtuelle Verzeichnisse von Microsoft Internetinformationsdienste (IIS).
SampleDocumentInstance.xml Beispieleingabedatei, die das in der Datei SampleSchema.xsd definierte Schema einhält.
SampleSchema.xsd Schemadatei, die ein einfaches Schema mit einem Element definiert, auf das von dem Regelsatz verwiesen wird, der in der Visual C#-Datei Class1.cs erstellt wird.
Setup.bat Dient zum Erstellen und Initialisieren dieses Beispiels.
Im Ordner \HelloWorld2Library:

AssemblyInfo.cs, HelloWorld2Library.csproj, HelloWorld2Library.sln
Projekt-, Lösungs- und zugehörige Dateien für den Teil dieses Beispiels, in dem die Klasse bereitgestellt wird, die die Objekte definiert, auf die von dem erstellten Regelsatz verwiesen wird.
Im Ordner \HelloWorld2Library:

HelloWorld2LibraryClass.cs
Visual C#-Datei, die die Eigenschaft enthält, auf die im IF-Teil der erstellten Regel verwiesen wird, und die Methode, die im THEN-Teil der erstellten Regel aufgerufen werden kann.

So erstellen und initialisieren Sie das „Hello World2“-Beispiel für Geschäftsregeln

  1. Navigieren Sie in einem Befehlsfenster zum folgenden Ordner:

    <Beispielpfad>\Geschäftsregeln\Geschäftsregeln Hello World2\

  2. Führen Sie die Datei "Setup.bat" aus, von der folgende Aktionen ausgeführt werden:

    • Kompiliert und stellt die Visual Studio-Projekte für dieses Beispiel bereit.

    Hinweis

    Sie sollten sicherstellen, dass von BizTalk Server während des Erstellungs- und Initialisierungsprozesses keine Fehler gemeldet wurden, bevor Sie dieses Beispiel ausführen.

    Hinweis

    Wenn Sie die Projekte in diesem Beispiel öffnen und erstellen möchten, ohne die Datei Setup.bat auszuführen, müssen Sie zunächst ein Schlüsselpaar mit starkem Namen mit dem entsprechenden .NET Framework-Hilfsprogramm für starke Namen (sn.exe) erstellen. Verwenden Sie dieses Schlüsselpaar zum Signieren der resultierenden Assemblys.

    Hinweis

    Wenn Sie von "Setup.bat" vorgenommene Änderungen rückgängig machen möchten, führen Sie "Cleanup.bat" aus. "Cleanup.bat" müssen Sie ausführen, bevor "Setup.bat" ein zweites Mal ausgeführt wird.

So führen Sie das „Hello World2“-Beispiel für Geschäftsregeln aus

  1. Navigieren Sie in einem Befehlsfenster zum folgenden Ordner:

    <Beispielpfad>\Geschäftsregeln\Geschäftsregeln Hello World2\bin\Debug\

  2. Geben Sie im Befehlsfenster den Namen der Datei für dieses Beispiel ein (BusinessRulesHelloWorld2.exe), und drücken Sie dann die EINGABETASTE.

Ausgabe von „Hello World2“

Basierend auf der Art des erstellten Regelsatzes, der im Abschnitt Kommentare von Geschäftsregeln Hello World1 beschrieben wird, wird die folgende Ausgabe angezeigt, wenn Sie dieses Beispiel mit der bereitgestellten Beispieleingabedatei SampleDocumentInstance.xml ausführen, die den Wert 1 (1) für sein ID-Element definiert hat:

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...  

Hinweis

Die fett dargestellte Ausgabe ist die Ausgabe des Beispielgeschäftsobjekts, die durch die Dateien im Ordner HelloWorld2Library definiert wird, auf die der Regelsatz verweist. An diesem Punkt befindet sich die Anwendung wartend in diesem Status.

Der nächste Teil der Ausführung des Beispiels beinhaltet die Verwendung des Geschäftsregelerstellers zum Ändern der Geschäftsregeln.

So ändern Sie die Geschäftsregeln mithilfe des Geschäftsregelerstellers

  1. Klicken Sie zum Öffnen des Business Rules Composer auf Start, auf Alle Programme, auf Microsoft BizTalk Server 20xx und dann auf Business Rules Composer.

    Hinweis

    Auf einem System, das Unterstützung für die Benutzerkontensteuerung (User Account Control, UAC) bietet, müssen Sie das Tool möglicherweise mit Administratorrechten ausführen. Klicken Sie hierzu mit der rechten Maustaste auf die Anwendung, und wählen Sie dann Als Administrator ausführen aus.

  2. Wenn auf dem Computer, auf dem SQL Server ausgeführt wird, ein Dialogfeld SQL Server angezeigt wird, klicken Sie auf OK, um eine Verbindung mit dem Regelspeicher herzustellen.

  3. Klicken Sie unter Richtlinien Explorer unter dem Knoten SampleRuleSet mit der rechten Maustaste auf den Knoten Version 1.0 – Bereitgestellt, und klicken Sie dann auf Kopieren.

  4. Klicken Sie mit der rechten Maustaste auf SampleRuleSet, und klicken Sie dann auf Einfügen (Richtlinienversion).

  5. Sie können die Regelbedingung und Aktion gemäß Ihren Anforderungen anpassen. Klicken Sie für dieses Verfahren auf regel1 in Version 1.1 (nicht gespeichert). Klicken Sie im rechten Bereich mit der rechten Maustaste auf Bedingungen, und klicken Sie dann auf Logische NOT hinzufügen. Das Hinzufügen eines logischen NOT-Vorgangs zu Not Equal zum Prädikat entspricht der Verwendung eines Equal-Prädikats .

  6. Klicken Sie mit der rechten Maustaste auf den Knoten Version 1.1(nicht gespeichert), und klicken Sie dann auf Speichern. Klicken Sie erneut mit der rechten Maustaste, und klicken Sie dann auf Veröffentlichen. Klicken Sie mit der rechten Maustaste ein drittes Mal, und klicken Sie auf Bereitstellen.

  7. Drücken Sie in dem angehaltenen Befehlszeilenfenster, in dem Sie aufgefordert werden, eine beliebige Taste zu drücken, um den Vorgang nach der Aktualisierung der Richtlinie fortzusetzen, auf eine beliebige Taste.

    Die Ausgabe (vorausgesetzt, Sie haben die Regel durch Hinzufügen eines logischen NICHT geändert) der ausführbaren Datei BusinessRulesHelloWorld2.exe wird wie folgt fortgesetzt:

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...         

Beachten Sie, wie sich die Ausgabe verändert hat:

  • Die Ausgabezeile in der Methode MySampleMethod wird jetzt nur einmal gedruckt, für die instance der MySampleBusinessObject-Klasse, für die die MyValue-Eigenschaft gleich 1 ist, anstelle der vorherigen Druckregel, wenn die MyValue-Eigenschaft nicht gleich 1 ist.

  • Die Nebenversionsnummer der Richtlinie ist jetzt 1.

Weitere Informationen

Geschäftsregeln (Ordner für BizTalk Server-Beispiele)