Sugerencias de codificación para la programación de mediaciones

Sugerencias de programación como ayuda para la escritura del código de mediaciones.

  • Procure evitar los bucles en la ruta de direccionamiento de reenvío. Por ejemplo, si establece un destino que es el mismo que el destino actual, el mensaje seguirá circulando de forma ilimitada ya que, cada vez, la ruta de direccionamiento se restaurará en el destino actual. La infraestructura de mediación no comprueba si hay bucles en las rutas de direccionamiento.
  • Evite utilizar campos estáticos siempre que sea posible. Una sola mediación se puede desplegar de modo que puedan procesarse al mismo tiempo varios mensajes.
  • No almacene en memoria caché ningún cálculo del contexto o del contenido del mensaje. Estos valores pueden variar de mensaje a mensaje. Como excepción, los valores de colocación en memoria caché se derivan únicamente de las propiedades del manejador de mediación con fines de rendimiento.
  • La programación de mediaciones está sometida a las mismas restricciones que si programa un EJB. Para obtener más información sobre restricciones, vea la sección 18.1.2 de la especificación EJB 1.1.
  • Elija el nivel adecuado de control transaccional para la mediación: por ejemplo, es poco probable que una mediación que funciona en campos de un mensaje tenga implicaciones para el control de transacciones. En el otro extremo, si la mediación actualiza los campos de base de datos, requiere control de transacciones y debe avisar al administrador para que establezca el distintivo UseGlobalTransaction en la definición de la mediación. Este distintivo toma de forma predeterminada el valor False.
  • Sugerencias que se aplican específicamente al formato del mensaje:
    • Se recomienda comprobar que el mensaje continúa ajustándose al formato previsto después de que la función de mediación haya realizado las operaciones en el mismo. Debe utilizar el método isWellFormed en la interfaz SIMessage para comprobar que todos los valores de las propiedades de mensaje se pueden serializar y el gráfico de datos del mensaje se ajusta al formato del mensaje.
    • Dependiendo de cómo desee procesar el mensaje, puede especificar un formato que se ajuste a sus necesidades, en lugar de aceptar el formato natural. Por ejemplo, si desea manejar un mensaje SOAP como una serie de bytes, utilice el método getNewDataGraph en la interfaz SIMessage y especifique el formato JMS/bytes. getNewDataGraph devuelve un nuevo gráfico de datos SDO que contiene una copia del contenido de carga de SIMessage de la representación de árbol especificada mediante el campo de formato.
    • Se recomienda comprobar el formato de mensaje en el código de mediación porque es poco probable que una mediación para procesar satisfactoriamente un mensaje con un formato inesperado. Utilice el método getFormat en la interfaz SIMessage.
  • La versión de SDO soportada por las mediaciones es Versión 1.
  • Debido a una limitación de la interfaz de usuario SDO con el mensaje, los métodos de acceso a mensajes no tienen ninguna cláusula 'throws'. Como resultado, una excepción generada por un método de acceso debido a un error de análisis es una excepción no comprobada. La mediación puede captar una excepción de análisis comprobando la clase de excepción SIMessageParseException del paquete com.ibm.websphere.sib.exception. Utilice un código similar al siguiente ejemplo:
    try {
      // Función que implica acceso a mensajes SDO
    } catch (SIMessageParseException e) {
      // Buscar la causa real de la excepción de tiempo de ejecución y actuar en consecuencia.
      // Es posible que indique un error de análisis...
      Throwable cause = e.getCause();
    }
    Nota: Si una mediación no capta SIMessageParseException, la versión original del mensaje se envía al destino de excepciones.
  • Cuando despliegue la mediación, asigne al manejador y a la lista de manejadores nombres descriptivos que pueda recordar.
  • Cuando despliegue una mediación para un solo destino, utilice exactamente el mismo nombre para el manejador de mediación, la lista de manejadores de mediación y el objeto de mediación de la consola administrativa.
  • Por motivos de rendimiento, especifique reglas de selector de modo que la mediación solamente medie en los subconjuntos de mensajes necesarios que pasen a través de un destino.

Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cjy0115
File name: cjy0115.html