Puede desarrollar un nodo definido por el
usuario que empaquete un subflujo desde cero, del mismo modo que puede crear cualquier
otro nodo definido por el usuario cuya implementación se base en Java™,
o basarlo en un subflujo existente.
El proyecto que contiene nodos definidos por el usuario puede exportarse como
un plug-in que se instala e el entorno de desarrollo del usuario. Los
nodos que están empaquetados en el plug-in se visualizan en la paleta del editor
de Flujos de mensajes y pueden utilizarse en un flujo de mensajes de la misma
forma que se utiliza un nodo incorporado.
El empaquetado de un subflujo como nodo definido por el usuario proporciona todas las ventajas de un subflujo, como la capacidad de reutilización y de mantenimiento, así como las ventajas siguientes:
- El nodo definido por el usuario puede distribuirse entre otros desarrolladores como un plug-in.
- El nodo definido por el usuario oculta los detalles de implementación del subflujo de desarrolladores que vuelvan a utilizar el subflujo.
- El nodo definido por el usuario impide que los desarrolladores que vuelvan a utilizar el subflujo puedan modificarlo.
- El subflujo se muestra en la paleta del editor de flujos de mensajes.
Limitaciones
- No puede utilizar nodos definidos por el usuario creados a
partir de subflujos en subflujos que están definidos en archivos .subflow.
- Los flujos de mensajes que contienen nodos definidos por el usuario que se crean a partir de subflujos se deben incluir en archivos archivadores de intermediario como archivos de flujo de mensajes compilados (.cmf).
Para obtener más información, consulte
Adición de archivos a un archivador de intermediario.
- Todos los recursos de flujos (archivos de correlaciones, ESQL, XSL u otros
recursos externos), excepto código Java y conjuntos de mensajes, a los que
se hace referencia en el subflujo, deben estar localizados en el proyecto del
nodo definido por el usuario.
- Un nodo definido por el usuario puede hacer referencia a otro nodo definido por el usuario en el mismo proyecto de nodo definido por el usuario u otro existente, pero no debe hacer referencia a nada de un proyecto habitual de proyecto de Message Broker.
- El proyecto de nodo definido por el usuario puede tener referencias a
otros proyectos, como un conjunto de mensajes y proyectos Java.
- Si el nodo definido por el usuario hace referencia a un conjunto de
mensajes, debe desplegar el conjunto de mensajes en tiempo de ejecución de
forma separada. Puede copiar el conjunto de mensajes en su espacio de trabajo y
desplegarlo a través del archivo archivador de intermediario (BAR).
- Una implementación de subflujo de un nodo definido por el usuario puede
contener otros subflujos, pero todos los subflujos deben encontrarse en el
proyecto de nodo definido por el usuario.
- Se da soporte a las propiedades promocionadas de los nodos del subflujo.
Las propiedades promocionadas configurables de nodos en el subflujo se muestran como propiedades de nodo configurable en el editor de archivadores intermediarios.
- Se da soporte a las propiedades definidas por el usuario (UDP) en el subflujo. Si crea varias instancias de nodos definidos por el usuario en su flujo, cada
tipo de propiedad definida por el usuario que defina debe tener el mismo valor
en cada instancia.
- Puede utilizar el mismo subflujo más de una vez para construir un flujo de
su propiedad.
- Puede utilizar los siguientes tipos de nodo que tienen correlacionadores con nombre para crear un nodo definido por el usuario, pero no debe utilizar más de una instancia del nodo definido por el usuario en un flujo, un grupo de ejecución o un intermediario. Por ejemplo, no puede utilizar nodos de solicitud asíncrona y respuesta asíncrona, nodos agregados, pares de nodos de TimeoutControl y TimeoutNotification, o nodos de etiqueta.
Si no utiliza uno de estos tipos de nodo, el flujo de mensajes resultante no es válido. Si despliega flujos que contengan nodos de solicitud asíncrona, respuesta asíncrona o etiqueta, recibirá un mensaje de error. No obstante, no recibirá ningún mensaje de error si despliega flujos
que contienen nodos de TimeoutControl, TimeoutNotification o agregados.
- Los recursos del espacio de plug-in están visibles en todos los proyectos
del espacio de trabajo. Mantenga los nodos definidos por el usuario y sus
flujos, correlaciones, ESQL, y otros recursos similares, asociados en esquemas de intermediario con un
nombre adecuado. No coloque dichos recursos en el esquema
predeterminado ni en esquemas con nombres especiales, como
mqsi.