Gestion des pannes de systèmes de commande et de stock

Dans l'intégration point à point entre HCL Commerceet Sterling Order Management, dans le système de gestion des commandes, des pannes se produisent, parfois avec de longs temps d'arrêt. Pour éviter l'impact sur le frontend, HCL Commerce a un moyen de faire face aux pannes dans le processus de capture de commande.

Le système de gestion des commandes Sterling Order Management peut planifier les pannes qui affectent le processus de capture de commandes HCL Commerce frontend. HCL Commerce continue d'accepter les commandes pendant les pannes à l'aide d'une exception HCL Commerce.

Le signal de présence est un mécanisme qui est utilisé pour détecter l'état des systèmes de gestion des commandes et du système de composants de stock et de commande. Sur le côté Sterling Order Management, une page statique pour les composants de stock et de commande est fournie. HCL Commerce se connecte à l'URL de la page statique pour vérifier l'état des composants de stock et de commande par l'intermédiaire de la structure de définition de service. Si HCL Commerce ne peut pas vous connecter à la structure de définition de service, il considère que l'état du système est éteint. Étant donné que le stock et la commande peuvent être déployés séparément, HCL Commerce obtient chaque signal de présence à travers différentes URL que vous pouvez configurer dans HCL Commerce. Les exemples d'URL sont les suivants :
  • Pour le système de gestion des stocks : http://INVENTORY_SERVER_HOSTNAME:INVENTORY_SERVER_PORT/smcfs/heartbeat/heartbeat.jsp
  • Pour le système de commande : http://ORDER_SERVER_HOSTNAME:ORDER_SERVER_PORT/smcfs/heartbeat/heartbeat.jsp

Un signal de présence pour le système de stock est différent d'un signal de présence pour le système de commande. Avec le planificateur de signaux de présence du système de gestion des stocks, le planificateur ajoute un travail lorsque le système est éteint. Avec le planificateur de signaux de présence du système de commande, le signal de présence est toujours en cours d'exécution. Avec un travail de signal de présence planifié, le signal de présence est déclenché pour obtenir l'état du système en temps réel. À partir de là, il vérifie l'état du système dans le registre. Si l'état du système en temps réel est différent de celui du registre, le registre est mis à jour à l'état système en temps réel. Si l'état du système est allumé, la panne du système est terminée. Pour le système de stock, si l'état du système est éteint, un nouveau travail de planification de signal de présence est ajouté après un signal de présence. Pour le système de commande, un nouveau travail est toujours ajouté après un signal de présence. L'intervalle entre les tâches du planificateur de signal de présence est configurable (par défaut est de 5 minutes).

Panne du système de gestion des commandes et disponibilité de getInventory dans la page d'affichage du produit et ajouter à la page panier d'achat

Au cours du processus d'obtention et de vérification de la disponibilité des stocks, HCL Commerce :
  1. Récupère l'état du composant de stock dans le registre.
  2. Si l'état système du composant de stock est éteint, HCL Commerce contourne le système de gestion des commandes monitorItemAvailability et trouve les appels API de stock, et renvoie une réponse réussie. La réponse de l'état de de stock est décidée par l'état de secours dans la configuration du stock.
  3. Si l'état système du composant de stock est allumé, HCL Commerce appelle le système de gestion des commandes monitorItemAvailability et trouve l'API findInventory de façon synchrone via la structure de définition de service.
    • Si une exception, telle que TimeoutException ou IOException, est reçue, HCL Commerce appelle le signal de présence. Si le signal de présence renvoie le système de gestion des commandes, HCL Commerce met à jour l'état système du composant de stock à désactiver dans le registre. Il accepte l'exception et revient comme une réponse réussie. HCL Commerce ajoute ensuite un travail de planificateur pour exécuter le signal de présence à nouveau dans une période configurable (exemple, 5 minutes). Ce travail planifié ajoute un travail de planificateur pour le signal de présence jusqu'à ce qu'il détecte que le système de gestion des commandes est en marche.

Panne du système de gestion des commandes et processus de stock des réserves

