WebSphere Message Broker Version 8.0.0.5 Betriebssysteme: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Sehen Sie sich die Informationen zur aktuellen Produktversion im IBM Integration Bus Version 9.0 an.

.NETCompute-Knoten

Mit dem .NETCompute-Knoten können Sie auf Brokern unter Windows Ausgabenachrichten erstellen und mit Microsoft .NET Framework-Anwendungen (.NET) oder COM-Anwendungen (Component Object Model) interagieren.

Dieses Thema ist in folgende Abschnitte eingeteilt:

Zweck

Die vom .NETCompute-Knoten erstellten Ausgabenachrichten werden durch Modifizierung der durch die Eingabenachricht bereitgestellten Daten oder aus Daten anderer Quellen, beispielsweise .NET- oder COM-Anwendungen, gebildet. Zur Erstellung der Ausgabenachricht können Elemente der Eingabenachricht (z. B. Header, Headerfelder und Nachrichtendaten) sowie deren Umgebung, lokale Umgebung und Ausnahmeliste verwendet werden.

Der .NETCompute-Knoten kann zur Erstellung oder Modifizierung der Nachricht jede CLR-konforme (Common Language Runtime) Sprache wie C#, Visual Basic (VB), F# und C++/CLI (Common Language Infrastructure) verwenden.

Der .NETCompute-Knoten kann folgende Tasks ausführen:

  • Nachrichten erstellen.
  • Mit .NET- oder COM-Anwendungen interagieren.
  • Nachrichten von einem Format in ein anderes umwandeln.
  • Nachrichten zwischen Parsern kopieren.
  • Eine eingehende Nachricht mit einer .NET-Programmiersprache prüfen und abhängig von ihrem Nachrichteninhalt unverändert an eines der Ausgabeterminals des .NETCompute-Knotens weitergeben. Der Knoten verhält sich ähnlich wie ein Filter-Knoten, verwendet jedoch .NET-Programmiersprachen (anstelle von ESQL), um zu ermitteln, welches Ausgabeterminal verwendet werden soll.
  • Einen Teil einer eingehenden Nachricht mithilfe von .NET ändern und die geänderte Nachricht an eines der Ausgabeterminals weitergeben.
  • Eine Ausgabenachricht mithilfe von .NET erstellen und aufbauen, die unabhängig von der Eingabenachricht ist.

Der .NETCompute befindet sich im Ablagefach .NET der Palette und wird im WebSphere Message Broker Toolkit durch folgendes Symbol dargestellt:

Symbol für den .NETCompute-Knoten

Der .NETCompute-Knoten kann nur auf Brokern unter Windows ausgeführt werden. Wenn Sie versuchen, einen Nachrichtenfluss mit einem .NETCompute auf einem Broker auf einem Nicht-Windows-System zu implementieren, wird ein Fehler ausgelöst. Stellen Sie vor der Implementierung eines Nachrichtenflusses mit diesem Knoten sicher, dass der Broker unter Windows ausgeführt wird.

.NET-Konfigurationsdateien, die Sie auf dem .NETCompute verwenden können, werden vom WebSphere Message Broker Toolkit unterstützt.

Verwendung dieses Knotens in einem Nachrichtenfluss

Der .NETCompute-Knoten kann in jedem Nachrichtenfluss verwendet werden, der auf einem Broker unter Windows implementiert ist. Häufig findet der .NETCompute in Szenarien Verwendung, in denen die zu erstellende Nachricht mit anderen .NET-Anwendungen interagieren muss, um die Daten aus der Nachricht speichern oder zur Erweiterung der Nachricht Daten aus anderen Quellen abzurufen.

Unabhängig von der Anzahl der im Nachrichtenfluss ausgeführten Threads (als Resultat zusätzlicher Instanzen oder mehrerer Empfangsknoten) wird nur eine Instanz des .NETComputes erstellt. Aus diesem Grund muss der gesamte .NET-Benutzercode threadsicher und simultan verwendbar sein. Wie Sie einen Knoten threadsicher machen und sicherstellen, dass die durch benutzerdefinierte Erweiterungen implementierten und gestarteten Funktionen simultan verwendbar sind, erfahren Sie in den Abschnitten Ausführungsmodell für benutzerdefinierte Erweiterungen und Hinweise zum Threading bei benutzerdefinierten Erweiterungen.

