Tutoriel : Création d'un module de service BOD

Au cours de ce tutoriel, vous développez un nouveau module de service de projet. Les services fournis par ce module sont Get et Change. Dans le cadre de la création du module de service, vous concevez le modèle logique (nom) et physique (schéma de base de données) en fonction de vos exigences métier.

Le module de service BOD Project stocke et récupère des données, et fournit une logique pour effectuer des opérations sur un objet métier ou un modèle logique, appelé nom. Le nom que vous définissez dans ce tutoriel est le nom Project.

Ce tutoriel fournit un exemple, mais vous pouvez utiliser les méthodes décrites pour implémenter n'importe quelle logique métier.

Les versions précédentes de HCL Commerce s'appuyaient sur le langage SDL (Specification and Description Language) pour la création de modules de service. Puisque la version 9 utilise l'API de persistance Java, ce tutoriel montre comment utiliser BOD pour appeler le JPA dans HCL Commerce. Afin de réduire la complexité et de mettre l'accent sur le fonctionnement des opérations JPA dans la version 9, le tutoriel définira une table et un nom uniques.

Tout service utilisant un schéma XML requiert une définition de modèle logique. Dans HCL Commerce, le modèle logique est représenté par des noms et des parties de nom. Les noms sont les objets métier dans votre application. Les parties de nom sont des composants des objets auxquels des noms distincts ont été attribués afin qu'ils puissent être gérés indépendamment du nom. Les noms définissent le nom de chaque élément de données dans le modèle logique et l'affectent à un type de données. Ce type de données peut être un type de schéma XML primitif, tel que booléen, ou un type complexe constitué d'éléments de données. Par exemple, ProjectExternalIdentifierType contient Name (représenté par un type string) et StoreIdentifier (représenté par _wcf:StoreIdentifierType). _wcf:StoreIdentifierType est une construction de type complexe prédéfinie qui peut être partagée entre tous les noms. Cette construction est définie dans le fichier IdentifierTypes.xsd. HCL Commerce propose certaines constructions type complexes prédéfinies qui sont partagées par tous les noms. Pour utiliser les constructions type prédéfinies communes, vous devez importer le fichier dans le fichier Project.xsd. L'échantillon de code suivant montre comment importer ces constructions type.
<import namespace="http://www.ibm.com/xmlns/prod/commerce/9/foundation"
schemaLocation="../../../../IBM/Commerce/Resources/Components/IdentifierTypes.xsd" />
Remarque : Pour réduire leur complexité, HCL Commerce utilise ses propres noms simplifiés, types définis et types de schéma XML primitifs plutôt que d'utiliser les noms et les types de bases fournis par OAGIS.

Le module de service que vous créez dans ce tutoriel contient un nom : Project. Pour les besoins de ce tutoriel, les noms Project ont été prédéfinis. Le fichier Project.xsd, qui définit les noms, est fourni dans l'exemple de fichier ProjectServices.zip.

Pour ce tutoriel, les définitions du nom contiennent les informations répertoriées dans la table pour chaque nom. Les tableaux recensent les profils d'accès qui incluent ces informations. Les données incluses dans le profil Récapitulatif sont affichées dans la vue de récapitulatif et les données incluses dans le profil Détails apparaissent dans la vue de détails.

Nom Project :

Le nom Project représente le modèle de données logique du nouveau module de service que vous créez. La définition de ce modèle logique constitue une étape de développement clé car ce modèle est présenté à tout client qui utilise le service Project et il est largement utilisé dans le modèle de programmation BOD pour la couche logique métier de HCL Commerce. Le diagramme suivant affiche la définition du schéma pour le nom Project :
Les diagrammes suivants montrent la structure pour le nom Project :
Pour gérer les informations du nom Project que vous créez dans ce tutoriel, vous implémentez les services Get et Change pour le nouveau module de service.
Services d'extraction Get
Vous pouvez utiliser le service Get afin d'extraire des informations sur le nom Project, basées sur une expression de recherche XPath. Ce tutoriel montre comment prendre en charge les expressions XPath suivantes :
 Find Project by Project UniqueID:
        /Project[ProjectIdentifier[(UniqueID='10001')]]
Services Change
Le service Change met à jour des informations de projet pour un nom Project. Le service Change peut mettre à jour projectName (vous pouvez écrire, ajouter et supprimer le service vous-même).

Objectifs d'apprentissage

A l'issue de ce tutoriel, vous devez connaître les concepts suivants :
  • La structure de commandes BOD HCL Commerce
  • Tâches d'extension et de personnalisation.
  • Définitions de modèle logique.
  • JET (Java Emitter Template).
  • Objets SDO (Service Data Objects).
  • Structure des modèles Eclipse.
  • La structure JPA
  • Le Médiateur d'objet métier.
A l'issue de ce tutoriel, vous devez pouvoir exécuter les tâches suivantes :
  • Créer un magasin de site étendu avec un catalogue personnalisé.
  • Vérifier le nom Project.
  • Personnaliser la couche physique.
  • Générer le code de base de votre module de service Project.
  • Ajouter des messages d'exception spécifiques à une langue aux fichiers de propriétés.
  • Importer des médiateurs.
  • Configurer la couche de service de données pour le module de service Project.

Temps nécessaire

Prévoyez deux heures pour réaliser ce tutoriel. Le tutoriel prend plus de temps si vous explorez les concepts connexes qu'il aborde.

Niveau de compétences requis

Ce tutoriel s'adresse aux développeurs HCL Commerce expérimentés chargés de la création et de la personnalisation des services HCL Commerce. Pour suivre ce tutoriel, vous devez être familiarisé avec les termes et les concepts suivants :
  • Langage de programmation Java
  • XPath
  • XSD
  • Services Web
  • XML
  • Services du HCL Commerce
  • Structure JPA
  • Noms
  • Bases de données relationnelles
  • SQL

Configuration requise

Avant de commencer ce tutoriel, vous devez avoir effectué les tâches suivantes :

Ressources du tutoriel

Ce tutoriel nécessite les ressources ci-après. Assurez-vous que vous téléchargez et extrayez le fichier compressé suivant dans un répertoire temporaire, tel que C:\Temp, avant de commencer ce tutoriel  :
Remarque : Si vous suivez ce tutoriel comme condition préalable au tutoriel sur la personnalisation de Management Center, "Ajout d'un outil au Management Center ", vous pouvez importer les projets dans le fichier compressé Recipe_service_source.zip suivant dans votre environnement de développement. Ces fichiers incluent le code source du module de service BOD complété pour les exemples de services de recette. Toutefois, si vous souhaitez en savoir plus sur la création d'un module de service, il vous est recommandé de suivre l'ensemble du tutoriel plutôt que d'importer ces projets.

Si vous importez ces projets, vous devez tout de même effectuer l'étape pour mettre à jour les dépendances de génération du module de service. Pour plus d'informations, voir Génération des projets du module de service Project.