Génération des projets du module de service Project

JET (Java Emitter Template) désigne un moteur de modèles opérant sous Eclipse et permettant de générer des applications basées sur des transformations d'architecture pilotées par modèle. En définissant un fichier XML décrivant votre module, le plug-in JET pour Rational Application Developer (RAD) peut générer à votre place le code de base du module de service HCL Commerce. Par la suite, vous pouvez terminer le module en complétant votre logique métier spécifique pour commencer directement avec l'implémentation du module de service. Vous n'avez pas besoin de passer des heures à configurer un module de service.

Avant de commencer

Vérifiez que vous avez installé le package JET (Java Emitter Template) Pour plus d'informations, voir Installation du package Java Emitter Template (JET).

Pourquoi et quand exécuter cette tâche

Dans cette leçon, vous utilisez l'outil JET (Java Emitter Template) fourni pour générer le code de base de votre module de service Project. Le code Java d'un module de service HCL Commerce est extrait et généré. Vous pouvez alors vous concentrer sur l'implémentation du code spécifique de chaque module de service, par exemple, les noms et la logique métier.

Procédure

  1. Démarrez HCL Commerce Developer.
  2. Dans la vue Explorateur d'entreprise, créez le fichier de définition d'application afin de créer le code de base du module de service TutorialStore.
    1. Créez un fichier d'entrée de module de service.
      Vous pouvez stocker ce fichier dans n'importe quel endroit de votre espace de travail. A titre d'exemple, les étapes suivantes créent ce fichier dans un nouveau répertoire ServiceModuleDefinition dans le projet WebSphereCommerceServerExtensionsLogic.
      1. Cliquez avec le bouton droit de la souris sur le projet WebSphereCommerceServerExtensionsLogic. Sélectionnez Nouveau > Dossier.
      2. Entrez ServiceModuleDefinition comme nom de dossier. Cette opération crée un emplacement de stockage unique pour tous les fichiers d'entrée du module de service.
      3. Cliquez avec le bouton droit de la souris sur ServiceModuleDefinition. Sélectionnez Nouveau > Fichier.
      4. Entrez project.xml comme nom de fichier et cliquez sur Terminer.
    2. Collez la définition d'application suivante dans l'onglet Source de project.xml :
      <?xml version="1.0" encoding="utf-8"?>
      
      <_pattern:commerceComponent xmlns:_pattern="http://www.ibm.com/xmlns/prod/commerce/foundation/pattern" 
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/commerce/foundation/pattern ../../WC/xml/config/xsd/wc-component-pattern.xsd " 
          name="Project" packagenameprefix="com.mycompany.commerce" company="myCompany" namespace="http://www.mycompany.com/xmlns/prod/commerce/9/project" nlsprefix="myprj" type="BOD"> 
        <_pattern:noun name="Project" get="true" process="true" change="true" sync="false">
        </_pattern:noun>
      </_pattern:commerceComponent>
      Remarque : La définition indique le nom et les verbes activés pour le canevas (Get, Process et Change, mais non pas Sync). Ce fichier détermine les ressources et le code à générer pour vous.
    3. Sauvegardez le fichier.
  3. Cliquez avec le bouton droit sur project.xml. Sélectionnez Exécuter en tant que > Exécuter des configurations.
  4. Double-cliquez sur Transformation JET.
  5. Dans la section Transformation :
    1. Sélectionnez l'ID suivant :
      • com.ibm.commerce.toolkit.internal.pattern.componentprojects

      Sélectionnez l'ID com.ibm.commerce.toolkit.internal.pattern.componentprojects

    2. Cliquez sur Appliquer. Cliquez ensuite sur Exécuter.
  6. Le pattern est appliqué. Dans la vue Navigateur, vérifiez que les projets suivants ont bien été créés :
    Project-Client
    Ce projet contient le code client spécifique utilisé pour générer des requêtes et traiter les réponses du service Web Project.
    Project-DataObjects
    Ce projet héberge le fichier XSD définissant le nom Project et les objets SDO générés à partir des noms Project et ProjectCollection.
    Project-Server
    Ce projet contient la logique métier côté serveur pour les noms Project et ProjectCollection.
    Project-UnitTests
    Ce projet contient des tests unitaires pour vérification du composant Project.
    ProjectServicesHTTPInterface
    Ce projet active Project-Server pour les services Web via HTTP.
    ProjectServicesJMSInterface
    Ce projet active Project-Server pour les services Web via JMS.
    Remarque : Des erreurs de génération apparaîtront dans les projets à ce stade car les objets de données n'ont pas encore été générés. Poursuivez avec le tutoriel pour générer ces objets et résoudre ces erreurs.
  7. Mettez à jour le projet HCL Commerce.
    Lorsque vous exécutez l'outil de modèle JET, le code généré par l'outil configure votre module de service pour supprimer la liaison WS. En mettant à jour le projet, vous pouvez définir des liaisons locales pour votre nouveau module de service.
    1. Cliquez avec le bouton droit de la souris sur le projet WC. Sélectionnez Régénération.
    2. Développez WC > xml > config > com.mycompany.commerce.project.
      • Renommer wc-component-client.xml en wc-component-client-J2SEWebService-example.xml
      • Renommer wc-component-client-local-example.xml en wc-component-client.xml
  8. Modifiez le nom JNDI des données source :
    1. Dans la vue Explorateur d'entreprise, développez Project-Server > ejModule > META-INF.
    2. Cliquez avec le bouton droit de la souris sur ibm-ejb-jar-bnd.xmi ; sélectionnez Ouvrir.
    3. Vérifiez que les valeurs jndiName suivantes sont spécifiées pour l'attribut <resRefBindings> :
      • DB2jdbc/HCL Commerce DB2 DataSource demo
      • Oraclejdbc/HCL Commerce Oracle DataSource demo

      Si la zone JNDI name est vide ou incorrecte, apportez les modifications nécessaires pour la base de données souhaitée.

  9. Mettez à jour les dépendances de génération pour le module de service :
    Les dépendances de génération sont gérées à l'aide de l'assemblage de déploiement plutôt qu'à l'aide du chemin d'accès de la classe de projet. Une fois que vous avez généré votre code de module de service, vous devez ajouter les dépendances de génération suivantes pour intégrer votre module de service dans l'application HCL Commerce existante.
    1. Ajoutez les modules de service à l'application HCL Commerce.
      1. Développez WC, puis cliquez avec le bouton droit sur WebSphereCommerceServer. Sélectionnez Ouvrir.
      2. Cliquez sur l'onglet Conception pour afficher l'éditeur de descripteur de déploiement d'application
      3. Dans la section Aperçu, sélectionnez Application (WebSphereCommerceServer). Cliquez ensuite sur Add.
      4. Sélectionnez Module. Cliquez ensuite sur OK.
      5. Sous Module, sélectionnez Project-Server, puis cliquez sur Terminer.
      6. Dans la section Aperçu, sélectionnez Application (WebSphereCommerceServer). Cliquez sur Ajouter.
      7. Sélectionnez Module. Cliquez ensuite sur OK.
      8. Sous Module, sélectionnez ProjectServicesHTTPInterface, puis cliquez sur Terminer.
      9. A nouveau dans la section Aperçu, sélectionnez Application (WebSphereCommerceServer).
      10. Sous Actions, cliquez sur Gérer les fichiers JAR utilitaires > Ajouter. Sélectionnez Projet et cliquez sur Suivant.
      11. Sélectionnez Project-Client et Project-DataObjects. Cliquez sur Terminer > OK.
      12. Sauvegardez les modifications effectuées dans Application Deployment Descriptor Editor.
    2. Cliquez avec le bouton droit de la souris sur le projet Project-Server. Sélectionnez Propriétés.
    3. Sélectionnez Assemblage de déploiement. Cliquez sur Ajouter.
    4. Sélectionnez Entrées de chemin de génération Java. Cliquez sur Suivant.
    5. Sélectionnez les fichiers JAR et les projets suivants :
      • Foundation-Core.jar
      • Foundation-DataObjects.jar
      • Foundation-Extension.jar
      • Foundation-Server.jar
      • Enablement-BaseComponentsData.jar
      Remarque : Vous pouvez sans problème ignorer les avertissements surviennent lors que cette étape.
    6. Cliquez sur Terminer > OK.

Résultats

Au cours de cette leçon, vous avez utilisé l'outil JET (Java Emitter Template) afin de générer le code de base du composant Project. Votre prochaine tâche consiste à générer les objets de données requis pour implémenter le modèle de données logique de votre nom Project, lequel est défini dans le fichier Project.xsd.