Warehouseknoten

Zweck

Verwenden Sie den Warehouseknoten zur Interaktion mit einer Datenbank innerhalb der angegebenen ODBC-Datenquelle. Der Warehouseknoten ist eine spezielle Form des Datenbankknotens, der die gesamte Nachricht und/oder Nachrichtenteile in einer Tabelle in der Datenbank speichert. Sie legen fest, was gespeichert wird, indem Sie Zuordnungen definieren, die mit Hilfe der Daten aus der Eingabenachricht die erforderliche Aktion identifizieren.

Mit dem Nachrichten-Warehouse können Sie Folgendes ausführen:

  • Prüfliste mit Nachrichten verwalten, die den Broker passieren.
  • Zur Offline- Stapelverarbeitung von Nachrichten, die den Broker passiert haben (Datenfilterung).
  • Als Quelle, aus der ausgewählte Nachrichten im Broker erneut verarbeitet werden.

Sie können im Warehouse gespeicherte Nachrichten unter Verwendung einer Standarddatenbankabfrage und mittels Filtertechniken abrufen. WebSphere Message Broker bietet keinen expliziten Support an.

Folgendes muss erstellt sein (bzw. identifiziert, falls ein Dritter die nachfolgenden Elemente erstellt hat):

  • Eingabedaten in Form einer Nachrichtengruppe und einer Nachricht.
  • Eine ODBC-Verbindung zur Datenbank.
  • Eine in der Nachricht zu speichernde Datenbank und Datenbanktabelle.
  • Mindestens zwei Tabellenspalten: eine für das binäre Objekt (die Nachricht), die andere für die Zeitmarke.

Der Warehouseknoten wird in der Workbench durch folgendes Symbol dargestellt:

Symbol für den Warehouseknoten

Diesen Knoten in einem Nachrichtenfluss verwenden

Wenn Sie den Warehouseknoten verwenden, können Sie auswählen, was Sie in der mit dem Knoten verknüpften Datenbank speichern möchten:

  • Die gesamte Nachricht, optional mit einer verknüpften Zeitmarke. Die Nachricht wird als binäres Objekt gespeichert (die Zeitmarke in einer separaten Spalte). Dies hat zwei Vorteile:
    1. Sie müssen nicht bereits vorher festlegen, wie Sie die Warehousedaten verwenden möchten. Da alles gespeichert ist, können Sie alle Daten abrufen und zu einem späteren Zeitpunkt Datenfilterungswerkzeuge darauf anwenden.
    2. Sie müssen kein spezielles Datenbankschema für jede Nachrichtenart definierten, die den Broker passieren könnte. In einem komplexen System können verschiedene Nachrichtenarten vorkommen, und die Kosten für die Definition eines eindeutigen Schemas für jede Nachrichtenart können ins Unermessliche ansteigen. Sie können jedem Warehouseknoten einen Rechenknoten voranstellen, der alle Nachrichten in ein kanonisches Warehouse-Format mit einem einheitlichen Schema konvertiert. Optional können Sie auch die gesamte Nachricht als binäres Objekt speichern.
  • Ausgewählte Teile der Nachricht, optional mit einer verknüpften Zeitmarke. Hierfür benötigen Sie ein definiertes Datenbankschema für diese Nachrichtenart. Die Nachricht wird als True Type abgebildet, so dass beispielsweise eine Zeichenfolge in der Nachricht als Zeichenfolge in der Datenbank gespeichert wird.

Warehouseknoten konfigurieren

Wenn Sie eine Instanz des Warehouseknotens in einen Nachrichtenfluss eingereiht haben, können Sie ihn konfigurieren. Klicken Sie mit der rechten Maustaste in der Editoransicht auf den Knoten, und wählen Sie die Option Eigenschaften aus. Daraufhin werden die grundlegenden Eigenschaften des Knotens angezeigt.

Alle verbindlichen Eigenschaften, für die Sie einen Wert eingeben müssen (d. h. Eigenschaften ohne definierten Standardwert), sind dort mit einem Sternchen gekennzeichnet.

