Algoritmo de formato de dispositivo

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.

El ID de formato de dispositivo general y VIEWNAME se utilizan para obtener la JSP adecuada del archivo de configuración Struts, que 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 HCL Commercearchivo de configuración. El ID de formato de dispositivo predeterminado para cada dispositivo de recepción que utiliza el correlacionador de mensajes es en intervalos de -10000, de la forma siguiente.

Adaptador de programa para XML a través de HTTP
El formato de dispositivo es -10000.
Adaptador de programa para XML a través de IBM MQ
El formato de dispositivo es -20000.
Adaptador de programa para mensajes heredados
El formato de dispositivo es -30000.

Para determinar la JSP apropiada y el mandato de vista para llamar a la JSP, se añade el ID de correlacionador de mensajes (tal como se define en el tema Correlacionadores de mensajes) al ID de formato de dispositivo del adaptador para determinar el ID de formato de dispositivo para la vista de respuesta. Por ejemplo, un mensaje XML predefinido a través de una petición HTTP entra a través de HTTP y el mensaje utiliza el ID de correlacionador de mensajes -1 (WCS.INTEGRATION). El mensaje utiliza el correlacionador de mensajes para llamar a un mandato. Si se requiere una respuesta, el mandato pasa a una vista OK o una vista ERROR. Puesto que el ID de formato de dispositivo base es -10000 y el ID de messagemapper es -1, el ID de formato de dispositivo que se debe definir será -10001. (El ID de formato de dispositivo más el ID de correlacionador de mensajes). La vista OK o la vista ERROR definidas en el archivo de configuración Struts tendrá el ID de formato de dispositivo -10001. Si no se encuentra la vista para este ID de formato de dispositivo -10001, se utilizará el ID de formato de dispositivo predeterminado. En este caso, una petición XML a través de HTTP, se utilizará el ID de formato de dispositivo predeterminado -10000. Para solicitudes de adaptador de IBM MQ, el ID de formato de dispositivo predeterminado es -20000.

El nombre de interfaz y el nombre de clase son distintos para cada tipo de dispositivo. Una respuesta HTTP utilizará la interfaz com.ibm.commerce.command.ForwardViewCommand con el nombre de clase com.ibm.commerce.command.HttpForwardViewCommandImpl. La respuesta del adaptador IBM MQ utilizará la interfaz com.ibm.commerce.messaging. viewcommands.MessagingViewCommand y la clase com.ibm.commerce.messaging. viewcommands.MessagingViewCommandImpl.

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 utilicen el correlacionador de mensajes, debe asignarse al correlacionador de mensajes 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:

  1. Si no se puede encontrar el ID de formato de dispositivo calculado, se utiliza el ID de formato de dispositivo predeterminado del adaptador para obtener el resultado. Este número puede configurarse en la configuración de adaptador HTTP.
  2. 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

  1. 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 el archivo de configuración Struts para VIEWNAME y el ID de formato de dispositivo -10001 se utilizan para crear la respuesta.
  2. De forma alternativa, un mensaje de entrada es gestionado por el mismo correlacionador de mensajes con el ID -1, pero es gestionado por el adaptador de IBM MQ, que tiene el ID de formato de dispositivo -20000. El ID de formato de dispositivo generado para la respuesta a dicho mensaje será de -20001. Por tanto, el archivo JSP definido en el archivo de configuración Struts para VIEWNAME y el ID de formato de dispositivo -20001 se utilizan para crear la respuesta. 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.