Share via


Darlehensvorgang unter Verwendung von Geschäftsregeln (BizTalk Server-Beispiel)

Das Beispiel für einen Darlehensvorgang unter Verwendung von Geschäftsregeln („Loans Processing Using Business Rules“) zeigt, wie Sie einen innerhalb einer Orchestrierung verwalteten Regelsatz verwenden und wie Sie anhand einer Kombination von als Fakten bezeichneten Eingabewerten Einstellungen für bestimmte Felder in einem Dokument berechnen, das gerade verarbeitet wird. Fakten können das Ergebnis des Aufrufs einer .NET-Assembly, der aus dem XML-Code der Nachricht abgerufenen Werte oder der aus einer Datenbank abgerufenen Daten sein. In diesem Beispiel wird auch gezeigt, wie Sie die Regeln jederzeit ändern können, wodurch Sie Einfluss auf nachfolgende Berechnungen nehmen, ohne dass jedoch eine erneute Bereitstellung erforderlich ist.

Ziel des Beispiels

Dieses Beispiel veranschaulicht diese Funktionen im Kontext eines vereinfachten Kreditverarbeitungsszenarios. BizTalk Server Orchestrierung übernimmt und verarbeitet einen Kreditantrag, der auch als Kreditfall bezeichnet wird, im XML-Nachrichtenformat. Die Orchestrierung bewertet mithilfe der Geschäftsregel-Engine eingehende Nachrichten anhand der Regeln und ändert eine Nachricht je nach dem Ergebnis aus der Anwendung der Regeln. Anschließend wird die Nachricht als Datei in einen Ausgabeordner geschrieben.

Basierend auf Fakten aus mehreren Quellen, einschließlich der zu verarbeitenden Nachricht, legt dieses Beispiel die Elemente IncomeStatus, CommitmentsStatus, EmploymentStatus und ResidencyStatus der verarbeiteten Nachricht fest.

Speicherort dieses Beispiels

<Beispielpfad>\Geschäftsregeln\Kreditverarbeitung mithilfe von Geschäftsregeln\

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

Datei(en) BESCHREIBUNG
Case.xsd Schemadatei für eingehende Darlehensanträge, auch als Darlehensfälle bezeichnet.
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).
Create_CustInfo_Table.sql SQL-Skript für die Erstellung der Tabelle CustInfo in der SQL-Beispieldatenbank Northwind.
LoanProcessorBinding.xml Wird für das automatisierte Setup verwendet, z. B. Portbindung.
LoansProcessor.btproj, LoansProcessor.sln BizTalk-Projekt- und -Projektmappendateien für dieses Beispiel.
My Sample Service.odx BizTalk Server Orchestrierung für dieses Beispiel.
sampleLoan.xml Beispieleingabedatei mit leeren Werten für die vier Statuselemente am Ende der XML-Struktur in der Datei.
Setup.bat Dient zum Erstellen und Initialisieren dieses Beispiels.
Im Ordner \CreateRules:

App.ico, AssemblyInfo.cs, Case.xsd, CreateLoanProcessingPolicy.csproj, CreateLoanProcessingPolicy.sln, WriteToBRL.cs
Visual C#-Projekt-, -Projektmappen- und -Quelldateien sowie zugehörige Dateien zum Erstellen der Anwendung für die programmgesteuerte Erstellung der Regeln in dem Satz. Beispiele für die programmgesteuerte Erstellung von Regelsätzen finden Sie in der Quelldatei WriteToBRL.cs.
Im Ordner \myFactRetriever:

AssemblyInfo.cs

FactRetrieverForLoansProcessing.cs

myFactRetriever.csproj

myFactRetriever.sln
Visual C#-Projekt-, -Projektmappen und -Quelldateien sowie zugehörige Dateien zum Erstellen einer Assembly, mit der Informationen aus der Tabelle CustInfo abgerufen werden, die zuvor der SQL Server-Beispieldatenbank Northwind hinzugefügt wurde.