Konfigurieren Sie den Warehouseknoten wie folgt:

  1. Geben Sie unter Datenquelle den Namen der entsprechenden Datenbank an, unter dem sie in dem System gespeichert ist, in dem dieser Nachrichtenfluss ausgeführt werden soll. Der Broker stellt mit der Benutzer-ID und den Kennwortdaten, die Sie in den Befehlen mqsicreatebroker, mqsichangebroker oder mqsisetdbparms angegeben haben, eine Verbindung zu dieser Datenbank her.

    Auf z/OS-Systemen verwendet der Broker die vom Broker gestartete Task-ID oder die Benutzer-ID und das Kennwort, die im angepassten Datensatz <hlq>.SBIPPROC im mqsisetdbparms-Befehl 'JCL, BIPSDBP' angegeben wurden.

  2. Geben Sie unter Feldzuordnung die Zuordnungsroutine an, die in diesem Knoten ausgeführt werden soll. Standardmäßig ist der Name der Zuordnungsroutine mit dem Namen der Abgleichungsdatei identisch, in der die Routine definiert ist. Der Standardname der Datei ist der Name des Nachrichtenflusses, der mit dem Knotennamen verknüpft wird, wenn Sie ihn in den Nachrichtenfluss einschließen (z. B. MFlow1_Warehouse.mfmap für den ersten Warehouseknoten im Nachrichtenfluss MFlow1). Sie können keinen Wert angeben, der Leerzeichen enthält.

    Wenn Sie neben dem Eingabefeld auf Durchsuchen klicken, wird ein Dialogfeld mit allen verfügbaren Zuordnungsroutinen angezeigt, auf die dieser Knoten zugreifen kann. Wählen Sie die gewünschte Routine aus, und klicken Sie auf OK. Der Name der Routine wird unter Feldzuordnung angegeben.

    Um mit der Zuordnungsroutine zu arbeiten, die mit diesem Knoten verknüpft ist, klicken Sie mit der rechten Maustaste auf den Knoten und wählen im Kontextmenü die Option Zuordnungen öffnen aus. Wenn die Zuordnungsroutine nicht existiert, wird sie für Sie mit dem Standardnamen in der Standarddatei erstellt. Wenn die Datei bereits existiert, können Sie die Datei <Nachrichtenflussname>_<Knotenname>.mfmap auch in der Navigatoransicht öffnen.

    Der Inhalt der Zuordnungsroutine bestimmt, was und in welchem Format es in der Datenbank gespeichert wird. Sie können beispielsweise alle oder auch nur Teile einer Nachricht speichern. Sie können die Daten auch als binäre Daten speichern oder jedes Feld in dem Format speichern, in dem es in der Nachricht verwendet wird (z. B. ein Zeichenfeld in der Nachricht wird als Zeichen in der Datenbank gespeichert).

    Eine Zuordnungsroutine kann nur mit dem Knotentyp verwendet werden, mit dem sie verknüpft ist. Sie können eine für einen Warehouseknoten entwickelte Zuordnungsroutine nicht mit einem anderem Knoten einsetzen, der Zuordnungen verwendet (z. B. ein Dateneinfügeknoten). Wenn Sie eine Zuordnungsroutine erstellen, können Sie sie nicht aus einer anderen Zuordnungsroutine heraus aufrufen, obwohl sie aus einer ESQL-Routine heraus aufgerufen werden kann.

  3. Wählen Sie im Dropdown-Menü die Einstellung Transaktion. Folgende Werte stehen zur Verfügung:
    • Automatisch (Standardwert). Der Nachrichtenfluss, dessen Teil der Warehouseknoten ist, wird festgeschrieben, wenn er erfolgreich ist. Das heißt dass die Aktionen, die Sie in den Zuordnungen definieren, ausgeführt werden und die Nachricht den Nachrichtenfluss weiter durchläuft. Wenn der Nachrichtenfluss fehl schlägt, wird er zurückgesetzt. Wenn Sie also die Option Automatisch auswählen, hängt die Fähigkeit, die Aktionen des Warehouseknotens in der Datenbank festzuschreiben bzw. zurückzusetzen, vom Erfolg oder Scheitern des gesamten Nachrichtenflusses ab.
    • Festschreiben. Wenn Sie alle nicht festgeschriebenen Aktionen festschreiben möchten, die in diesem Nachrichtenfluss in der mit diesem Knoten verbundenen Datenbank ausgeführt werden, und zwar unabhängig von Erfolg oder Scheitern des gesamten Nachrichtenflusses, wählen Sie die Option Festschreiben. Die Datenbankänderungen werden festgeschrieben, selbst wenn der Nachrichtenfluss fehlschlägt.
  4. Wählen Sie im Eigenschaften-Dialognavigator die Option "Grundeinstellung", und aktivieren bzw. inaktivieren Sie anschließend die beiden Kontrollkästchen:
    • Wenn Datenbankwarnmeldungen als Fehler behandelt werden und der Knoten die Ausgabenachricht an das Fehlerterminal weitergeben soll, aktivieren Sie das Kontrollkästchen Warnungen als Fehler behandeln. das Kontrollkästchen ist ursprünglich inaktiviert.

      Wenn Sie es aktivieren, behandelt der Knoten alle positiven Rückkehrcodes von der Datenbank als Fehler und generiert Ausnahmebedingungen auf dieselbe Art wie bei negativen oder schwerwiegenden Fehlern.

      Wenn Sie das Kästchen nicht aktivieren, behandelt der Knoten Warnungen als normale Rückkehrcodes und gibt keine Ausnahmebedingung aus. Die höchstwertige Warnung, die ausgegeben werden kann, lautet nicht gefunden. Sie kann in den meisten Fällen als normaler Rückkehrcode sicher bearbeitet werden.

    • Wenn der Broker bei Feststellung eines Datenbankfehlers eine Ausnahmebedingung generieren soll, aktivieren Sie das Kontrollkästchen Ausnahme für Datenbankfehler ausgeben. Das Kontrollkästchen ist ursprünglich aktiviert.

      Wenn Sie es inaktivieren, müssen Sie den Fehler im Nachrichtenfluss bearbeiten, um die Integrität des Brokers und der Datenbank zu gewährleisten: der Fehler wird ignoriert, wenn Sie ihn nicht über ihren eigenen Prozess bearbeiten, da Sie kein Aufrufen der Standardfehlerbehandlung durch den Broker ausgewählt haben. Sie könnten beispielsweise das Fehlerterminal mit einer Fehlerverarbeitungs-Subroutine verbinden.

  5. Wählen Sie im Eigenschaften-Dialognavigator die Option "Beschreibung", um ein kurze und/oder ausführliche Beschreibung einzugeben.
  6. Klicken Sie auf Übernehmen, um die Änderungen am Warehouseknoten vorzunehmen, ohne das Dialogfeld mit den Eigenschaften zu schließen. Klicken Sie auf OK, um die Änderungen zu übernehmen und das Dialogfeld mit den Eigenschaften zu schließen.

    Klicken Sie auf Abbrechen, um das Dialogfeld zu schließen und alle Änderungen zu verwerfen, die Sie an den Eigenschaften vorgenommen haben.

