El algoritmo de formato de dispositivo se utiliza para determinar la JSP apropiada que se debe utilizar como respuesta a una petición determinada. Cuando se recibe una petición y se utiliza el correlacionador de mensajes para convertir la petición en un objeto CommandProperty, el correlacionador de mensajes y el adaptador utilizado para procesar la petición determinan el formato de dispositivo apropiado para generar el contenido de la respuesta. El ID del correlacionador de mensajes se añade al ID de formato de dispositivo del adaptador para determinar el ID de formato de dispositivo general de la respuesta. Este ID de formato de dispositivo general y VIEWNAME se utilizan para obtener la JSP apropiada de la tabla VIEWREG, lo cual genera el contenido de la respuesta.
A cada adaptador que acepta peticiones y que utiliza el correlacionador de mensajes se le da un ID de formato de dispositivo. Este ID se define en el archivo de configuración nombre_instancia.xml del adaptador. Este ID se define en la configuración del adaptador que se encuentra en el archivo de configuración nombre_instancia.xml. El ID de formato de dispositivo por omisión para cada adaptador de recepción que utiliza el correlacionador de mensajes es en intervalos de -10000. Un adaptador de programa tiene un ID de formato de dispositivo de -10000 y el adaptador de WebSphere MQ tiene un ID de formato de dispositivo de -20000. El adaptador que soporta los mensajes heredados utiliza el ID de formato de dispositivo de -30000. Al determinar la JSP apropiada y el mandato de vista para llamar a la JSP, se añade el ID de correlacionador de mensajes al ID de formato de dispositivo del adaptador para determinar el ID de formato de dispositivo para la vista de respuesta. Sin embargo, si la vista del ID de formato de dispositivo calculado no existe, se utiliza la vista por omisión del intervalo del adaptador. De este modo, para una petición XML a través de HTTP, el ID de formato de dispositivo por omisión es -10000 y para peticiones de adaptador WebSphere MQ, el ID de formato de dispositivo por omisión es -20000. Es necesario diferenciar la vista de respuesta para que una respuesta HTTP utilice la interfaz HttpForwardViewCommand mientras que una respuesta del adaptador de WebSphere MQ utilice la interfaz MessagingViewCommand.
Este algoritmo permite definir con un adaptador un máximo de 9999 correlacionadores de mensajes posibles. El archivo de configuración para cada correlacionador de mensajes contiene un número de ID en intervalos de 1. Para configurar adaptadores adicionales que utilizan el mensaje, se deberá dar al correlacionador un ID de formato de dispositivo que sea un intervalo de 10000. Por ejemplo, se puede dar a un mecanismo de petición nuevo un intervalo de formato de dispositivo de 40000.
Notas:
- Si no se puede encontrar el ID de formato de dispositivo calculado, se utiliza el ID de formato de dispositivo por omisión del adaptador para obtener el resultado. Este número puede configurarse en la configuración de adaptador HTTP.
- El tamaño del intervalo no es importante. Por ejemplo, si sólo existen 2 correlacionadores de mensajes, el intervalo puede ser del tamaño 3. El intervalo 10000 se utiliza por omisión.
Ejemplos
- Un correlacionador de mensajes con un ID de -1 y el adaptador de programa que tiene un ID de formato de dispositivo de -10000 manejan un mensaje de entrada. Siguiendo el algoritmo de formato de dispositivo, el ID de formato de dispositivo generado para una respuesta a dicho mensaje de entrada será de -10001. El archivo JSP definido en la tabla VIEWREG para VIEWNAME y el ID de formato de dispositivo de -10001 se utilizan para crear la respuesta.
- Alternativamente, el mismo correlacionador de mensajes con el ID de -1 maneja un mensaje de entrada, pero a dicho mensaje lo maneja el adaptador WebSphere MQ, que tiene un ID de formato de dispositivo de -20000. El ID de formato de dispositivo generado para la respuesta a dicho mensaje será de -20001. Por consiguiente, para crear la respuesta se utilizan el archivo JSP definido en la tabla VIEWREG para VIEWNAME y el ID de formato de dispositivo de -20001. Tenga en cuenta que aunque la petición puede utilizar la misma JSP para responder a la petición, la clase utilizada para llamar a la JSP puede ser diferente.