Erstellen und Initialisieren dieses Beispiels

  1. Stellen Sie sicher, dass die Datenbank Northwind auf dem Computer vorhanden ist.

    Wichtig

    Zum Ausführen dieses Beispiels benötigen Sie die Beispieldatenbank Northwind SQL Server. Zum Herunterladen wechseln Sie zu Northwind- und Pubs-Beispieldatenbanken für Microsoft SQL Server.

  2. Navigieren Sie in einem Befehlsfenster zum folgenden Ordner:

    <Beispielpfad>\Geschäftsregeln\Kreditverarbeitung mithilfe von Geschäftsregeln

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

    • Der globale Assemblycache (Global Assembly Cache, GAC) wird bereinigt, um von einer vorherigen Ausführung des Beispiels verbliebene Restdaten zu entfernen.

    • Der Faktenabrufer myFactRetreiever.dll wird kompiliert und bereitgestellt.

    • Mithilfe der SQL-Skriptdatei Create_CustInfo_Table.sql wird der SQL-Beispieldatenbank Northwind die Tabelle CustInfo hinzugefügt.

    • Der freigegebene SQL-Regelspeicher wird bereinigt, um von einer vorherigen Ausführung des Beispiels verbliebene Restdaten zu entfernen.

    • Die neueste Version (1.0) des Regelsatzes für den Darlehensvorgang wird erstellt, veröffentlicht und bereitgestellt.

      Hinweis

      Sie können das mit BizTalk Server bereitgestellte Tool Business Rule Composer verwenden, um die programmgesteuerten Regeln zu untersuchen.

    • Der Eingabeordner (In) und der Ausgabeordner (Out) für dieses Beispiel werden erstellt.

    • Kompiliert und stellt die verbleibenden Visual Studio-Projekte für dieses Beispiel bereit, einschließlich des BizTalk-Projekts, das die Orchestrierung enthält, die Sie zum Koordinieren dieses Beispiels verwenden.

    • Erstellen und Binden des BizTalk Server-Empfangsspeicherorts sowie der Sende- und Empfangsports.

      Hinweis

      In diesem Beispiel werden beim Erstellen und Binden von Ports folgende Warnungen angezeigt:

      Warning: Receive handler not specified for receive location "LoansProcessor_1.0.0.0_LoansProcessor.My_Sample_Service_Incoming_ReceiveLocation"; updating with first receive handler with matching transport type.

      Warning: Host not specified for orchestration "LoansProcessor.My_Sample_Service"; updating with first available host.

      Sie können diese Warnungen gefahrlos ignorieren. (Um möglichen Namensunterschieden in den Benutzerinstallationen Rechnung zu tragen, wurden der Hostname und der Empfangshandler in der Bindungsdatei ausgelassen.)

    • Aktiviert den Empfangsspeicherort und startet den Sendeport.

    • Eintragen und Starten der Orchestrierung

Hinweis

  • Wenn der Name des BizTalk-Hosts nicht BizTalkServerApplication lautet, ändern Sie die Dateien Setup.bat und LoanProcessorBinding.xml, damit der richtige Hostname angegeben wird.
  • Sie sollten sicherstellen, dass von BizTalk Server während des Erstellungs- und Initialisierungsprozesses keine Fehler gemeldet wurden, bevor Sie dieses Beispiel ausführen.
  • 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.
  • 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.

Ausführen dieses Beispiels

So führen Sie das Beispiel „Loans Processing Using Business Rules“ aus

  1. Fügen Sie eine Kopie der Datei sampleLoan.xml in den Ordner \In ein.

  2. Beobachten Sie die .xml Datei, die im Ordner Out erstellt wurde. Sie enthält die XML-Eingabenachricht mit Daten, die den folgenden vier status Elementen am Ende der XML-Struktur hinzugefügt werden: IncomeStatus, CommitmentsStatus, EmploymentStatus und ResidencyStatus.

    Mithilfe des Geschäftsregelerstellers können Sie die Regeln im Regelsatz ändern und die Regeln anschließend erneut bereitstellen.

