Lea los conceptos que debería tener en cuenta antes de desarrollar un analizador definido por el usuario.
Cuando haya considerado la información que se proporciona aquí, y esté preparado para desarrollar su propio analizador, utilice las instrucciones de Implementación de un analizador definido por el usuario para construir su analizador.
Antes de empezar a crear su propio analizador, tiene que tener claro su propósito. Puede realizar la mayor parte de las tareas utilizando las funciones que se proporcionan con WebSphere Message Broker, por lo tanto, es posible que no necesite crear un analizador definido por el usuario para una tarea determinada.
Si los analizadores que están disponibles en WebSphere Message Broker no son los adecuados para sus necesidades, defina su propio analizador para analizar formatos de mensaje internos, específicos del cliente o comerciales de tipo genérico.
Consulte Analizadores para obtener detalles sobre los dominios de mensajes para los que los analizadores suministrados pueden aceptar mensajes de entrada, y cabeceras de mensajes con las que los analizadores suministrados pueden trabajar.
WebSphere Message Broker no da soporte a mensajes de varias partes y diferentes formatos. Un mensaje MRM de varias partes debe constar de mensajes que tienen todos el mismo formato.
WebSphere Message Broker da soporte al análisis parcial, lo que permite que el analizador sólo analice los campos relevantes de un mensaje. Mediante el análisis parcial se pueden ahorrar recursos del sistema.
WebSphere Message Broker da soporte al análisis parcial. Si un mensaje individual contiene cientos o incluso miles de campos individuales, la operación de análisis requiere una cantidad considerable de memoria y recursos del procesador para poder completarse. Un flujo de mensajes individual puede hacer referencia sólo a algunos de estos campos o a ninguno de ellos, por tanto, no resulta práctico analizar cada mensaje de entrada por completo. Por este motivo, WebSphere Message Broker permite analizar los mensajes según sea necesario. Esto no impide que un analizador procese todo el mensaje en un solo paso, y algunos analizadores se escriben para procesar todo el mensaje de esta manera.
Cada elemento de sintaxis de un mensaje lógico tiene dos bits que indican si están completos todos los elementos de cualquiera de los extremos de un elemento y si sus hijos también lo están. Normalmente, el análisis se realiza de abajo a arriba y de izquierda a derecha. Cuando un analizador ha analizado los hermanos de un elemento determinado que precede al elemento dado y el primer hijo, establece el primer bit de finalización en uno. Del mismo modo, cuando se ha completado el puntero hacia el hermano siguiente de un elemento y también el puntero del último hijo, el otro bit de finalización se establece en uno.
En el análisis parcial, el intermediario espera a que se haga referencia a una parte del mensaje e invoca al analizador para que analice dicha parte del mensaje. Los nodos de proceso de mensajes hacen referencia a los campos incluidos en un mensaje utilizando nombres jerárquicos. El nombre comienza en la raíz del mensaje y continúa hacia abajo por el árbol de mensaje hasta que se localiza dicho elemento. Si se encuentra un elemento cuyos bits de finalización no se han establecido y es necesario continuar la navegación a partir de este elemento, se invoca el punto de entrada del analizador correspondiente para que analice la parte necesaria del mensaje. Se analiza la parte relevante del mensaje, se añaden los elementos adecuados al árbol lógico de mensaje y el elemento en cuestión se marca como completo.
Si no es necesario analizar toda la corriente de bits, puede utilizar el análisis parcial. Durante el análisis parcial, se llama de forma recursiva a un analizador hasta que se devuelve el elemento solicitado o hasta que el árbol de mensaje se ha marcado como completo y se sabe que el elemento solicitado no existe.
La decisión de realizar un análisis total o parcial depende de cómo tiene previsto procesar el mensaje. Si probablemente se accederá a la mayor parte de los elementos de campo dentro del mensaje durante el proceso, entonces un análisis completo del mensaje cuando se intenta acceder al mismo será probablemente el método más eficaz, particularmente para los mensajes más pequeños.
Sin embargo, si probablemente no se accederá a la mayor parte de los elementos de campo dentro del mensaje durante el proceso, entonces un análisis parcial del mensaje cuando se intenta acceder al mismo será probablemente el método más eficaz, particularmente cuando el tamaño de los mensajes crece.