Manejo de interrupciones del sistema de pedidos e inventario

En la integración de punto a punto entre HCL Commerce y Sterling Order Management en el sistema de gestión de pedidos se producen interrupciones, a veces con un tiempo de inactividad prolongado. Para evitar el impacto en la interfaz de usuario, HCL Commerce tiene una forma de tratar las interrupciones en el proceso de captura de pedidos.

El sistema de gestión de pedidos de Sterling Order Management puede planificar interrupciones que afecten al proceso de captura de pedidos en la interfaz de usuario de HCL Commerce. HCL Commerce continúa aceptando pedidos durante cualquier interrupción utilizando una excepción. HCL Commerce llama a la señal de monitorización si se genera una excepción.

La señal de monitorización es un mecanismo que se utiliza para detectar el estado de los sistemas de gestión de pedidos Inventario y Componentes de pedidos. En Sterling Order Management, se proporciona un página estática para los componentes de inventario y de pedido. HCL Commerce se conecta a la URL de la página estática para verificar el estado de los componentes de inventario y de pedido a través de la infraestructura de definición de servicio. Si HCL Commerce no puede conectarse a la infraestructura de definición de servicio, considera que el estado del sistema está desactivado. Puesto que el inventario y el pedido se pueden desplegar por separado, HCL Commerce obtiene cada señal de monitorización a través de una URL diferente que puede configurar en HCL Commerce. Las URL de ejemplo son:
  • Para el sistema de inventario: http://INVENTORY_SERVER_HOSTNAME:INVENTORY_SERVER_PORT/smcfs/heartbeat/heartbeat.jsp
  • Para el sistema de pedidos: http://ORDER_SERVER_HOSTNAME:ORDER_SERVER_PORT/smcfs/heartbeat/heartbeat.jsp

Una señal de monitorización del sistema de inventario es diferente que una señal de monitorización del sistema de pedidos. Con el planificador de señal de monitorización del sistema de inventario, el planificador añade un trabajo cuando el sistema está desactivado. Con el planificador de señal de monitorización del sistema de pedidos, la señal de monitorización siempre se está ejecutando. Con un trabajo de señal de monitorización planificada, se desencadena la señal de monitorización para obtener el estado del sistema en tiempo real. Desde allí, comprueba el estado del sistema en el registro. Si el estado del sistema en tiempo real es diferente del del registro, el registro se actualiza al estado del sistema en tiempo real. Si el estado del sistema es de activado, la interrupción del sistema ha finalizado. Para el sistema de inventario, si el estado del sistema es de desactivado, se añade un nuevo trabajo del planificador de señal de monitorización después de una señal de monitorización. Para el sistema de pedidos, siempre se añade un nuevo trabajo después de una señal de monitorización. El intervalo entre los trabajos del planificador de señal de monitorización se puede configurar (el valor predeterminado es de 5 minutos).

Interrupción del sistema de gestión de pedidos y disponibilidad de getInventory en la página Visualización del producto y en la página Añadir al carro de la compra

Durante el proceso de obtener y comprobar la disponibilidad del inventario, HCL Commerce:
  1. Recupera el estado del componente de inventario del registro.
  2. Si el estado del sistema del componente de inventario es de desactivado, HCL Commerce omite las llamadas a la API monitorItemAvailability y findInventory del sistema de gestión de pedidos y devuelve una respuesta satisfactoria. La respuesta del estado del inventario se decide mediante el estado de reserva en la configuración de inventario.
  3. Si el estado del sistema del componente de inventario es de activado, HCL Commerce llama a la API monitorItemAvailability y findInventory del sistema de gestión de pedidos de forma síncrona a través de la infraestructura de definición de servicio.
    • Si se recibe una excepción, como TimeoutException o IOException, HCL Commerce llama a la señal de monitorización. Si la señal de monitorización devuelve que el sistema de gestión de pedidos está desactivado, HCL Commerce actualiza el estado del sistema del componente inventario a desactivado en el registro. Acepta la excepción y la devuelve como una respuesta satisfactoria. A continuación, HCL Commerce añade un trabajo de planificador para ejecutar de nuevo la señal de monitorización en un periodo configurable (por ejemplo, 5 minutos). Este trabajo planificado añade un trabajo de planificador para la señal de monitorización hasta que detecta que el sistema de gestión de pedidos está activado.

Interrupción del sistema de gestión de pedidos y proceso de inventario de reserva