So ändern Sie mithilfe des Geschäftsregelerstellers eine oder mehrere Regeln in einem Regelsatz

  1. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Microsoft BizTalk Server 20xx, und klicken Sie dann auf Business Rule 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. Klicken Sie im Dialogfeld SQL Server auf OK, um eine Verbindung mit dem Regelspeicher herzustellen.

  3. Klicken Sie unter Richtlinie Explorer unter dem Knoten LoanProcessing 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 LoanProcessing, und klicken Sie dann auf Einfügen.

  5. Ändern Sie alle Regeln oder Aktionen auf eine Weise, die zu unterschiedlichen Werten für die Elemente IncomeStatus, CommitmentsStatus, EmploymentStatus und ResidencyStatus führt. Stellen Sie sicher, dass Sie auch den Wert des Negationsteils (im Wesentlichen die Else-Klausel ) jeder Regel ändern, die Sie ändern möchten.

    In der folgenden Tabelle sind die in diesem Beispiel verwendeten Regelsätze aufgeführt. Sofern nicht explizit etwas anderes angegeben ist, stammen die Fakten aus der eingehenden XML-Nachricht. Die Zeichenfolge (db) gibt an, dass ein Fakt aus einer Datenbank stammt.

    Regelzahl Regelname Beschreibung
    1 Income Status Rule IF BasicSalary + OtherIncome> 0

    DANN IncomeStatus = Gültig
    2 Commitments Status Rule IF-ID == (db)

    UND

    IF CreditCardBalance (db)> 500

    DANN CommitmentsStatus =

            "Compute Commitments"
    3 Regel für Beschäftigungsstatus IF EmploymentType | TimeInMonths> 18

    DANN EmploymentStatus = Gültig
    4 Wohnsitzregel IF PlaceOfResidence | TimeInMonths> 18

    DANN ResidencyStatus = Gültig
    !1, !2, !3, !4 Negationsregeln Bedingungen, die ein logisches NICHT der entsprechenden Bedingung sind, die in Den Regeln 1–4 beschrieben ist. Die resultierenden Aktionen sind eine Änderung in der Zeichenfolge, die festgelegt wird.
  6. Klicken Sie mit der rechten Maustaste auf den Knoten Version 1.1(nicht gespeichert), und klicken Sie dann auf Speichern.

  7. Klicken Sie mit der rechten Maustaste auf den Knoten Version 1.1 , und klicken Sie dann auf Veröffentlichen.

  8. Klicken Sie mit der rechten Maustaste auf den Knoten Version 1.1 , und klicken Sie dann auf Bereitstellen.

  9. Warten Sie 60 Sekunden, damit die Änderungen an den freigegebenen SQL-Regelspeicher weitergegeben werden können.

  10. Fügen Sie eine Kopie der Datei sampleLoan.xml in den Ordner In ein.

  11. Beobachten Sie die .xml Datei, die im Ordner Out erstellt wurde. Sie enthält die XML-Eingabenachricht mit Daten, die den folgenden vier status Elementen am Ende der XML-Struktur hinzugefügt werden: IncomeStatus, CommitmentsStatus, EmploymentStatus und ResidencyStatus. Je nachdem, welche Änderungen Sie in Schritt 5 vorgenommen haben, enthalten diese Elemente möglicherweise andere Daten als bei der vorherigen Ausführung.

Kommentare

Wenn Sie die Überwachungsinformationen für dieses Beispiel anzeigen möchten, müssen Sie mithilfe des Assistenten zum Bereitstellen der Geschäftsregel-Engine die Bereitstellung des entsprechenden Regelsatzes (Loans Processing) aufheben und diesen Regelsatz dann erneut bereitstellen.

Dieses Beispiel veranschaulicht, wie Sie mithilfe von Geschäftsregeln Geschäftsrichtlinien in Form von Regeln in einer Orchestrierung anwenden können. Außerdem wird veranschaulicht, wie Sie die Richtlinien ändern und dafür sorgen können, dass die Richtlinienänderung dynamisch in die Orchestrierung übernommen wird, ohne dass Sie die Orchestrierung erneut kompilieren oder bereitstellen müssen.

Die als Eingabe dienenden Darlehensfälle in diesem Beispiel sind XML-Nachrichten mit folgender Struktur:

    Name  
    ID  
    Income  
        BasicSalary  
        OtherIncome  
    EmploymentType  
        TimeInMonths  
    PlaceOfResidence  
        TimeInMonths  
    CommitmentsStatus  
    IncomeStatus  
    EmploymentStatus  
    ResidencyStatus  

Weitere Informationen

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