Aktualisierungen, die unter Verwendung von .NET-Sprachen vorgenommen wurden, haben keinen Anteil an WebSphere Message Broker-Transaktionen.

Der .NETCompute-Knoten muss in einer .NET-Assembly konfiguriert sein, die den Code des Knotens enthält. Der Code besteht aus einer Klasse, die von der abstrakten, in der IBM.Broker.Plugin.dll-Assemblierung bereitgestellten NBComputeNode-Klasse abgeleitet wird.

Vorhandene .NET-Assembly verwenden

Falls Sie über eine von einem Hersteller oder anderen Drittanbieter bereitgestellte Assemblierung verfügen, die Ihnen als kompilierte .dll-Datei vorliegt, können Sie die Assemblierung mit der Funktion Durchsuchen der Eigenschaft Assemblierungsname des .NETComputes auswählen. Alternativ können Sie die Assemblierung direkt auf den Knoten ziehen. Wenn Ihnen keine Assemblierung vorliegt, müssen Sie eine Knotenassemblierung erstellen.

.NET-Assembly erstellen

Zur Erstellung einer .NET-Assembly, die diesen Knoten darstellt, kann der Broker mit Microsoft Visual Studio 2010 oder 2012 integriert werden. Wenn Sie Microsoft Visual Studio direkt von diesem Knoten aus starten möchten, muss Microsoft Visual Studio 2010 oder 2012 installiert sein. Sie brauchen dann nur doppelt auf den .NETCompute zu klicken. Eine Alternative wäre, mit der rechten Maustaste auf den Knoten zu klicken und Microsoft Visual Studio öffnen auszuwählen. Wenn im Fenster von Visual Studio der Name eines Microsoft Visual Studio-Projekts oder einer Visual Studio-Lösung angezeigt wird, wird das Projekt bzw. die Lösung beim Laden von Microsoft Visual Studio automatisch geöffnet.

Wählen Sie in Microsoft Visual Studio die Option New Project (Neues Projekt) aus. Dann können Sie ein Message Broker-Projekt auswählen, das sich unter der Sprache Ihrer Wahl, zum Beispiel Visual Basic, befindet.

Anschließend können Sie in der Liste ein neues Projekt auswählen. Für den .NETCompute haben Sie folgende Auswahl:
  • Message Broker-Nachricht erstellen
  • Message Broker-Nachricht filtern
  • Message Broker-Nachricht ändern

Das Projekt erstellt einen Basiscode, der dem ausgewählten Typ entspricht. Dann wird dieser Basiscode im Editor für die entsprechende .NET-Sprache (z. B. Visual Basic) angezeigt.

Die Klasse NBComputeNode enthält eine Methode, die überschrieben werden muss, sowie zwei optionale Zusatzmethoden, die Sie bei Bedarf überschreiben können. Die Methode Evaluate() wird automatisch von der Schablone Message Broker-Projekt implementiert, wenn die Schablone zur Generierung des Basiscodes verwendet wird. Diese Methode muss auf jeden Fall überschrieben werden. Bei den optionalen Methoden handelt es sich um die Methoden OnInitialize() und OnDelete(). Wenn der Knoten Initialisierungs- oder Bereinigungsoperationen durchführen soll, müssen Sie eine Implementierung der jeweiligen Methode(n) bereitstellen.

Die Methode OnDelete() wird vom Broker unmittelbar vor dem Löschen des Knotens aufgerufen. Die Methode onInitialize() wird vom Broker bei der Erstellung des Knotens aufgerufen, wenn alle Attribute des Knotens festgelegt sind. Die Methode OnInitialize() wird bei der Implementierung, jedoch noch vor deren Festschreibung aufgerufen. Somit können nachgeordnete Knoten während der Initialisierung immer noch Ausnahmen auslösen, wodurch die Implementierung fehlschlagen würde. Aus diesem Grund muss der gesamte Benutzeranwendungscode, der vom implementierten Nachrichtenfluss abhängig ist, in der Methode Evaluate() enthalten sein.

.NETCompute-Knoten konfigurieren