Terminals und Eigenschaften

In der nachfolgenden Tabelle werden die Terminals des Warehouseknotens beschrieben:

Terminal Beschreibung
Eingangsterminal Das Eingangsterminal, das eine Nachricht zur Verarbeitung durch einen Knoten annimmt
Fehlerterminal Das Ausgabeterminal, an das die Eingabenachricht geleitet wird, wenn während der Berechnung ein Fehler auftritt. Wenn Sie die Option Warnungen als Fehler behandeln ausgewählt haben, gibt der Knoten die Nachricht auch dann an dieses Terminal weiter, wenn die Verarbeitung erfolgreich beendet wird.
Ausgangsterminal Das Ausgabeterminal, das die Nachricht nach Ausführung der Datenbankanweisung ausgibt.

In der nachfolgenden Tabelle werden die Knoteneigenschaften beschrieben. Die Spalte M zeigt an, ob die Eigenschaft obligatorisch ist (markiert mit einem Sternchen im Eigenschaftendialog, ob Sie einen Wert eingeben müssen, wenn kein Standardwert definiert ist). Die Spalte C zeigt an, ob die Eigenschaft konfigurierbar ist (Sie können den Wert ändern, wenn Sie der BAR-Datei den Nachrichtenfluss hinzufügen, um ihn einzusetzen).

In der nachfolgenden Tabelle werden die grundlegenden Eigenschaften des Warehouseknotens beschrieben.

Eigenschaft M C Standardwert Beschreibung
Datenquelle Nein Ja   Der Name der ODBC-Datenquelle für die Datenbank mit den Tabellen, auf die Sie in den mit diesem Knoten verknüpften Zuordnungen verweisen (wie unter der Eigenschaft Feldzuordnung festgelegt).
Feldzuordnung Ja Nein Warehouse Der Name der Zuordnungsroutine, die die Anweisungen enthält, die gegen die Datenbank oder Nachrichtenbaumstruktur ausgeführt werden sollen. Die Routine ist eindeutig und kann nur mit diesem Knotentyp verwendet werden.
Transaktion Ja Nein Automatisch Der Transaktionsmodus für den Knoten. Dieser kann Automatisch oder Festschreiben lauten.
Warnungen als Fehler behandeln Ja Nein Gelöscht SQL-Datenbankwarnungen als Fehler behandeln. Wenn Sie das Kontrollkästchen aktivieren, wird der Vorgang ausgeführt.
Ausnahmebedingung für Datenbankfehler ausgeben Ja Nein Ausgewählt Datenbankfehler führen dazu, dass der Broker eine Ausnahmebedingung auslöst. Wenn Sie das Kontrollkästchen aktivieren, wird der Vorgang ausgeführt.

In der nachfolgenden Tabelle werden die Beschreibungseigenschaften des Warehouseknotens beschrieben.

Eigenschaft M C Standardwert Beschreibung
Kurzbeschreibung Nein Nein   Kurze Beschreibung des Knotens
Ausführliche Beschreibung Nein Nein   Text, der den Zweck des Knotens im Nachrichtenfluss beschreibt
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 18.05.2006
ac04730_