Dieser Abschnitt enthält Informationen zur Implementierung eines benutzerdefinierten Knotens oder Parsers zur Erweiterung der Funktionen von WebSphere Message Broker.
Benutzerdefinierte Knoten können in
C oder in Java geschrieben werden. Benutzerdefinierte Parser können nur in
C geschrieben werden.
Informationen zum Aufbau und zum Erstellen von benutzerdefinierten Knoten und Parsern finden Sie in folgenden Abschnitten:
Die Dateien, die Sie erstellen und dann verteilen sind:
Auf Windows-Systemen: eine benannte DLL-Datei mit dem Dateityp LIL.
Auf Linux-Systemen: ein gemeinsam genutztes Objekt mit dem Dateityp LIL.
Auf UNIX-Systemen: ein gemeinsam genutztes Objekt mit dem Dateityp LIL.
Unter z/OS: ein gemeinsam genutztes Objekt mit dem Dateityp LIL.
Für Java-Knoten: eine Java-Archivdatei mit dem Dateityp JAR.
Ein benutzerdefinierte C-Erweiterung implementiert eine Knoten- oder Parser-Factory, die mehrere Knoten- oder Parser-Typen unterstützen kann. Java-Benutzer müssen keine Knoten-Factory schreiben. Weitere Informationen finden Sie unter Verhalten von Knoten und Parser-Factory.
Das System lädt die benutzerdefinierte Erweiterung, wenn der Broker initialisiert wird. Dadurch werden die Registrierungsfunktionen in der benutzerdefinierten Erweiterung aufgerufen, so dass der Broker erkennt, welche Knoten oder Parser die benutzerdefinierte Erweiterung unterstützt.
Bei der Entwicklung von benutzerdefinierten Erweiterungen müssen einige Faktoren und Einschränkungen berücksichtigt werden:
- Das Koppeln eines benutzerdefinierten C-Knotens an Java und das Einbinden dieses Knotens in JNI wird nicht unterstützt. Dies ist darauf zurückzuführen, dass der Broker intern eine JVM (Java Virtual Machine) initialisiert, die über die benutzerdefinierte Erweiterungsschnittstelle nicht zur Verfügung steht. Die JVM wird mit verschiedenen Parametern initialisiert, die auf die Anforderungen des Brokers abgestimmt sind. Da in einem Prozess nur eine JVM vorhanden ist, werden vor der Initialisierung immer diese Parameter angegeben. Wenn ein benutzerdefinierter Knoten Java verwendet und der Broker zuerst initialisiert wird, sind diese Parameter möglicherweise für den benutzerdefinierten Knoten nicht geeignet. Wenn der benutzerdefinierte Knoten die JVM erstellt, bevor der Broker gestartet wird, funktioniert der Broker möglicherweise nicht richtig.
- Benutzerdefinierte Knoten können in WebSphere Event
Broker implementiert werden.
Bei der Erstellung von benutzerdefinierten Knoten für WebSphere Event
Broker-Benutzer müssen Sie sicherstellen, dass Benutzer ESQL-Code nicht auswerten können.
Knoten, die beispielsweise die Eingabe für MbSQLStatement als
Knotenattribut ermöglichen, würden effektiv einen Rechenknoten emulieren. Die Verwendung von ESQL in WebSphere Event
Broker wird nicht unterstützt.
- Benutzerdefinierte Empfangsknoten unterstützen nur XML-, BLOB- und MQ-Parser.
- Vermeiden Sie die Verwendung von betriebssystemspezifischen Funktionen.
Wenn Sie dies beachten, können benutzerdefinierte Erweiterungen auf einer Vielzahl von Plattformen ausgeführt werden, ohne dass Änderungen am Quellcode vorgenommen werden müssen.
In der folgenden Tabelle werden die Themen dargestellt, die auf dem Typ der benutzerdefinierten Erweiterung, die Sie erstellen möchten, basieren: