HCL Commerce infrastructure de commandes BOD

La structure de commande Business Object Document (BOD) encapsule la couche de logique commerciale de HCL Commerce. Dans la version 9, elle est largement remplacée par l'API Java Persistance (JPA).

L'architecture de la structure de commande BOD de HCL Commerce utilise des interfaces bien définies pour découpler l'implémentation de la couche de présentation, la couche de logique commerciale et la couche de persistance. Depuis la perspective de la couche de logique métier, des messages OAGIS sont utilisés en tant qu'interface pour l'envoi de requêtes d'extraction de données métier ou pour l'appel de la logique métier. L'infrastructure de commande BOD a la capacité de traiter ces requêtes BOD et leurs réponses.

L'interaction entre les objets métier et la couche de persistance est isolée dans un objet dénommé BOM (Business Object Mediator), c'est à dire médiateur d'objet métier. Les commandes BOD interagissent avec le médiateur d'objet métier pour gérer l'interaction avec les objets métier et la manière dont leur persistance est assurée. Les principales différences entre l'architecture HCL Commerce précédente (côté gauche du diagramme) et la structure de commande BOD HCL Commerce (côté droit du diagramme) sont les suivantes :
  • Les commandes BOD opèrent sur des objets de données au lieu de paires nom-valeur.
  • Les BOD peuvent représenter une requête complexe effectuant plusieurs actions au lieu d'une seule.
  • Les commandes BOD interagissent avec une interface de persistance dénommé couche service de données à l'aide d'un objet nommé médiateur d'objet métier et sont indépendantes de la technologie de persistance.

Couches du modèle de programmation BOD

L'application est divisée selon les couches suivantes :

Couche de présentation
La première couche est la couche de présentation qui fait office de service d'interaction qui agglomère la logique métier pour constituer une application. La couche de présentation interagit avec la logique métier par le biais de services définis dans OAGIS et ne contient pas elle-même de logique métier à proprement parler. L'extraction de données métier ou l'exécution de logique métier doit être effectuée via les services OASIS d'un module de service. La couche de présentation ne peut pas interroger directement la base de données en vue d'extraire des données métier mais doit interagir avec les composants métier. Le HCL Commerce Management Center est un exemple de couche de présentation.
Couche de logique métier
La couche de logique métier fournit des services pour le renvoi de données ou l'exécution de la logique métier. La logique métier est organisée dans l'infrastructure de commande BOD en modules de service (parfois dénommés composants). Ces modules de service, et les services qu'ils hébergent, sont exploités par la couche de présentation afin d'afficher des données ou d'appeler un processus métier.

La partie gauche du diagramme précédent illustre une approche sous laquelle les services transforment les messages OAGIS (BOD) en paires nom-valeur pour leur traitement par des commandes sur des paires nom-valeur. Cela contribue à faciliter l'intégration avec des commandes HCL Commerce existantes ou personnalisées. On parle ici d'intégration orientée service, ou SOI (Service-Oriented Integration). Cette approche est appropriée lorsque la logique métier que vous souhaitez exécuter est déjà rédigée sous forme de commande sur paire nom-valeur.

La partie droite du diagramme illustre une approche sous laquelle les services transforment les messages OAGIS (BOD) en objets Java dénommés objets SDO (Service Data Objects). Les commandes BOD utilisent ces objets en tant qu'interface pour représenter le BOD. La commande utilise ensuite un objet dénommé médiateur d'objet métier (BOM) pour accepter des objets du service de données et gérer le mappage entre ces objets et leur mode de persistance. La logique métier n'a jamais à prendre en compte la technologie retenue pour assurer la persistance des données. La couche de logique métier transmet les objets SDO au mécanisme de persistance sans être elle-même liée à la technologie de persistance.

Les objets SDO font partie du modèle de programmation IBM SOA. Pour plus d'informations sur les objets SDO, suivez les liens ci-dessous :

Les patterns de traitement de l'infrastructure de commande BOD sont les suivants :

Les deux implémentations de logique commerciale, à savoir la structure de commande sur paire nom-valeur et la structure de commande BOD, sont complètement prises en charge et peuvent coexister dans un site HCL Commerce.

Couche de persistance
La couche de logique métier interagit avec la couche de persistance pour extraire et stocker des données. La couche de persistance dispose de deux implémentations différentes : EJB et la couche de service de données.

Sur le côté gauche du diagramme, les commandes de traitement de HCL Commerce sur des paires nom-valeur utilisent EJB pour la persistance. Il s'agit de l'approche utilisée lors de l'intégration à l'aide de l'intégration orientée services (SOI).

Sur le côté droit du diagramme, les commandes extraient et stockent les données via un objet dénommé médiateur d'objet métier (BOM). Ce médiateur accepte et renvoie des données sous forme d'objets SDO logiques. La couche de persistance mappe ces objets avec l'implémentation de persistance afin d'effectuer l'extraction ou la mise à jour des données. Toutes les ressources spécifiques à la persistance, comme les requêtes SQL, sont isolées dans la couche service de données. Avantage de cette approche : la couche de logique métier ignore totalement l'implémentation et la technologie de persistance.

Les deux implémentations de persistance coexistent et accèdent aux mêmes données. Cependant, un modèle mixte (par exemple, paires nom-valeur utilisant la couche de service de données ou bien commandes de traitement BOD utilisant EJB) n'est pas pris en charge.