Composants et paramètres de la Structure de définition de service

La Structure de définition de service utilise les composants et paramètres suivants pour l'intégration de HCL Commerce et Sterling Order Management.

Servlet SOAP

Ce composant reçoit des requêtes à partir de HCL Commerce et invoque le service approprié, en fonction de sa définition dans le SDF. Ce point d'entrée pour tous les services fournis accepte serviceName et extensionClass comme arguments. Par exemple, le flux suivant indique HCL Commerce appelant SCWC_SDF_reserveAvailableInventoryService :


Ces services ne sont que des points d'entrée et sont conçus comme des services en deux parties. Chacun appelle un sous-service "enfant" de sorte que, si une personnalisation étendue est nécessaire, elle peut être faite dans le sous-service. La partie face à HCL Commerce du service n'a pas besoin de changer, parce que le sous-service effectue toutes les transformations et les appels d'API impliqués. En outre, tous ces composants prennent l'argument "extensionClass", qui contient des services à utiliser avant et après l'appel, créant ainsi d'autres opportunités de personnalisation.
Figure 1. Exemple de code beforeServiceCall et afterServiceCall


public interface SCWCIntegrationServiceAPICallback {

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

ValueMapXSLT Traducteur

Ce composant traduit les requêtes et les réponses entre Sterling Order Management et HCL Commerce. Il convertit les formats de message HCL Commerce au format XML d'API Sterling et effectue la conversion du mappage inversé de valeur (XSLT). Le fichier ValueMaps.xml contient un mappage de valeur pour des attributs de configuration spécifiques qui peuvent ne pas avoir la même valeur dans les deux systèmes, tels que StoreId to Enterprise Code et UOM C62 to EACH.
ValueMapXSLTranslator prend les paramètres suivants :
xslFileName
Cette propriété définit l'emplacement du fichier XSL utilisé pour la conversion du format de message et le mappage de valeurs.
valueMapFileName
Cette propriété définit l'emplacement du fichier ValueMaps.xml, qui contient le mappage des valeurs entre les attributs Sterling Order Management et HCL Commerce.
extensionClass
Cette propriété est utilisée pour étendre le comportement d'un service.


Vous pouvez utiliser extensionClass pour effectuer une logique personnalisée avant ou après la conversion XML d'entrée.
public interface SCWCXSLTCallback {
	
	public Document beforeXSLTCall(YFSEnvironment env, Document input);
	public Document afterXSLTCall(YFSEnvironment env, Document output);
	
}

Nœud API

Ce composant appelle les API Sterling Order Management. Dans les exemples suivants, la vitrine HCL Commerce appelle l'API reserveAvailableInventory en utilisant SCWC_SDF_reserveAvailableInventoryService :


Enregistrer Context et retrieverContextAndAddToResponse

Ce composant fonctionne en conjonction avec ValueMapXSLTranslator, mappant certaines informations dans le XSL à un élément de contexte. Il analyse le message de requête et stocke l'objet corrélant au contexte Sterling Order Management pour une utilisation ultérieure. Par exemple, les ajustements manuels dans Sterling Order Management n'ont aucune corrélation et ne sont pas persistés dans HCL Commerce. Si Sterling Order Management appelle getOrderPrice dans HCL Commerce pour réattribuer un prix à une commande qui contient un ajustement manuel, l'ajustement est d'abord "enregistré" dans Sterling Order Management puis ajouté à la commande lorsque HCL Commerce retourne une réponse.

Ce composant comporte les paramètres suivants :

SaveContext
Supprime les données de corrélation (élément contextuel) d'une demande et l'enregistre avant de faire un appel de service.
RetrieveContextAndAddToResponse
Renvoie les données de corrélation à la réponse.
ValueMapXSLTranslator
Le fichier XSL contient le mappage de l'élément de contexte à la sortie XML pour ajouter des informations au message.
L'exemple suivant montre le flux d'une commande créée par Sterling Call Center dont le prix est attribué par la vitrine HCL Commerce à l'aide de SCWC_SDF_getOrderPriceService. Les attributs Sterling sont persistants avec Save Context et RetrieveContextAndAddToResponse.


Appeler un service Web HCL Commerce

Ce composant est utilisé pour les demandes synchrones de Sterling Order Management vers HCL Commerce. Il crée un message SOAP et accepte des arguments tels que l'URL HCL Commerce et le nom d'utilisateur. L'exemple suivant montre le flux d'une commande créée par Sterling Call Center qui est évalué par la vitrine HCL Commerce en utilisant SCWC_SDF_getOrderPriceService.