Componentes y parámetros en el marco de definición de servicio

La infraestructura de definición de servicio utiliza los siguientes componentes y parámetros para la integración de HCL Commerce y Sterling Order Management.

Servlet SOAP

Este componente recibe solicitudes de HCL Commerce e invoca el servicio adecuado, basándose en su definición en el SDF. Este punto de entrada para los servicios proporcionados acepta serviceName y extensionClass como argumentos. Por ejemplo, el flujo siguiente muestra la llamada HCL Commerce a SCWC_SDF_reserveAvailableInventoryService:


Estos servicios son solo puntos de entrada y están diseñados como servicios de dos partes. Cada llama a un subservicio "secundario" para que, si se requiere una personalización completa, se puede realizar en el subservicio. La parte cara al público del servicio HCL Commerce no necesita cambiar, porque el subservicio realiza todas las invocaciones de transformación y de API implicadas. Además, todos estos componentes adoptan el argumento "extensionClass", que contiene servicios para utilizar antes y después de la invocación, creando más oportunidades de personalización.
Figura 1. Ejemplo de código de beforeServiceCall y afterServiceCall


public interface SCWCIntegrationServiceAPICallback {

	public void beforeServiceCall(YFSEnvironment env, String serviceName, Document input);
	public void afterServiceCall(YFSEnvironment env, String serviceName, Document output);	
	
}

Traductor de ValueMapXSLT

Este componente convierte solicitudes y respuestas entre Sterling Order Management y HCL Commerce. Convierte los formatos de mensaje HCL Commerce en el formato de XML de API de Sterling y realiza la conversión de correlación de valores (XSLT) inversa. El archivo ValueMaps.xml contiene una correlación de valores para atributos de configuración específicos que pueden no tener el mismo valor en ambos sistemas, como por ejemplo StoreId para el código de empresa y C62 de UOM para cada uno.
El traductor ValueMapXSL toma los parámetros siguientes:
xslFileName
Esta propiedad define la ubicación del archivo XSL que se utiliza para la conversión de formato de mensaje y la correlación de valores.
valueMapFileName
Esta propiedad define la ubicación del ValueMaps.xml, que contiene la correlación de valores entre los atributos Sterling Order Management y HCL Commerce.
extensionClass
Esta propiedad se utiliza para ampliar el comportamiento de un servicio.


Puede utilizar extensionClass para realizar la lógica personalizada antes o después de la conversión de XML de entrada.
public interface SCWCXSLTCallback {
	
	public Document beforeXSLTCall(YFSEnvironment env, Document input);
	public Document afterXSLTCall(YFSEnvironment env, Document output);
	
}

API node

Este componente llama a las API de Sterling Order Management. En los ejemplos siguientes, el escaparate HCL Commerce llama a la API reserveAvailableInventory utilizando el SCWC_SDF_reserveAvailableInventoryService:


Guardar contexto y RetrieveContextAndAddToResponse

Este componente funciona junto con el traductor ValueMapXSL correlacionando cierta información en el XSL con un elemento de contexto. Analiza el mensaje de solicitud y almacena el objeto de correlación en el contexto Sterling Order Management para su uso posterior. Por ejemplo, los ajustes manuales en Sterling Order Management no tienen correlación y no persisten en HCL Commerce. Si Sterling Order Management llama a getOrderPrice en HCL Commerce para volver a fijar un pedido que contiene un ajuste manual, el ajuste se "guarda" primero en Sterling Order Management y, a continuación, se vuelve a añadir al pedido cuando HCL Commerce devuelve una respuesta.

Este componente tiene los parámetros siguientes:

SaveContext
Elimina datos de correlación (elemento de contexto) de una solicitud y los guarda antes de realizar una llamada de servicio.
RetrieveContextAndAddToResponse
Devuelve datos de correlación a la respuesta.
ValueMapXSLTranslator
El archivo XSL contiene una correlación de elemento de contexto con salida XML para añadir información al mensaje.
Sterling Call Center crea el ejemplo siguiente que muestra el flujo de un pedido cuyo precio lo fija el escaparate HCL Commerce utilizando el SCWC_SDF_getOrderPriceService. Los atributos de Sterling se mantienen con el contexto de guardar y RetrieveContextAndAddToResponse.


Invocar servicio web HCL Commerce

Este componente se utiliza para solicitudes síncronas de Sterling Order Management a HCL Commerce. Crea un mensaje SOAP y acepta argumentos como URL HCL Commerce y nombre de usuario. Sterling Call Center crea el ejemplo siguiente que muestra el flujo de un pedido cuyo precio lo fija el escaparate HCL Commerce utilizando el SCWC_SDF_getOrderPriceService.