OrderPrepare est appelé pendant la phase de réservation de stock. Les actions suivantes dans HCL Commerce se déclenchent :
  1. Lorsque l'acheteur se rend à la page récapitulative de la commande et orderPrepare est appel : HCL Commerce récupère l'état du composant de stock dans le registre.
  2. Si l'état du composant de stock du système est éteint, HCL Commerce contourne l'appel d'API du système de gestion des commandes reserveAvailableInventory et renvoie une réponse réussie.
  3. Si le composant de stock de l'état des stocks du système est allumé, HCL Commerce appelle l'API du système de gestion des commandes reserveAvailabileInventory de façon synchrone par l'intermédiaire de la structure de définition de service.
    • Si une exception, telle que TimeoutException ou IOException, est reçue, HCL Commerce appelle le signal de présence. Si le signal de présence renvoie le système de gestion des stocks, HCL Commerce met à jour l'état système du composant de stock à désactiver dans le registre. Il accepte l'exception et revient comme une réponse réussie. HCL Commerce ajoute ensuite un travail de planificateur pour exécuter le signal de présence à nouveau dans une période configurable (exemple, 5 minutes). Ce travail planifié ajoute un nouveau travail de planificateur pour le signal de présence jusqu'à ce qu'il détecte que le système de gestion des commandes est en marche.
  4. Si la réservation du stock est exécutée lorsque le système de gestion des commandes est éteint, en fonction du statut de secours dans la configuration de stock qualifiée, HCL Commerce met à jour le statut des stocks de tous les éléments dans la commande. HCL Commerce met à jour le statut à NALC si le statut de secours n'est pas configuré comme disponible ou commandable en amont. HCL Commerce met à jour le statut des articles dans la commande vers VALC, qui indique que la réservation du stock est exécuté virtuellement.

HCL Commerce annule la panne du système de réservation de stock et de gestion des commandes

Lorsque HCL Commerce annule une réservation de stock, elle déclenche cette série d'événements lors d'une panne du système de gestion des commandes :
  1. HCL Commerce récupère l'état du composant de stock dans le registre.
  2. Si l'état système du composant de stock est éteint, HCL Commerce contourne l'appel d'API cancelReservation du système de gestion des commandes et renvoie une réponse réussie.
    Remarque : Si la règle d'expiration de la réservation de stock dans le système de gestion des commandes est définie, HCL Commerce s'appuie sur cette règle d'expiration pour faire expirer la réservation de stock dans cette situation.
  3. Si l'état système du composant de stock est allumé, HCL Commerce appelle l'API cancelReservation du système de gestion des commandes de façon synchrone via la structure de définition de service.
    • Si une exception, telle que TimeoutException ou IOException, est reçue, HCL Commerce appelle le signal de présence. Si le signal de présence renvoie le système de gestion des commandes, HCL Commerce met à jour l'état système du composant de stock à désactiver dans le registre. Il accepte l'exception et revient comme une réponse réussie. HCL Commerce ajoute ensuite un travail de planificateur pour exécuter le signal de présence à nouveau dans une période configurable (exemple, 5 minutes). Ce travail planifié ajoute un travail de planificateur pour le signal de présence jusqu'à ce qu'il détecte que le système de gestion des commandes est en marche.

Panne du système de transfert de commandes et de gestion des commandes

Une fois qu'une commande est soumise avec succès et que le paiement est autorisé, HCL Commerce transfert la commande. Lors d'une panne de système de gestion des commandes, il déclenche une série d'événements :
  1. HCL Commerce récupère l'état du composant de commande à partir du registre.
  2. Si l'état système du composant de la commande est "allumé", HCL Commerce vérifie l'état du stock des articles de commande. Si l'état de commande est VALC, HCL Commerce ne transmet pas les informations de la ligne de réservation au système de gestion des commandes.
  3. Si l'état de système des composants de système de commande est "éteint", HCL Commerce déclenche le transfère de commande. La commande est ensuite définie sur H : Etat de l'échec du transfert.
  4. Le transfert de commandes est déclenché en mode asynchrone dans HCL Commerce, contrairement au traitement dans les opérations de stock. Il est difficile pour HCL Commerce de détecter l'état du système et de transférer la commande dans la même transaction. Par conséquent, le signal de présence s'exécute en mode planificateur régulier.

OrderRetransfer pour les commandes au statut H ou F et les pannes du système de gestion des commandes

HCL Commerce introduit un nouveau travail de planificateur pour transférer les commandes qui attendent d'être transférées vers Sterling Order Management en raison de la panne du système de gestion des commandes.
  1. HCL Commerce récupère l'état du composant de commande à partir du registre. Si l'état du système est "éteint", il est directement retourné.
  2. Si l'état système de composant de commande est "allumé", HCL Commerce récupère les commandes dans H : Etat de l'échec du transfert. Le transfert de commande est déclenché pour ces commandes, mais pas pour passer les informations de réservation de ligne pour les articles de commande VALC.
  3. Si l'état système du composant de commande est "allumé", HCL Commerce récupère les commandes dans F : Le statut Suspendre le transfert qui n'a pas été mis à jour depuis longtemps. Cette période est configurable. Les informations de commande sont recueillies à partir de Sterling Order Management. Si Sterling Order Management ne renvoie pas les informations de commande, HCL Commerce déclenche le transfert de commande. Si Sterling Order Management renvoie les informations de commande, met à jour HCL Commerce met à jour l'état de la commande vers G : Transféré avec succès et ne déclenche pas le transfert de commande.
Remarque : Définissez le travail planifié OrderRetransfer au niveau du Magasin dans la console d'administration HCL Commerce.