Se llama a OrderPrepare durante la fase de reserva de inventario. Se desencadena una de las siguientes acciones en HCL Commerce:
  1. Cuando el comprador va a la página Resumen del pedido y se llama a OrderPrepare: HCL Commerce recupera el estado del componente de inventario del registro.
  2. Si el estado del sistema del componente de inventario es de desactivado, HCL Commerce omite la llamada a la API reserveAvailableInventory del sistema de gestión de pedidos y devuelve una respuesta satisfactoria.
  3. Si el estado del sistema del componente de inventario es de activado, HCL Commerce llama a la API reserveAvailabileInventory del sistema de gestión de pedidos de forma síncrona a través de la infraestructura de definición de servicio.
    • Si se recibe una excepción, como TimeoutException o IOException, HCL Commerce llama a la señal de monitorización. Si la señal de monitorización devuelve que el sistema de inventario está desactivado, HCL Commerce actualiza el estado del sistema del componente de inventario a desactivado en el registro. Acepta la excepción y la devuelve como una respuesta satisfactoria. A continuación, HCL Commerce añade un trabajo de planificador para ejecutar de nuevo la señal de monitorización en un periodo configurable (por ejemplo, 5 minutos). Este trabajo planificado añade un nuevo trabajo de planificador para la señal de monitorización hasta que detecta que el sistema de gestión de pedidos está activado.
  4. Si la reserva de inventario se ejecuta cuando el sistema de gestión de pedidos está desactivado, en función del estado de reserva en la configuración de inventario calificado, HCL Commerce actualiza el estado de inventario de todos los artículos del pedido. HCL Commerce actualiza el estado a NALC, si el estado de reserva no está configurado como disponible o en espera. HCL Commerce actualiza el estado de los artículos del pedido a VALC, lo que indica que se está realizando la reserva de inventario.

HCL Commercecancela la reserva de inventario y la interrupción del sistema de gestión de pedidos

Cuando HCL Commerce cancela una reserva de inventario, desencadena esta serie de sucesos durante una interrupción del sistema de gestión de pedidos:
  1. HCL Commerce recupera el estado del componente de inventario del registro.
  2. Si el estado del sistema del componente de inventario es de desactivado, HCL Commerce omite la llamada a la API cancelReservation del sistema de gestión de pedidos y devuelve una respuesta satisfactoria.
    Nota: Si se establece la norma de caducidad de reserva de inventario en el sistema de gestión de pedidos, HCL Commerce se basa en esta regla de caducidad para que la reserva de inventario caduque en esta situación.
  3. Si el estado del sistema del componente de inventario es de activado, HCL Commerce llama a la API cancelReservation del sistema de gestión de pedidos de forma síncrona a través de la infraestructura de definición de servicio.
    • Si se recibe una excepción, como TimeoutException o IOException, HCL Commerce llama a la señal de monitorización. Si la señal de monitorización devuelve que el sistema de gestión de pedidos está desactivado, HCL Commerce actualiza el estado del sistema del componente inventario a desactivado en el registro. Acepta la excepción y la devuelve como una respuesta satisfactoria. A continuación, HCL Commerce añade un trabajo de planificador para ejecutar de nuevo la señal de monitorización en un periodo configurable (por ejemplo, 5 minutos). Este trabajo planificado añade un trabajo de planificador para la señal de monitorización hasta que detecta que el sistema de gestión de pedidos está activado.

Transferencia de pedidos e interrupción del sistema de gestión de pedidos

Después de que un pedido se haya enviado satisfactoriamente y de que se autorice el pago, HCL Commerce transfiere el pedido. Durante una interrupción del sistema de gestión de pedidos, desencadena una serie de sucesos:
  1. HCL CommerceRecupera el estado del componente de pedido del registro.
  2. Si el estado del sistema del componente de pedido es de activado, HCL Commerce comprueba el estado de inventario de los artículos del pedido. Si el estado del pedido es VALC, HCL Commerce no pasa la información de la línea de reserva al sistema de gestión de pedidos.
  3. Si el estado de sistema del componente del sistema de pedidos es de desactivado, HCL Commerce no desencadena la transferencia del pedido. A continuación, el pedido se sitúa en H: Estado La transferencia ha fallado.
  4. La transferencia de pedidos se desencadena en el modo asíncrono en HCL Commerce, a diferencia del proceso en las operaciones de inventario. Es difícil para HCL Commerce detectar el estado del sistema y transferir el pedido en la misma transacción. Por lo tanto, se ejecuta la señal de monitorización en el modo de planificador normal.

OrderRetransfer para pedidos en estado H o F e interrupción del sistema de gestión de pedidos

HCL Commerce introduce un nuevo trabajo de planificador para transferir pedidos que están a la espera de ser transferidos a Sterling Order Management debido a la interrupción del sistema de gestión de pedidos.
  1. HCL CommerceRecupera el estado del componente de pedido del registro. Si el estado del sistema es de desactivado, se devuelve directamente.
  2. Si el estado del sistema del componente de pedido es de activado, HCL Commerce recoge los pedidos en H: Estado La transferencia ha fallado. La transferencia del pedido se desencadena para estos pedidos, pero no para pasar información de reserva de línea para artículos de pedido VALC.
  3. Si el estado del sistema del componente de pedido es de activado, HCL Commerce recoge los pedidos en F: El estado Transferencia retenida no se ha actualizado durante mucho tiempo. Este periodo de tiempo se puede configurar. Se recopila la información del pedido de Sterling Order Management. Si Sterling Order Management no devuelve la información del pedido, HCL Commerce desencadena la transferencia del pedido. Si Sterling Order Management devuelve la información del pedido, HCL Commerce actualiza el estado del pedido a G: Transferencia correcta y no desencadena la transferencia de pedido.
Nota: Establezca el trabajo planificado OrderRetransfer a nivel de tienda dentro de la Consola de administración de HCL Commerce.