Einen Broker als Prüffunktion verwenden

Übersicht

In diesem Szenario werden Datenbankaktualisierungen verwendet, die unter Verwendung von Zuordnungen definiert wurden. Der Broker empfängt eine Bestätigung für einevorläufige Buchung, der Nachrichtenfluss fügt eine Zeile in die Datenbanktabelle für die Bestätigung ein, aktualisiert einen Zähler in einer anderen Tabelle für den Buchungsschlüssel und löscht die vorläufige Buchung aus einer dritten Tabelle.

In diesem Szenario werden folgende Knoten im Nachrichtenfluss verwendet: Datenlösch-, Dateneinfüge- und Datenaktualisierungsknoten. Folgende Zuordnungsfunktionen sind erforderlich.
  • Zuordnung im Dateneinfügeknoten
  • Eingabedaten zu einer einzelnen Einfügung kombinieren
  • Zuordnung im Datenaktualisierungsknoten
  • Zuordnung im Datenlöschknoten
  • BAR-Datei zum Überschreiben der Datenquelle

Verwenden Sie die Nachrichtenbroker-Tools zum Erstellen von Nachrichtenflüssen und Nachrichtengruppen und zum Erstellen und Implementieren von Brokerarchivdateien (BAR-Dateien). Außerdem müssen Sie einen Konfigurationsmanager und einen Broker erstellen. Erstellen Sie in den Nachrichtenbroker-Tools eine Domänenverbindung zum Konfigurationsmanager, und erstellen Sie einen Broker in der Domäne. Außerdem ist eine Methode zur Eingabe von Instanzennachrichten erforderlich, die (optional) MQRFH2-Header enthalten können ,z. B. argoput, rfhutil.

Schritt 1. Fluss entwickeln, um mehrere Felder mit Eingabedaten einem einzigen Einfügesatz für eine Datenbank zuzuordnen, anschließend eine andere Tabelle aktualisieren und Datensätze aus einer dritten Tabelle entfernen, entsprechende Nachrichtenmodelle und Instanznachrichten entwickeln

  1. Erstellen Sie eine Datenbank, z. B. 'MAPDB', und erstellen Sie die Tabelle 'CONFIRMATION' mit folgenden Spalten:
    RESID                INTEGER
  2. Füllen Sie die Tabelle 'CONFIRMATION' mit Werten:
    9052 
  3. Erstellen Sie eine weitere Tabelle (RESERVATION) mit folgenden Spalten:
    RESID           INTEGER
    NAME            VARCHAR(20)
    PARTY           INTEGER
    PAYMENT         DECIMAL(8,2)
  4. Füllen Sie die Tabelle 'RESERVATION' mit Werten:
    8214,'ARCHIBALD',2,0.0
    2618,'HENRY', 4, 120.0
    9052,'THAW', 3, 85.0
  5. Erstellen Sie eine weitere Tabelle (PROVISIONAL) mit folgenden Spalten:
    RESID                  INTEGER
  6. Füllen Sie die Tabelle 'PROVISIONAL' mit Werten:
     8214 2618 
  7. Erstellen Sie einen Windows-ODBC-Datenquellennamen für die Datenbank, und registrieren Sie die Datenbank beim Konfigurationsmanager (klicken Sie auf Datei->Neu->RDB-Definitionsdatei).
  8. Erstellen Sie ein Nachrichtengruppenprojekt und die Nachrichtengruppe 'MAPPING3_AUDIT_messages' (für Namensbereiche aktiviert, mit physischem XML-Format) und eine Nachrichtendefinitionsdatei namens 'AUDIT'.
  9. Erstellen Sie die Nachricht 'addev1' mit folgender Struktur:
    addev1
       id                (xsd:int) lokales Element
       status            (xsd:string) lokales Element
       name              (xsd:string) lokales Element
       size              (xsd:int) lokales Element
       payment           (xsd:decimal) lokales Element
  10. Erstellen Sie ein Nachrichtenflussprojekt namens 'MAPPING3_AUDIT_flows'.
  11. Erstellen Sie den Nachrichtenfluss 'addev1' mit: MQEmpfangsknoten ->Dateneinfügeknoten -> Datenaktualisierungsknoten -> Datenlöschknoten -> MQSendeknoten.
  12. Setzen Sie im Dateneinfügeknoten die Eigenschaft 'Datenquelle' auf MAPDB.
  13. Öffnen Sie die Zuordnung für den Dateneinfügeknoten, wählen Sie 'MAPPING3_AUDIT_messages addev1' als Quelle und 'MAPDB.SCHEMA.CONFIRMATION' als Ziel aus.
  14. Verbinden Sie die Quelle mit dem Ziel wie folgt:
    addev1             MAPDB
           id -------------- RESID
  15. Setzen Sie im Datenaktualisierungsknoten die Eigenschaft 'Datenquelle' auf MAPDB.
  16. Öffnen Sie die Zuordnung für den Datenaktualisierungsknoten, wählen Sie 'MAPPING3_AUDIT_messages addev1' als Quelle und 'MAPDB.SCHEMA.RESERVATION' als Ziel aus.
  17. Verbinden Sie die Quelle mit dem Ziel wie folgt:
    addev1             MAPDB
           id -------------- RESID
           name ---------- NAME
           size ------------ PARTY
           payment ------- PAYMENT
  18. Wählen Sie im Tabelleneditor '$db:update' aus, und ändern Sie fn:true() in $db:update.MAPDB.MQSI.RESERVATION.RESID = $source/addev1/id und $source/addev1/status = 'CONFIRM'.
  19. Setzen Sie im Datenlöschknoten die Eigenschaft 'Datenquelle' auf MAPDB.
  20. Öffnen Sie die Zuordnung für den Datenlöschknoten, wählen Sie 'MAPPING3_AUDIT_messages addev1' als Quelle und 'MAPDB.SCHEMA.PROVISIONAL' als Ziel aus.
  21. Wählen Sie im Tabelleneditor '$db:delete' aus, und ändern Sie fn:false() in $db:delete.MAPDB.MQSI.PROVISIONAL.RESID = $source/addev1/id.
  22. Erstellen Sie folgende Instanznachricht mit den entsprechenden RFH2-Headern:
    <addev1>
    <id>8214</id>
    <status>CONFIRM</status>
    <name>ARCHIBALD</name>
    <size>2</size>
    <payment>1038.0</payment>
    </addev1>
