Este apartado contiene detalles sobre cómo implementar un nodo o analizador
definido por el usuario para mejorar la funcionalidad de
WebSphere Message Broker.
Puede escribir
los nodos definidos por el usuario en
C o Java. Los analizadores definidos
por el usuario sólo puede escribirlos en
C.
Para obtener información sobre el diseño y la creación de nodos definidos
por el usuario y extensiones definidas por el usuario, consulte los temas
siguientes:
Los archivos que crea y, a continuación, distribuye son:
En sistemas Windows, una biblioteca de enlaces dinámicos
(DLL), cuyo nombre tiene un tipo de archivo de '.lil'.
En sistemas Linux, un objeto compartido, también con un tipo de
archivo de '.lil'.
En sistemas UNIX, un objeto compartido, también con un tipo de
archivo de '.lil'.
En z/OS,
un objeto compartido, con un tipo de archivo de '.lil'.
Para nodos Java,
un archivo JAR (Java Archive), con un tipo de archivo de '.jar'.
Una extensión en C
definida por el usuario implementa una fábrica
de nodos o analizadores que puede soportar varios tipos de nodo o analizador. Los usuarios de Java no necesitan escribir una fábrica de nodos. Para
obtener más información, consulte el
comportamiento de la fábrica de nodos y
analizadores.
El sistema
carga la extensión definida por el usuario cuando se inicializa el intermediario. Esto invoca
las funciones de registro en la extensión definida por el usuario para que el
intermediario sepa qué nodos o analizadores soporta la extensión definida por el usuario.
Hay
algunas limitaciones y factores a tener en cuenta al desarrollar
extensiones definidas por el usuario:
- No
se soporta el intercambio de información de un nodo
C definido por el usuario en Java y su reinicio
en JNI. Esto se debe a que el intermediario inicializa internamente
una JVM, que no está disponible mediante la interfaz de extensión definida por el usuario. La JVM se inicializa con varios parámetros que son específicos de los requisitos del
intermediario. Dado que sólo hay una JVM en un proceso, estos parámetros los especifica
quien la inicialice primero. Si un nodo definido por el usuario utiliza Java y el intermediario se inicializa
primero, es posible que estos parámetros no sean adecuados para el nodo definido por el
usuario. Si el nodo definido por el usuario crea la JVM
antes de que se inicie el intermediario, es posible que el intermediario
no funciones correctamente.
- Los nodos definidos por el usuario se pueden desplegar en
WebSphere Event
Broker.
Al crear nodos definidos por el usuario para usuarios de
WebSphere Event
Broker, debe asegurarse de que éstos no tengan la posibilidad de evaluar el código ESQL.
Por ejemplo, los nodos que muestran la entrada en
mbSQLStatement como un atributo de nodo, estarían
realmente emulando un nodo Compute.
No se da soporte al uso de ESQL en
WebSphere Event
Broker.
- Evite el uso de funciones
específicas del sistema operativo. De esta manera, las extensiones
definidas por el usuario podrán funcionar en varias
plataformas sin tener que modificar el código fuente.
La tabla siguiente muestra los temas que debe consultar según
el tipo de extensión definida por el usuario que desee crear: