Planificación de analizadores definidos por el usuario

Lea los conceptos que debería tener en cuenta antes de desarrollar un analizador definido por el usuario.

Cuando haya considerado la información proporcionada aquí y esté preparada para desarrollar su propio analizador, utilice las instrucciones de Desarrollo de analizadores definidos por el usuario para construir el analizador.

Análisis

Antes de empezar a crear su propio analizador, tiene que tener claro su propósito. Puede realizar la mayoría de las tareas utilizando las funciones que se proporcionan con IBM® Integration Bus, por lo que es posible que no necesite crear un analizador definido por el usuario para su tarea concreta.

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?

    Si los analizadores disponibles en IBM Integration Bus no son adecuados para sus necesidades, defina su propio analizador para analizar formatos de mensajes comerciales internos, específicos del cliente o genéricos.

  • ¿ IBM Integration Bus ya proporciona un analizador para el dominio o cabecera de mensaje?

    Consulte Analizadores para obtener detalles de los dominios de mensajes para los que los analizadores suministrados pueden aceptar mensajes de entrada y cabeceras de mensajes con los que pueden funcionar los analizadores suministrados.

  • ¿Dicta la sintaxis de un mensaje interno o comercial un formato que se pueda analizar?
  • Para analizar el mensaje satisfactoriamente, ¿es necesario que el analizador interactúe con software de proveedor? 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?

    IBM Integration Bus no da soporte a mensajes multiformato y multiformato. 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?

    IBM Integration Bus da soporte al análisis parcial, que permite al analizador analizar sólo los campos relevantes de un mensaje. Mediante el análisis parcial se pueden ahorrar recursos del sistema.

Análisis parcial y completo

IBM Integration Bus da soporte a 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 esta razón, IBM Integration Bus permite el análisis de 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 nodo de integración 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 mensajes 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 mensajes 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 mensajes 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.