Planificación de los analizadores definidos por el usuario

En este tema se describen los conceptos que debe tener en cuenta antes de desarrollar un analizador definido por el usuario. Cuando esté preparado, utilice las instrucciones del Creación de un analizador en C para crear el analizador.

Análisis

Antes de empezar a crear su propio analizador, tiene que tener claro para que lo desea. Puede realizar la mayor parte de las tareas utilizando las funciones que ya 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.

Antes de crear e implementar un analizador definido por el usuario, debe tener en cuenta lo siguiente:
  • ¿Necesita crear un analizador definido por el usuario?

    La mayor parte de las tareas que tiene que realizar se pueden realizar utilizando las funciones que se proporcionan con WebSphere Message Broker. Antes de crear su propio analizador, debe asegurarse de que la tarea que desea realizar no se lleve a cabo utilizando la función de WebSphere Message Broker antes de crear su propio analizador. Si los analizadores que están disponibles en WebSphere Message Broker no son los adecuados para sus necesidades, puede definir su propio analizador para analizar formatos de mensaje internos, específicos del cliente o comerciales de tipo genérico.

  • ¿Proporciona WebSphere Message Broker un analizador para el dominio o para la cabecera del mensaje?

    Para obtener información detallada acerca de los dominios de los mensajes en los que el analizador que se proporcionan con WebSphere Message Broker puede aceptar mensajes de entrada y las cabeceras de mensajes con las que puede trabajar el analizador proporcionado, consulte Analizadores.

  • ¿Dicta la sintaxis de un mensaje interno o comercial un formato que se pueda analizar?
  • ¿Para analizar correctamente el mensaje en cuestión, necesita el analizador tener una interfaz con software de terceros? Y si es así, ¿rompe el modelo de trabajo con hebras la API que permite acceso a este software?
  • ¿Necesita procesar mensajes de varias partes y de diferentes formatos?

    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

  • ¿Qué tipo de estrategia de análisis proporcionará el mejor rendimiento?

    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.

Análisis parcial y completo

WebSphere Message Broker da soporte a los que se llama 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. Debido a que un flujo de mensajes individual puede hacer referencia sólo a algunos de estos campos o a ninguno de ellos, 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 de una vez y que algunos analizadores se graben para que hagan precisamente esto.

Cada elemento de sintaxis de un mensaje lógico tiene dos bits que indican si están completos o no todos los elementos de cualquiera de los extremos de un elemento y si sus hijos también lo están. El análisis se suele completar de arriba abajo y de izquierda a derecha. Cuando un analizador ha completado 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 de WebSphere Message Broker 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, entonces 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 en gran parte de cómo tiene previsto procesar el mensaje en WebSphere Message Broker. Si existe la probabilidad de que se acceda a la mayor parte de los elementos de campo durante el proceso en WebSphere Message Broker, entonces un análisis completo del mensaje cuando se intenta acceder al mismo será probablemente el método más eficaz. Es muy probable que esto sea también cierto para mensajes más pequeños.

No obstante, si existe la probabilidad de que durante el proceso no se accederá a la mayor parte de los elementos de campo del mensaje en WebSphere Message Broker, entonces un análisis parcial del mensaje cuando se intenta acceder a un campo específico será el método más eficaz. Esto es especialmente cierto a medida que crece el tamaño del mensaje.

Conceptos relacionados
Análisis parcial
Tareas relacionadas
Creación de un analizador en C
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
as01403_