Warehouse-Knoten

Zweck

Verwenden Sie den Warehouse-Knoten zur Interaktion mit einer Datenbank innerhalb der angegebenen ODBC-Datenquelle. Der Warehouse-Knoten 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.

Das Nachrichten-Warehouse kann für folgende Punkte verwendet werden:

  • Zur Verwaltung einer Prüfliste mit Nachrichten, die den Broker passieren.
  • Zur Offline- oder Stapelverarbeitung von Nachrichten, die den Broker passiert haben (Datenfilterung oder 'Data Mining').
  • 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 keine explizite Unterstützung.

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 Datenbank und Datenbanktabelle für das Speichern der Nachricht.
  • Mindestens zwei Tabellenspalten: eine für das binäre Objekt (die Nachricht), die andere für die Zeitmarke.

Der Warehouse-Knoten wird in der Workbench durch folgendes Symbol dargestellt:

Symbol für Warehouse-Knoten

Diesen Knoten in einem Nachrichtenfluss verwenden

Wenn Sie den Warehouse-Knoten 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 definieren, 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 Bereiche 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.

Warehouse-Knoten konfigurieren

Wenn Sie eine Instanz des Warehouse-Knotens 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 Warehouse-Knoten 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 Zuordnungsdatei 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 Warehouse-Knoten 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 Sie 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 in der Datenbank gespeichert wird. Darüber hinaus hängt auch das Format von diesem Inhalt ab. Sie können beispielsweise festlegen, dass die gesamte Nachricht oder nur ein bestimmter Nachrichtenbereich gespeichert werden soll. 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 Warehouse-Knoten entwickelte Zuordnungsroutine nicht mit einem anderem Knoten einsetzen, der Zuordnungen verwendet (z. B. einem 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, zu dem der Warehouse-Knoten gehört, 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 Warehouse-Knotens 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 vom Erfolg oder Scheitern des gesamten Nachrichtenflusses, wählen Sie die Option Festschreiben aus. Die Datenbankänderungen werden festgeschrieben, selbst wenn der Nachrichtenfluss fehlschlägt.
  4. Wählen Sie im Navigator des Eigenschaftendialogs die Option 'Grundeinstellung' aus, und aktivieren bzw. inaktivieren Sie anschließend die beiden Markierungsfeld:
    • 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 Markierungsfeld 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 Markierungsfeld 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 Navigator des Eigenschaftendialogs die Option 'Beschreibung' aus, um ein kurze und/oder ausführliche Beschreibung einzugeben.
  6. Klicken Sie auf Übernehmen, um die Änderungen am Warehouse-Knoten 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.
Ausgang 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 Warehouse-Knotens beschrieben.

Eigenschaft M C Standard 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 Nicht ausgewählt SQL-Datenbankwarnungen als Fehler behandeln. Wenn Sie das Markierungsfeld 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 Markierungsfeld aktivieren, wird der Vorgang ausgeführt.

In der nachfolgenden Tabelle werden die Beschreibungseigenschaften des Warehouseknotens beschrieben.

Eigenschaft M C Standard 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: 23. Aug. 2006
ac04730_