Adaptador de programa

El adaptador de programa permite que los sistemas externos se comuniquen con HCL Commerce pasando solicitudes XML a través del protocolo HTTP. El adaptador de programa proporciona sistemas externos, como los sistemas de compras con una forma común de comunicarse con HCL Commerce a través de HTTP, permitiendo que HCL Commerce actúe como un proveedor para estos sistemas, para las transacciones de comprador y proveedor.

El Adaptador de programa maneja las peticiones XML de entrada realizando las acciones siguientes:

  • Reconocer la petición y verificar si es una petición XML. Si se soportan los tres atributos siguientes de la petición, ésta puede distinguirse como una petición XML.
    • tipo de contenido
    • method
    • codificación de caracteres

Los atributos de petición soportados se especifican en la configuración de adaptador.

  • Extraer la corriente de entrada de la petición.
  • Llamar al correlacionador de mensajes y pasar el contenido de la corriente de entrada.
  • Recibir el objeto CommandProperty que representa un mandato de HCL Commerce devuelto por el correlacionador de mensajes.
  • Determinar el formato de dispositivo apropiado en el que se debe generar la respuesta.
  • Ejecutar el mandato.
  • Enviar un mensaje de respuesta XML, creado por un archivo JSP y basado en el viewname especificado por el mandato ejecutado y el formato de dispositivo de la petición recibida.

Cada petición se trata como una sesión independiente. Las credenciales del mensaje se especifican en el área de control del mensaje. De forma predeterminada, el Adaptador de programa comprueba los parámetros de ID de usuario y contraseña para determinar la autenticidad de una solicitud. El Adaptador de programa no soporta mensajes heredados porque los mensajes heredados no soportan la especificación de credenciales.

El ciclo de vida del Adaptador de programa existe en toda la instancia de HCL Commerce. Se inicializa cuando se inicia una instancia a no ser que los parámetros de configuración se eliminen o que el adaptador no esté inhabilitado y reside tanto tiempo como dure la ejecución de la instancia.

Seguridad del adaptador de programa para peticiones HTTP

Este nivel de seguridad requiere que una solicitud enviada a HCL Commerce contiene un ID de usuario y una contraseña. Si la contraseña no coincide con el ID de usuario especificado, se genera una excepción de seguridad y se rechaza la petición. Si el ID de usuario y la contraseña no se especifican en la petición, ésta se procesa como un cliente invitado. Esto significa que los mandatos que necesitan autorización antes de ejecutarse deben tener las credenciales especificadas en la petición. Esta forma de seguridad se comporta de manera similar a las peticiones HTTP efectuadas desde un cliente navegador.

La clase que implementa este nivel de seguridad es messaging.programadapter.security.CredentialsSpecifiedProgramAdapterSessionContextImpl.

La validación de credenciales utiliza la misma técnica utilizada cuando los clientes interactúan con HCL Commerce a través de un navegador. Esto tiene en cuenta si el registro de usuario es manejado por el software de proveedor o HCL Commerce.

Todos los mensajes de integración XML soportados por HCL Commerce dan soporte a este nivel de seguridad, aunque la especificación de credenciales no es obligatoria. Los mensajes heredados no están soportados por esta implementación de seguridad.

Seguridad del adaptador de programa para IBM MQ

Para cambiar el nivel de seguridad, debe cambiar el valor del atributo de clase en el elemento SessionContext de la configuración de adaptador de IBM MQ.

Antes de que el controlador web ejecute la petición, éste determina las credenciales bajo las que debe ejecutarse la petición. Esto se determina mediante la clase especificada, que utiliza el objeto CommandProperty para determinar las credenciales de la petición.

Hay dos niveles de seguridad disponibles:

Nivel 1
Seguridad limitada.

Este nivel de seguridad se habilita de forma predeterminada durante la instalación. Presupone que todas las peticiones se procesarán utilizando un ID de usuario predeterminado, a menos que se especifique lo contrario. Si la petición se procesará utilizando otro ID de usuario, este ID de usuario se especifica en la petición. La contraseña del ID de usuario especificado no es necesaria y la solicitud la procesa HCL Commerce utilizando las credenciales del usuario especificado.

La clase que implementa este nivel de seguridad es messaging.programadapter.security.DefaultCredentialsProgramAdapterSessionContextImpl.

Nivel 2
ID de usuario y contraseña necesarios para cada petición.

Este nivel de seguridad requiere que una solicitud enviada a HCL Commerce contiene un ID de usuario y una contraseña. Si la contraseña no coincide con el ID de usuario especificado, se genera una excepción de seguridad y se rechaza la petición. Si el ID de usuario y la contraseña no se especifican en la petición, ésta se procesa como un cliente invitado. Esto significa que los mandatos que necesitan autorización antes de ejecutarse deben tener las credenciales especificadas en la petición.

La clase que implementa este nivel de seguridad es messaging.programadapter.security.CredentialsSpecifiedProgramAdapterSessionContextImpl.

La validación de credenciales utiliza la misma técnica utilizada cuando los clientes interactúan con HCL Commerce a través de un navegador. Esto tiene en cuenta si el registro de usuario es manejado por el software de proveedor o HCL Commerce.

Todos los mensajes de integración XML soportados por HCL Commerce dan soporte a este nivel de seguridad, aunque la especificación de credenciales no es obligatoria.

También puede crear su propia clase de seguridad personalizada. La única restricción es que dicha clase debe implementar la interfaz ProgramAdapterSessionContext.