Création de la commande de service
La commande de service est le point d'entrée de la façade de composant où le document BOD (Business Object Document) commence à être traité par la logique métier.
Pourquoi et quand exécuter cette tâche
Pour créer une commande de service :
Procédure
- Créez un module de service HCL Commerce. Cela génère le shell d'une classe de commande pour vous.
- Accédez au projet MyServiceModule-Server.
- Ouvrez la classe com.mycompany.commerce. myservicemodule.server.commands.VerbNounCmdImpl.java.
- Terminez cette commande shell en implémentant la logique métier en suivant le Pattern de conception pour l'implémentation de services Get ou le Pattern de conception pour l'implémentation des services Process, Change et Sync. Il s'agit de l'approche la plus simple pour implémenter une façade de composant - utilisez la commande shell pour exécuter toutes les commandes HCL Commerce ou personnalisées existantes contenant la logique métier que vous souhaitez réutiliser.
- Facultatif : Vous pouvez également utiliser le Mappeur de message pour mettre à plat les messages XML en paires nom-valeur adaptées à vos commandes HCL Commerce. Si vous le faites, vous utiliserez la table de registre de commandes pour sélectionner l'implémentation de commande correcte, basée sur l'expression XPath entrante dans le BOD. Pour obtenir un exemple de la façon dont le sous-système membre mappe les messages XML à des paires nom-valeur de commande, voir le Mappeur de message de composant membre.
- Enregistrez votre nouvelle commande. Lorsque vous le faites, si vous utilisez le mappeur de message, vous devez associer la clé d'expression de recherche XPath à votre nouvelle implémentation de commande d'extraction personnalisée avec une instruction SQL. Par exemple :
insert into cmdreg (STOREENT_ID, INTERFACENAME, CLASSNAME,TARGET) VALUES (0,'com.ibm.commerce.catalog.facade.server.commands.FetchCatalogEntryCmd+/CatalogEntry[Price[StandardPrice[Price[(Price<= and Price[@currency=]) and (Price>= and Price[@currency=])]]]]', 'com.mycompany.commerce.customization.catalog.FetchCatalogEntryByPriceRangeTaskCmdImpl', 'Local');Notes :- Le nom de l'interface contient le nom de la commande concaténé avec le XPath.
- Pour les implémentations qui n'utilisent pas le mappeur de message, y compris la personnalisation du sous-système membre HCL Commerce, vous devez mettre à jour l'entrée CMDREG pour la commande d'extraction par défaut existante. En outre, aucun détail XPath n'est inclus dans la mise à jour SQL.