médiateur d'objet métier
Le médiateur d'objet métier effectue des transformations bidirectionnelles entre les objets SDO physiques et les SDO logiques. A travers ce rôle, il fournit une interface de persistance d'objet métier pour la couche service de données. Le médiateur d'objet métier prend en charge les opérations de lecture, de mise à jour et de suppression sur les objets SDO logiques de sorte à ce que la couche service de données puisse les utiliser au lieu du schéma physique.
Dans HCL Commerce version 6, avant le Feature Pack 3, la logique métier traitait directement les Enterprise Java™ Bean (EJB). Bien que ces beans soient relativement faciles à manipuler, leur inconvénient est qu'ils constituent un mappage direct au schéma physique, ce qui complique l'extension et la personnalisation. La manipulation directe des EJB lie également la logique métier à la technologie de persistance. Avec le passage de WebSphere® à l'architecture SOA et l'élargissement de la prise en charge de clients de services Web, un modèle logique d'objets SDO a été défini pour la logique métier à utiliser. Les objets de ce modèle logique, les objets SDO logiques, constituent le mécanisme d'échange de données pour l'interaction entre composants, tout comme pour les interactions avec les services Web.
La couche de persistance exploite également un jeu d'objets de données de service, appelés objets SDO physiques. LES SDO physiques sont des objets Java™ qui représentent le schéma physique. Le médiateur d'objet métier fournit le mappage entre ces objets SDO logiques et leurs homologues dans la couche de persistance, les objets SDO physiques.

Dans le cadre du processus de transformation, le médiateur d'objet physique utilise les services du conteneur de données physiques afin d'extraire et de mémoriser les données physiques. Ce conteneur gère concrètement l'interaction avec le schéma physique. Le conteneur de données physiques gère les objets SDO physiques : il peut les créer, stocker des grappes de ces objets et les enregistrer dans la base de données.
Comme illustré dans le diagramme ci-dessus, la persistance de données via la couche service de données peut être assurée de deux manières. L'approche usuelle consiste à appeler le médiateur d'objet métier afin de transformer vos objets SDO logiques en objets SDO physiques. Cependant, les commandes de la logique métier doivent occasionnellement opérer directement sur des objets physiques car ils ne sont pas mappés au modèle logique. Par exemple, les tables utilisées pour conserver des journaux d'audit ou des statistiques. Dans ces circonstances, la couche de logique métier peut utiliser le conteneur de données physiques pou lire et écrire des données directement dans la base de données.
Médiateurs de lecture et de changement
La couche service de données initialise les médiateurs d'objet métier. Il s'agit de classes opérant une transformation entre les représentations logiques et physiques du modèle du domaine. Ceci permet à la couche de logique métier de ne manier que la représentation logique des données. Chaque module de service fournit sa propre implémentation pour les médiateurs.

Chaque module de service fournit ses propres médiateurs qui peuvent être de deux type : Médiateurs de lecture et de changement. Ces médiateurs sont répertoriés dans le fichier Configuration du médiateur d'objet métier. Les médiateurs de lecture sont utilisés pour le traitement des requêtes Get d'OAGIS. Les médiateurs de changement traitent les requêtes OAGIS Change, Process et Sync.
- La suppression d'objets de la liste des objets de données physiques d'un médiateur n'est pas prise en charge. Autrement dit, appelez la méthode delete() sur le SDO physique directement pour le supprimer.
- Si vous tentez de supprimer un objet de données (DataObject) parent après avoir extrait ses enfants dans le même datagraphe, le médiateur JDBC de WebSphere Application Server renvoie une exception. Vous devez supprimer les objets DataObjects enfants avant leur parent. Cependant, si seul l'objet de données DataObject parent est extrait dans le graphe lorsque cet objet est supprimé, les entrées de la table enfant seront supprimées de la base de données sous réserve que la table de base de données de base contienne la contrainte
ON DELETE CASCADE.