Structure de définition de service
L'intégration directe utilise la structure de définition de service (SDF, Service Definition Framework) Sterling Order Management, qui fournit des services de communication entre Sterling Order Management et HCL Commerce.
La structure de définition de service comprend un ensemble de composants que vous pouvez connecter et utiliser pour établir l'intégration avec des systèmes externes. En plus d'envoyer et de recevoir des appels de service, ces composants, tels que le nœud API, XSL et JMS, convertissent les formats de message et le contenu entre Sterling Order Management et HCL Commerce .
Vous pouvez afficher tous ces services fournis dans le Gestionnaire d'applications Sterling Order Management sous Services de modélisation de processus dans les référentiels de distribution des commandes et de type de processus général.
- Intégration de SCWC SDF (services de commande)
-
- SCWC_SDF_SCcreateOrderOnSuccess
- SCWC_SDF_SCcreateOrderOnSuccessService
- SCWC_SDF_changeOrder
- SCWC_SDF_changeOrderOnCancel
- SCWC_SDF_changeOrderOnCancelService
- SCWC_SDF_changeOrderOnSuccess
- SCWC_SDF_changeOrderOnSuccessService
- SCWC_SDF_changeOrderRealTime
- SCWC_SDF_changeOrderRealTime_Internal
- SCWC_SDF_changeOrderService
- SCWC_SDF_confirmDraftOrderOnSuccess
- SCWC_SDF_confirmDraftOrderOnSuccessService
- SCWC_SDF_createOrder
- SCWC_SDF_createOrderOnSuccess
- SCWC_SDF_createOrderOnSuccessService
- SCWC_SDF_createOrderService
- SCWC_SDF_GetCartList
- SCWC_SDF_GetCartDetails
- SCWC_SDF_GetCartDetails_Internal
- SCWC_SDF_getCartList_Internal
- SCWC_SDF_getCompleteOrderDetails
- SCWC_SDF_getCompleteOrderDetailsService
- SCWC_SDF_getOrderLineDetails
- SCWC_SDF_getOrderLineDetails_Internal
- SCWC_SDF_getOrderList
- SCWC_SDF_getOrderListService
- SCWC_SDF_getOrderPriceUE
- SCWC_SDF_getOrderPriceUEService
- SCWC_SDF_LockWCShoppingCart
- SCWC_SDF_LockWCShoppingCart_Internal
- SCWC_SDF_pushOrderMessages
- SCWC_SDF_UnlockWCSShoppingCart
- SCWC_SDF_UnlockWCShoppingCart_Internal
- SCWC SDF Integration (services de stock)
-
- SCWC_SDF_cancelReservation
- SCWC_SDF_cancelReservationService
- SCWC_SDF_getInventoryAvailability
- SCWC_SDF_getInventoryAvailabilityService
- SCWC_SDF_getItemPriceUE
- SCWC_SDF_getItemPriceUEService
- SCWC_SDF_getPricingRuleDetailsUE
- SCWC_SDF_getPricingRuleDetailsUEService
- SCWC_SDF_pushInventoryMessages
- SCWC_SDF_reserveAvailableInventory
- SCWC_SDF_reserveAvailableInventoryService
- SCWC_SDF_syncInventoryChanges
- SCWC_SDF_syncInventoryChangesCSV
- SCWC_SDF_syncInventoryChangesCSVService
- SCWC_SDF_syncInventoryChangesService
- SCWC_SDF_validateCouponUE
- SCWC_SDF_validateCouponUEService
- Appels synchrones de HCL Commerce vers Sterling Order Management
- Appels asynchrones de HCL Commerce vers Sterling Order Management
- Appels asynchrones de Sterling Order Management vers HCL Commerce
- Appels synchrones de Sterling Order Management vers HCL Commerce

Appels synchrones de HCL Commerce vers Sterling Order Management
Pour les appels synchrones de HCL Commerce vers Sterling Order Management, HCL Commerce effectue un appel de service Web sortant au servlet SOAP. Ce servlet contient un fichier action.properties qui est utilisé pour mapper le nom d'action de la demande HCL Commerce au service SDF dans Sterling Order Management. Sterling Order Management tente d'identifier le nom d'action en regardant la valeur de nœud de wsa:Action dans la requête HCL Commerce. Si la valeur est null, Sterling Order Management dérive alors Action du nom de l'élément document SOAPBOD. Après avoir obtenu le Code d'action, Sterling identifie le service Sterling Order Management à appeler pour cette action à partir de la valeur définie dans le fichier action.properties. Ce service convertit le message de SOAP en entrée d'API XML.
L'appel getCompleteOrderDetails est la seule exception à cette règle. Il ne s'agit pas d'un message SOAP, il s'agit d'un appel d'API direct à AuthOnlyServlet, passant l'entrée comme prévu par l'API Sterling. Par exemple, ProcessInventoryRequirement_ReserveInventory appelle le servlet SOAP et invoque le service SCWC_SDF_reserveAvailableInventory, qui est défini pour appeler un sous-service. À un niveau élevé, ce sous-service convertit le message du format HCL Commerce au format d'API Sterling Order Management. Le sous-service remplace ensuite les valeurs des attributs clés définis dans le fichier ValueMaps, appelle l'API et exécute la conversion sur la sortie de l'API.
Le flux suivant illustre ce processus.

Appels asynchrones de HCL Commerce vers Sterling Order Management
| Paramètre IBM MQ | Valeur |
|---|---|
| File d'attente d'erreur | JMSErrorQueue |
| Fabrique | JMSQueueConnectionFactory |
| File d'entrée | JMSSerialInboundQueue |
| File de sortie | JMSOutboundQueue |

Par exemple, avec l'ordre de transfert, une fois le panier envoyé à partir de HCL Commerce, un message SOAP est placé dans une file d'attente JMS. À partir de là, le serveur d'intégration SCWC_SDF_createOrder sélectionne le message à partir de la file d'attente JMS et appelle SCWC_SDF_createOrderService, comme indiqué dans la figure suivante.

Le SCWC_SDF_createOrderService affiché ensuite convertit le message au format XML d'entrée d'API createOrder Sterling Order Management et appelle l'API.

Appels asynchrones de Sterling Order Management vers HCL Commerce
Pour la communication asynchrone entre Sterling Order Management et HCL Commerce, les événements Sterling Order Management sont utilisés pour publier un message dans une file d'attente JMS. Par exemple, l'événement createOrder.OnSuccess publie un message dans la file d'attente JMS en appelant le service SCWC_SDF_createOrderOnSuccess. Cela appelle à son tour le SCWC_SDF_createOrderOnSuccessService, comme indiqué ci-après :


Lors de la conversion, le message est placé dans une file d'attente JMS. Une fois que le message est dans la file d'attente JMS, le serveur d'intégration Sterling est utilisé pour capter le message et appeler le service approprié HCL Commerce.


Appels synchrones de Sterling Order Management vers HCL Commerce
Les appels synchrones de Sterling Order Management vers HCL Commerce sont effectués à l'aide du composant InvokeWebService, qui effectue des appels de service Web sortants à l'aide d'un nœud client SOAP. L'exemple suivant montre SCWC_SDF_getItemPriceUE :

Un aspect supplémentaire de tous les exemples précédents est que les services d'intégration directe sont conçus comme des services en deux parties, où l'invocation et la traduction des messages se produisent dans un sous-service, comme SCWC_SDF_getItemPriceUEService. La raison d'être et les avantages de cette conception sont expliqués dans Composants et paramètres de la Structure de définition de service.