Wenn Sie eine Instanz des .NETComputes in einen Nachrichtenfluss einfügen, müssen Sie ihn konfigurieren. Informationen hierzu finden Sie im Abschnitt Nachrichtenflussknoten konfigurieren. Sie können den Knoten konfigurieren, indem Sie eine Assemblierungsdatei aus einem Dateiexplorer auf den Knoten ziehen. Die Knoteneigenschaften werden in der Eigenschaftenansicht angezeigt.

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

.NET-Code angeben

Das Verhalten des .NETComputes können Sie mit Anweisungen anpassen, zu deren Vorlage Sie den Basiscode der auf Microsoft Visual Studio Message Broker-Rechenknoten basierenden Projekte verwenden können. Sie können den Knoten beispielsweise so anpassen, dass er eine oder mehrere Nachrichten auf Grundlage einer Eingabenachricht oder auf Grundlage der Daten einer externen Quelle erstellt. Ein mögliches Szenario wäre beispielsweise die Änderung eines Werts der Eingabenachricht durch Hinzufügen eines oder mehrerer Werte, die aus der .NET-Schnittstelle einer externen Anwendung abgerufen werden, und das Speichern des Ergebnisses in der Ausgabenachricht.

Zum Debuggen eines innerhalb der Ausführungsgruppe ausgeführten .NETCompute-Knotens müssen Sie die .pdb-Datei der Assemblierung, durch die der Knoten implementiert wird, in das gleiche Verzeichnis einfügen, in dem sich die Knotenassemblierung befindet. Außerdem müssen Sie Microsoft Visual Studio an den Prozess DataFlowEngine.exe anhängen. Danach können Sie Ihrem Code Unterbrechungspunkte hinzufügen, an denen zum Beispiel Variablen überprüft werden.

Weitere Informationen zum Erstellen von .NET-Code für einen .NETCompute finden Sie in der .NET-API-Dokumentation. Diese ist Teil Ihrer WebSphere Message Broker-Installation und kann unter Windows über das Startmenü aufgerufen werden.

Nachrichten prüfen

Durch die Festlegung der Auswertungseigenschaften können Sie festlegen, wie die vom .NETCompute-Knoten generierte Nachricht ausgewertet werden soll. Diese Eigenschaften führen nicht dazu, dass die Eingabenachricht ausgewertet wird. Falls diese Auswertung erforderlich ist, wird davon ausgegangen, dass die Auswertung bereits durch den Empfangsknoten oder einen vorhergehenden Auswertungsknoten ausgeführt wurde.

Sie finden weitere Informationen hierzu in den Abschnitten Nachrichten überprüfen und Auswertungseigenschaften.

Terminals und Eigenschaften

In der folgenden Tabelle werden die .NETCompute-Knotenterminals beschrieben .

Terminal Typ Beschreibung
Eingabeterminal (In) Eingabedaten Das Eingabeterminal, das Daten einer fernen Quelle annimmt.
Ausgabeterminal (Out) Ausgabedaten Das Ausgabeterminal, das Daten an einen nachgeordneten Knoten sendet.
Fehlerterminal (Failure) Ausgabedaten Das Ausgabeterminal, an das die Eingabenachricht geleitet wird, wenn während der Berechnung eine unbearbeitete Ausnahmebedingung festgestellt wird.
* (dynamisch) Ausgabedaten Zur Unterstützung der Nachrichtenweiterleitung können null oder mehr dynamische Ausgabeterminals erstellt werden.

Sie können weitere dynamische Ausgabeterminals auf dem .NETCompute-Knoten definieren.

In den folgenden Tabellen werden die Knoteneigenschaften beschrieben. Die Spalte M zeigt an, ob die Eigenschaft obligatorisch ist (markiert mit einem Sternchen, wenn ein Wert eingegeben werden muss, weil kein Standardwert definiert ist). Die Spalte C zeigt an, ob die Eigenschaft konfigurierbar ist (Wert kann geändert werden, wenn der Nachrichtenfluss für die Implementierung zur BAR-Datei hinzugefügt wird).

In der folgenden Tabelle werden die Beschreibungseigenschaften des .NETCompute-Knotens beschrieben.

Eigenschaft O K Standardwert Beschreibung
Knotenname Nein Nein Knotentyp Der Name des Knotens.
Kurzbeschreibung Nein Nein   Kurze Beschreibung des Knotens.
Langbeschreibung Nein Nein   Text, der den Zweck des Knotens im Nachrichtenfluss beschreibt

