Création de la façade de composant
La création de la façade de composant consiste à exécuter Design Pattern Toolkit, puis à personnaliser le code du modèle généré. Le module de service EJB est créé avec des commandes shell qui renvoient des BOD vides.
Procédure
- Créez un module de service HCL Commerce.
- Ouvrez le projet MyServiceModule-Server.
- Implémentez les commandes shell dans le module com. mycompany.commerce. myservicemodule.facade.server.commands. Par exemple, implémentez Verb MyNounCmdImpl.java. Il s'agit de l'approche la plus simple pour implémenter une façade de composant - utilisez la commande shell pour analyser votre XML et 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 vos nouvelles commandes. 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 à l'aide d'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 l'instruction SQL.