Ergebnisse von Schritt 1: Nachrichtengruppe 'MAPPING3_AUDIT_messages' erstellt und mit Nachricht 'addev1' gefüllt. Nachrichtenfluss 'addev1' in Projekt 'MAPPING3_AUDIT_flows' mit Zuordnungsdateien 'addev1_DataInsert.msgmap' und 'addev1_DataUpdate.msgmap' und 'addev1_DataDelete.msgmap' erstellt. Tabellen 'CONFIRMATION', 'RESERVATION' und 'PROVISIONAL' der Datenbank 'MAPDB' mit Daten aufgefüllt. Dateien enthalten Instanznachrichten zum Testen.

Schritt 2. Nachrichtengruppe und Fluss implementieren und Instanznachrichten über Broker ausführen

  1. Erstellen Sie eine BAR-Datei (addev1).
  2. Fügen Sie die Nachrichtengruppe 'MAPPING3_AUDIT_messages' und den Nachrichtenfluss 'addev1' zur BAR-Datei hinzu.
  3. Setzen Sie die BAR-Datei für den Broker ein.
  4. Stellen Sie das Instanzdokument in die Eingabewarteschlange.
Ergebnisse von Schritt 2: Die Ausgabenachrichten sollten den Eingabenachrichten entsprechen. In der Datenbanktabelle sollte sich folgender Inhalt befinden:
CONFIRMATION
RESID
-----------
       9052
       8214

RESERVATION
RESID       NAME                 PARTY       PAYMENT
----------- -------------------- ----------- ----------
       8214 ARCHIBALD                      2    1038.00
       2618 HENRY                          4     120.00
       9052 THAW                           3      85.00

PROVISIONAL
RESID
-----------
       2618

Schritt 3. Die Datenquelle eines der Knoten durch Änderung der BAR-Datei-Konfiguration überschreiben

  1. Erstellen Sie eine Datenbank, z. B. 'ALTDB', und erstellen Sie die Tabelle 'CONFIRMATION' mit folgenden Spalten:
    RESID                INTEGER
  2. Erstellen Sie einen Windows-ODBC-Datenquellennamen für die Datenbank, und registrieren Sie die Datenbank beim Konfigurationsmanager (Datei->Neu->RDB-Definitionsdatei).
Ergebnisse von Schritt 3: Datenbank 'ALTDB' mit Tabelle 'CONFIRMATION'.

Schritt 4. BAR-Datei erstellen, Konfiguration bearbeiten und implementieren

  1. Fügen Sie den Nachrichtenfluss 'addev1' erneut zur BAR-Datei hinzu.
  2. Wählen Sie die Registerkarte Konfigurieren im BAR-Dateieditor aus, und klicken Sie auf das Symbol für die Dateneinfügung.
  3. Ändern Sie den Eintrag im Feld 'Datenquelle' von MAPDB inALTDB, und speichern Sie anschließend die BAR-Datei.
  4. Setzen Sie die BAR-Datei für den Broker ein.
  5. Stellen Sie das Instanzdokument in die Eingabewarteschlange.
Ergebnisse von Schritt 4: Die Ausgabenachrichten sollten der Eingabenachricht entsprechen, und die Tabelle in der Datenbank 'ALTDB' sollte folgende Einträge haben:
CONFIRMATION
RESID
-----------
       8214

Zusammenfassung der Schritte 1 bis 4

  1. Nachrichtengruppe 'MAPPING3_AUDIT_messages' erstellt und mit Nachricht 'addev1' gefüllt. Nachrichtenfluss 'addev1' in Projekt 'MAPPING3_AUDIT_flows' mit Zuordnungsdateien 'addev1_DataInsert.msgmap' und 'addev1_DataUpdate.msgmap' und 'addev1_DataDelete.msgmap' erstellt. Tabellen 'CONFIRMATION', 'RESERVATION' und 'PROVISIONAL' der Datenbank 'MAPDB' mit Daten aufgefüllt. Dateien enthält Instanznachricht zum Testen.
  2. Die Ausgabenachrichten sollten den Eingabenachrichten entsprechen. In der Datenbanktabelle sollte sich folgender Inhalt befinden:
    CONFIRMATION
    RESID
    -----------
           9052
           8214
    
    RESERVATION
    RESID       NAME                 PARTY       PAYMENT
    ----------- -------------------- ----------- ----------
           8214 ARCHIBALD                      2    1038.00
           2618 HENRY                          4     120.00
           9052 THAW                           3      85.00
    
    PROVISIONAL
    RESID
    -----------
           2618
  3. Datenbank 'ALTDB' mit Tabelle 'CONFIRMATION'.
  4. Die Ausgabenachrichten sollten der Eingabenachricht entsprechen, und die Tabelle in der Datenbank 'ALTDB' sollte folgende Einträge haben:
    CONFIRMATION
    RESID
    -----------
           8214
Zugehörige Tasks
Beispiel: Nachrichtenzuordnung erstellen, konfigurieren und implementieren
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2005 Letzte Aktualisierung: Nov 17, 2005
ar25250_