Infraestructura de definición de servicio
La integración directa utiliza la infraestructura de definición de servicios (SDF) de Sterling Order Management, que proporciona servicios para la comunicación entre Sterling Order Management y HCL Commerce.
La infraestructura de definición de servicio consta de un conjunto de componentes que usted puede conectar y utilizar para crear la integración con sistemas externos. Además de enviar y recibir llamadas de servicio, estos componentes como, por ejemplo, el nodo API, XSL y JMS, convierten los formatos de mensajes y el contenido entre Sterling Order Management y HCL Commerce.
Puede ver todos estos servicios proporcionados en el gestor de aplicaciones de Sterling Order Management en Servicios de modelado de procesos en los repositorios del tipo Despacho de pedidos y Proceso general.
- Integración de SCWC SDF (servicios de pedido)
-
- 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
- Integración de SCWC SDF (servicios de inventario)
-
- 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
- Llamadas síncronas de HCL Commerce a Sterling Order Management
- Llamadas asíncronas de HCL Commerce a Sterling Order Management
- Llamadas asíncronas de Sterling Order Management a HCL Commerce
- Llamadas síncronas de Sterling Order Management a HCL Commerce
![](SynchAsynchServiceDiagram94revised94only.jpg)
Llamadas síncronas de HCL Commerce a Sterling Order Management
Para llamadas síncronas de HCL Commerce a Sterling Order Management, HCL Commerce realiza una llamada de servicio web de salida al servlet de SOAP. Este servlet incluye un archivo action.properties
que se utiliza para correlacionar el nombre de acción de la solicitud HCL Commerce con el servicio de SDF en Sterling Order Management. Sterling Order Management intenta identificar el nombre de acción examinando el valor nodo de wsa:Action
en la solicitud HCL Commerce. Si el valor es nulo, Sterling Order Management deriva a Action
del nombre de elemento del documento SOAPBOD. Después de obtener el código de acción, Sterling identifica el servicio Sterling Order Management que hay que llamar para esta acción a partir del valor definido en el archivo action.properties
. Este servicio convierte el mensaje de SOAP a entrada de la API XML.
La llamada getCompleteOrderDetails es la única excepción a esta regla. No es un mensaje SOAP; es una llamada de API directa a AuthOnlyServlet, que pasa la entrada según lo previsto por la API de Sterling. Por ejemplo, ProcessInventoryRequirement_ReserveInventory llama al servlet de SOAP y activa el servicio SCWC_SDF_reserveAvailableInventory, que está configurado para llamar a un subservicio. En un nivel alto, este subservicio convierte el mensaje de formato HCL Commerce al formato de API Sterling Order Management. A continuación, el subservicio sustituye los valores de los atributos clave definidos en el archivo ValueMaps, llama a la API y ejecuta la conversión en la salida de la API.
El siguiente flujo ilustra algunos de estos procesos.
![](reserveAvailableInventory.jpg)
Llamadas asíncronas de HCL Commerce a Sterling Order Management
Parámetro de IBM MQ | Valor |
---|---|
Cola de errores | JMSErrorQueue |
Fábrica | JMSQueueConnectionFactory |
Cola de entrada | JMSSerialInboundQueue |
Cola de salida | JMSOutboundQueue |
![](ChangeMessageTransportAssignmentscreen.jpg)
Por ejemplo, con el pedido de transferencia, una vez enviado el carro de la compra desde HCL Commerce, se coloca un mensaje SOAP en una cola JMS. Desde allí, el servidor de integración de SCWC_SDF_createOrder selecciona el mensaje de la cola JMS y llama a SCWC_SDF_createOrderService, tal como se muestra en la siguiente ilustración.
![](createOrderService.jpg)
El SCWC_SDF_createOrderService que se muestra a continuación convierte el mensaje en el formato XML de entrada de la API createOrder de Sterling Order Management y activa la API.
![](resolveChargeCategory.jpg)
Llamadas asíncronas de Sterling Order Management a HCL Commerce
Para la comunicación asíncrona entre Sterling Order Management y HCL Commerce, se utilizan los sucesos Sterling Order Management para publicar un mensaje en una cola JMS. Por ejemplo, el suceso createOrder.OnSuccess publica un mensaje en la cola JMS llamando al servicio SCWC_SDF_createOrderOnSuccess. Este, a su vez, llama al SCWC_SDF_createOrderOnSuccessService, tal como se muestra a continuación:
![](AsynchMessageQueue.jpg)
![](createOrderMsgConversion.jpg)
Después de la conversión, el mensaje se coloca en una cola JMS. Una vez que el mensaje está en la cola JMS, el servidor de integración de Sterling se utiliza para recoger el mensaje y llamar al servicio de HCL Commerce adecuado.
![](pushOrderMsgs.jpg)
![](ArgumentsTab.jpg)
Llamadas síncronas de Sterling Order Management a HCL Commerce
Las llamadas síncronas de Sterling Order Management a HCL Commerce se realizan utilizando el componente InvokeWebService, que realiza llamadas de servicio web de salida utilizando un nodo cliente SOAP. El siguiente ejemplo muestra SCWC_SDF_getItemPriceUE:
![](getItemPriceUE.jpg)
Un aspecto adicional a todos los ejemplos anteriores es que los servicios de integración directa están diseñados como servicios de dos partes, donde la invocación y la traducción de mensajes se realizan en un subservicio, como SCWC_SDF_getItemPriceUEService. La lógica y las ventajas de este diseño se explican en Componentes y parámetros en el marco de definición de servicio.