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.
- 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
- Recupera el estado del componente de inventario del registro.
- 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.
- 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
- 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.
- 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.
- 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.
- 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 aVALC
, 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
- HCL Commerce recupera el estado del componente de inventario del registro.
- 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.
- 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
- HCL CommerceRecupera el estado del componente de pedido del registro.
- 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. - 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.
- 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 CommerceRecupera el estado del componente de pedido del registro. Si el estado del sistema es de desactivado, se devuelve directamente.
- 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
. - 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.