Service de contexte métier
Ce service de contexte commercial gère les informations contextuelles utilisées par les composants métier. L'information est encapsulée dans différents types de contextes métier. Ce processus formalise l'infrastructure contextuelle et favorise la réutilisation entre les différents modèles commerciaux.
L'abstraction des informations contextuelles utilisateur permet :
- Activation des composants génériques
- Contenu et expérience sur mesure
- Offres ciblées avec précision
- Application des politiques commerciales
- Prix, droits et modalités appropriés pour un utilisateur particulier
Avant que la logique de traitement de l'opération ne soit appelée, les informations contextuelles sont configurées et gérées par le service de contexte métier. Une fois le traitement terminé, le service de contexte métier est appelé pour gérer tout post-traitement des informations de contexte tel que la persistance. Dans le modèle de contexte métier, un client appelle un service pour effectuer une opération. Facultativement, le client peut recevoir une réponse. Un service qui aide une entreprise à répondre aux besoins de ses clients constitue un exemple de service commercial Plusieurs services peuvent être logiquement regroupés en composants métier. Un composant se spécialise dans une fonction telle que la gestion de catalogue ou le calcul de la taxe.
Le diagramme suivant montre les artefacts dans le modèle de contexte commercial.
- Contrôleur de solution
- Un contrôleur de solution est responsable de la gestion de l'activité ou des activités d'un utilisateur. Dans la structure Struts de HCL Commerce, le contrôleur de solution existe dans le cadre de l'action de base. Le client effectue un ensemble limité d'actions tandis que le contrôleur de solution fournit les crochets de processus BCS supplémentaires.
- Jeton d'activité
- Identificateur d'une activité qui couvre plusieurs requêtes et transactions. Une activité commence généralement lorsqu'un utilisateur se connecte au site et se termine lorsqu'un utilisateur se déconnecte. Le jeton d'activité est unique pour chaque appelant, utilisateur run-as et magasin.
Le jeton d'activité regroupe l'ensemble des contextes efficaces lors de la requête d'un client particulier aux différents composants métier. Le client fournit ce jeton d'activité à chaque requête pour indiquer l'expérience qu'il souhaite obtenir des composants métier. Habituellement, le contrôleur de solution lance une requête au service de contexte métier pour demander un jeton d'activité.
- Composants professionnels
- Un composant métier regroupe un ensemble de services connexes et un service fournit une fonction spécialisée. Il interagit avec le service de contextes métier pour signifier le début et la fin d'une requête de façon à permettre la réalisation de tout pré-traitement et post-traitement sur les contextes métier. En outre, les composants peuvent récupérer et mettre à jour divers contextes métier lors de l'exécution d'une requête.
- Moteur de contextes métier
- Le moteur de contextes métier (BCE) fournit des contextes qui dictent les caractéristiques comportementales des composants métier au cours de la durée de la session. Le moteur de contextes métier est composé du service de contextes métier et des contextes métier.
- Service de contexte métier
- Le contrôleur de solution utilise le service de contextes métier (BCS) pour gérer les contextes requis par les composants métier. Le BCS est également une interface utilisée par les composants pour obtenir les contextes dont ils ont besoin. Plusieurs contextes uniques, utilisés par divers composants métier, sont associés sous un identificateur unique connu sous le nom d'activité, pour une durée de vie limitée. La durée de vie d'une activité couvre plusieurs requêtes et transactions. Les contextes associés à une activité maintiennent leur état pendant toute la durée de l'activité. Le BCS gère également un cache des contextes métier associés à une activité dans une requête. Ce cache enregistre les ressources qui seraient autrement utilisées pour initialiser et détruire plusieurs contextes métier utilisés dans la même requête.
- Contextes métier
- Les contextes métier ont les caractéristiques suivantes :
- Un contexte établit un environnement d'exécution qui affecte la sortie d'un composant métier pour l'entrée équivalente en fonction des besoins de la solution.
- La sortie produite par un composant pour une entrée donnée est toujours identique pour un même ensemble de contextes.
- Les contextes ne sont pas directement appelés par les clients des processus métier. C'est plutôt le composant métier qui utilise les services fournis par les contextes lors de l'exécution d'une requête.
- Un contexte fournit un ensemble de méthodes de service et peut éventuellement stocker des données de session qui ne changent pas très souvent au cours d'une durée de vie d'activité.
- La durée de vie d'un contexte commence par la création d'une activité et se termine par l'achèvement de l'activité.
- Chaque contexte métier implémente deux interfaces :
- ContextSPI
- L'interface ContextSPI définit les méthodes du service de contexte métier pour indiquer des événements tels que le début d'une activité, le début et la fin d'une requête.
- Contexte
- L'interface Contexte est étendue par chaque contexte métier qui définit les méthodes de logique commerciale à utiliser pour récupérer des informations spécifiques au contexte.
HCL Commerce prédéfinit les contextes suivants :
- BaseContext
- Ce contexte contient les attributs de base dont une activité a besoin, tels que l'ID de magasin, l'ID de l'appelant et l'ID run as.
- EntitlementContext
- Ce contexte contient des informations sur les critères d'autorisation, tels que la réduction des prix en cas d'appartenance au club gold.
- GlobalizationContext
- Ce contexte permet aux composants de déterminer des informations spécifiques aux paramètres régionaux telles que la langue dans laquelle un message doit être fourni ou la devise à utiliser pour le calcul d'un prix.
- ContentContext
- Si les espaces de travail sont activés, ce contexte détermine le contenu ou les objets métier qui peuvent être affichés ou modifiés en fonction des informations de version.
- TaskContext
- Si les espaces de travail sont activés, ce contexte détermine la tâche qu'un administrateur exécute actuellement.
- AuditContext
- Ce contexte est généralement fourni par des composants tiers. Vous voudrez peut-être combler l'écart qui sépare de l'interface tiers au lieu de programmer directement sur celle-ci. Ce contexte vous permet de vous connecter à l'implémentation du service par un autre fournisseur à l'avenir sans avoir à réécrire votre composant.
- PreviewContext
- Le contexte d'aperçu est la tentative de résoudre les deux problèmes en permettant aux multi-utilisateurs de valider du contenu indépendant sans influencer les autres utilisateurs et en s'assurant que le contenu ne nécessite pas de modifications supplémentaires après validation. Pour ce faire, un objet contextuel qui représentera les informations d'état qui seront utilisées lors de la décision relative au contenu à prévisualiser avec d'autres événements externes sera associé à l'opération d'aperçu. En associant un contexte d'aperçu à une activité, les opérations peuvent utiliser ces informations d'état de contenu comme base pour décider du contenu à afficher. Pour résoudre le problème de date, le contexte d'aperçu contiendra la date d'aperçu qui sera utilisée pour fournir le contenu à afficher. Faire en sorte que les activités aient un contexte d'aperçu unique permettra à plusieurs utilisateurs d'afficher un aperçu du contenu indépendant sans avoir à modifier les données de contenu ou les informations d'état du système mondial.
- ExperimentContext
- ExperimentContext est utilisé pour stocker le résultat de toutes les expériences actives pour les utilisateurs individuels, où le résultat est un nombre généré par le système qui détermine l'élément de contrôle ou de test à sélectionner dans l'expérience. Ces informations sont maintenues dans toute la session utilisateur, de sorte que le même résultat sera utilisé dans la même session sans nouvelle génération du nombre.
- CatalogContext
- Ce contexte contient des informations relatives au catalogue dans la session en cours, telles que l'ID de catalogue, le propriétaire du catalogue et si le catalogue est un catalogue principal ou pas.
- GiftRegistryContext
- Ce contexte contient des informations de registre de cadeaux pour un utilisateur dans la session en cours, telles qu'une liste de registres de cadeaux auxquels l'utilisateur a accédé, la relation de l'utilisateur avec des registres de cadeaux spécifiques (donateur de cadeaux, inscrit ou co-inscrit), et l'ID externe du registre de cadeaux que l'utilisateur gère actuellement.
- ContextSPI
- Ensembles de contextes métier
- Les contextes métier sont regroupés dans des ensembles de contextes métier. Un ensemble de contextes métier est un regroupement logique de contextes métier pour un type de requête particulier. Différents ensembles de contextes peuvent être configurés pour les requêtes provenant de différentes applications Web. Par exemple, les requêtes lancées à partir de l'application Web Accelerator doivent inclure des contextes de contenu et de tâche à des fins de création, tandis que les requêtes de l'application Web du magasin n'ont pas cette exigence. Cette implémentation offre les avantages suivants :
- Elle améliore les performances, les contextes métier non nécessaires n'ont pas besoin d'être initialisés. Par exemple, lorsque les clients parcourent le catalogue dans la vitrine, ils n'ont pas besoin de la présence du contexte d'aperçu qui sert à l'aperçu dans l'environnement de création.
- Elle offre des avantages de sécurité. Par exemple, les requêtes de l'application Web Store n'ont pas besoin d'activer le contexte d'aperçu qui supprime la fonctionnalité d'aperçu du client.