In der folgenden Tabelle werden die grundlegenden Eigenschaften des .NETCompute-Knotens beschrieben.

Eigenschaft O K Standardwert Beschreibung Eigenschaft des Befehls mqsiapplybaroverride
Assemblierungsname Ja Ja   Die Assemblierung, die den Knoten implementiert. Die Assemblierung können Sie mit der Funktion Durchsuchen auswählen oder Sie können die .dll-Datei der Assemblierung auf den Knoten ziehen, um diese Eigenschaft auszufüllen. AssemblyName
Klassenname Nein Ja   Der Name der Klasse, die den Knoten implementiert. Für diese Eigenschaft ist nur dann ein Wert erforderlich, wenn von der gleichen Assemblierung zwei oder mehr Knoten bereitgestellt werden oder wenn als implementierender Knoten explizit eine Unterklasse angegeben werden soll. AssemblyNodeClassName

In der folgenden Tabelle werden die Microsoft Visual Studio-Eigenschaften für den .NETCompute beschrieben.

Eigenschaft O K Standardwert Beschreibung Eigenschaft des Befehls mqsiapplybaroverride
Name des Visual Studio-Projekts Nein Nein   Das Microsoft Visual Studio-Projekt oder die .NET-Lösung, das bzw. die den Code für diesen Knoten enthält.  

In der folgenden Tabelle werden die erweiterten Eigenschaften des .NETCompute-Knotens beschrieben.

Eigenschaft O K Standardwert Beschreibung Eigenschaft des Befehls mqsiapplybaroverride
AppDomain-Name Nein Ja   Die .NET-AppDomain, die diesen Knoten bereitstellt. AppDomain
Version Nein Ja   Die Version der Assemblierung. AssemblyVersion
Kultur Nein Ja   Die Kultur der Assemblierung. AssemblyCulture
Public Key-Token Nein Ja   Das Public Key-Token der Assemblierung. AssemblyPublicKeyToken

In der folgenden Tabelle werden die Auswertungseigenschaften des .NETCompute-Knotens beschrieben.

Eine vollständige Beschreibung zu diesen Eigenschaften erhalten Sie unter Auswertungseigenschaften.
Eigenschaft O K Standardwert Beschreibung Eigenschaft des Befehls mqsiapplybaroverride
Auswerten Nein Ja Ohne Durch diese Eigenschaft wird gesteuert, ob eine Auswertung stattfindet. Gültige Werte sind Keine, Inhalt und Wert, Inhalt und Übernehmen. validateMaster
Fehlerbehebungsmaßnahme Nein Nein Ausnahme Durch diese Eigenschaft wird gesteuert, was beim Fehlschlagen der Auswertung geschieht. Diese Eigenschaft kann nur festgelegt werden, wenn Sie Auswerten auf Inhalt oder Inhalt und Wert setzen. Gültige Werte sind Benutzertrace, Lokales Fehlerprotokoll, Ausnahmebedingung und Ausnahmeliste.  
Die Überwachungseigenschaften des Knotens werden in der folgenden Tabelle beschrieben.
Eigenschaft O K Standardwert Beschreibung
Ereignisse Nein Nein Ohne Auf dieser Registerkarte werden Ereignisse angezeigt, die Sie für den Knoten definiert haben. Standardmäßig sind für keinen Knoten in einem Nachrichtenfluss Überwachungsereignisse definiert. Über Hinzufügen, Bearbeiten und Löschen können Sie Überwachungsereignisse für den Knoten erstellen, ändern oder löschen (Details siehe Überwachungsereignisquellen mithilfe von Überwachungseigenschaften konfigurieren).

Sie können hier angezeigte Ereignisse aktivieren oder inaktivieren, indem Sie das Kontrollkästchen Aktiviert aktivieren oder inaktivieren.

Eigenschaften von Benutzer:
Eigenschaft O K Standardwert Beschreibung Eigenschaft des Befehls mqsiapplybaroverride
<Benutzerdefinierter Name> Nein Nein   Der Knoten stellt eine Tabelle bereit, in welcher der Benutzer Zeilen mit jeweils einem Name/Wert-Paar hinzufügen, bearbeiten oder löschen kann.  
Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:22:24


ReferenzthemaReferenzthema | Version 8.0.0.5 | bc16270_