Deprecated feature

Proceso de documentos de OAGIS

Durante el proceso de documentos de OAGIS, es necesario que el desarrollador que desarrolla la biblioteca de cliente y la fachada del componente esté al corriente de los conceptos siguientes:

  • Utilización del área de datos BusinessContext
  • Utilización de los parámetros de control
  • Devolución de la información de error
  • Correlación de la petición y la respuesta al utilizar la mensajería asíncrona

Utilización del área de datos BusinessContext

Como parte de la transición de HCL Commerce a las interacciones de OAGIS, se ha creado un grupo de sustitución para el área de aplicación del tipo de documento de objeto de negocio de OAGIS con el fin de añadir información de contexto de negocio como parte del mensaje. La finalidad de esta área de aplicación ampliada es proporcionar una definición común de cómo se pasan a HCL Commerce el idioma, la moneda, la tienda y otra información de contexto de negocio común.

Los datos de contexto de negocio son distintos de los datos de contexto de seguridad del usuario. Se supone que el contexto de seguridad lo gestiona el entorno de ejecución (el entorno de ejecución de HCL Commerce o el entorno de ejecución de WebSphere). En el caso de HCL Commerce, el contexto de seguridad lo establece el controlador de solución para las peticiones locales y se basa en la señal de seguridad de la cabecera SOAP para las peticiones de servicio Web.

Nota: Los datos de contexto de negocio son opcionales. Existen muchos escenarios de integración donde los datos de contexto no entran ni salen. Los datos de contexto se pueden especificar en el mandato de servicio, alterando lo que se ha entrado o proporcionando un valor predeterminado para escenarios donde no se ha entrado el valor.
Datos de contexto soportados:
Atributo de contexto Descripción: Ejemplo
entorno nacional Entorno local bajo el que se debe implementar la petición. "en_US"
storeId Identificador de tienda de HCL Commerce. 10001
langId Identificador de idioma. -1
forUser ID de inicio de sesión del usuario al que se debe conmutar para esta petición. wcsadmin
forUserId ID del usuario al que se debe conmutar para esta petición. 12345
forStoreId Tienda a la que se debe conmutar para esta petición. 10001
catalogID El identificador de catálogo. 10001

Formato de datos de contexto de negocio:

La finalidad de los datos de contexto de negocio es permitir que el cliente especifique el contexto de la petición. El cliente debe mantener el conjunto de datos de contexto necesarios para cada petición BOD e incluirlo al emitir la petición. Los datos de contexto de negocio están en texto claro y no se consideran datos confidenciales. Al utilizar datos de contexto identificables externamente, la mediación puede usar dichos datos cuando se realiza la integración con otros sistemas.

Los datos de contexto se pasan a salvo para permitir que los mensajes se transformen de OAGIS a otro estilo de mensaje para una integración de tipo de bus de servicio empresarial (ESB). Si los datos de contexto de negocio están cifrados, es imposible correlacionar los datos de contexto y utilizar la tecnología ESB para la integración.

En el diagrama siguiente se muestra el esquema gráficamente:

ApplicationArea

El siguiente ejemplo de código Java muestra cómo especificar el ID de tienda en el elemento de contexto de negocio (BusinessContext) del área de aplicación de la petición:


aBusinessContext =
CommerceFoundationFactory.eINSTANCE.createBusinessContextType();
ContextDataType cStoreId =
CommerceFoundationFactory.eINSTANCE.createContextDataType();
cStoreId.setName("storeId");
cStoreId.setValue("10001");
aBusinessContext.getContextData().add(cStoreId);

Utilización de los parámetros de control

Hay casos en los que el llamante de una interfaz de servicio necesita pasar parámetros adicionales (que no forman parte del nombre) para que se pueda ejecutar la lógica de negocio correcta en HCL Commerce Server. Por ejemplo, "merge", "reverse", "allocate" y "check" son parámetros del mandato OrderItemAddCmd para controlar el comportamiento de inventario cuando se añade un elemento de pedido.

Estos tipos de parámetros se deben especificar en el XPath de HCL Commerce (que se almacena en la expresión de acción o la expresión de selección del verbo). Todos los parámetros deben empezar con un prefijo especial que es el mismo prefijo que el del esquema de componente (por ejemplo _ord). El siguiente ejemplo muestra cómo pasar los parámetros de ''allocate " y "reverse" para todos los OrderItems (indicados con el *) en el BOD de cambiar pedido para OrderItemAddCmd:


{_ord.reverse='*';_ord.allocate='*'}/Order[1]/OrderItem[1]

Correlación de la petición y la respuesta al utilizar la mensajería asíncrona

Desde la perspectiva de un componente, no se sabe si el protocolo utilizado es un protocolo de servicio Web, JMS nativo, SMTP o cualquier otro protocolo. Toda esta información de enlace la controla la configuración de la capa de servicio de comunicaciones para ese componente en particular. Sin embargo, el cliente sabe si las comunicaciones son síncronas o asíncronas.

Los mensajes OAGIS están diseñados para entregarse de forma síncrona o asíncrona. Para soportar las comunicaciones asíncronas, debe haber un modo de correlacionar los mensajes de petición y respuesta.

La estructura de mensaje OAGIS proporciona un BODID en el área de aplicación. El entorno de ejecución de HCL Commerce (y la biblioteca de cliente para las comunicaciones de cliente) genera un GUID y lo establece en el BODID en cada petición. Dado que el código de cliente no conoce el tipo de transporte, se genera un BODID para cada petición.

Normalmente las peticiones "Sync" las entrega la mensajería asíncrona con la entrega garantizada. Esto es apropiado porque las operaciones "Sync" están destinadas a difundir a todas las partes interesadas. Esto significa que una interacción síncrona de punto a punto no es necesaria porque el sistema de registro no necesita esperar una respuesta a la petición.