Fichier de configuration du contexte métier
Les contextes métier par défaut sont définis dans le fichier xml/config/businessContext.xml. L'emplacement du fichier est défini dans l'attribut BusinessContextService/BusinessContextConfigFile dans le fichier de configuration HCL Commerce (xml/wc-server.xml). Plusieurs emplacements de fichiers séparés par des virgules sont autorisés pour que cet attribut prenne en charge le développement basé sur des composants. Autrement dit, lors de la création d'un nouveau contexte métier, au lieu de modifier le fichier de configuration par défaut, vous pouvez le définir dans un fichier distinct et l'ajouter à la fin de l'attribut BusinessContextConfigFile sur l'élément BusinessContextService. Cette implémentation permet une mise à niveau future du fichier businessContext.xml sans affecter le contexte métier que vous avez enregistré.
Dans le fichier de configuration, il y a deux sections principales.
- BusinessContexts qui définit les différents contextes métier qui sont disponibles sur le site
- InitialBusinessContextSets définit un ensemble de contextes métier qui est un regroupement logique de contextes professionnels pour un type de requête particulier. Si aucun groupe de contextes métier n'est défini pour la demande, le groupe de contextes métier par défaut est utilisé.
- BusinessContexts
- Élément racine du fichier de configuration, défini dans le fichier xml/config/businessContext.xml. Ces éléments contiennent les attributs requis suivants :
- BusinessContext
- Définit les propriétés d'initialisation d'un contexte métier.
- ctxId
- Attribut requis qui identifie le contexte métier dans le fichier de configuration. Cet identificateur est nécessaire lors de la définition de contextes dans un ensemble de contextes métier. Les attributs suivants peuvent être spécifiés :
- BaseContext
- Ce contexte doit toujours exister pour une activité et la combinaison de ses valeurs est unique dans toutes les activités d'un système. Dans HCL Commerce, toutes les opérations sont invoquées par un membre et effectuées sur un magasin. Un utilisateur peut agir au nom d'un autre utilisateur dans le système, donc un utilisateur a essentiellement deux identités de membre : callerId et runAsId. CallerId est utilisé pour indiquer la véritable identité de l'utilisateur et runAsId est utilisé par la logique métier pour l'exécution. Ainsi, le contexte de base se compose de ces ID : callerId, runAsId et storeId. Le contexte de base est utilisé par chaque composant de la fonction HCL Commerce car chaque composant doit savoir sous quel magasin une opération est effectuée.
HCL Commerce prédéfinit les contextes suivants :
- EntitlementContext
- GlobalizationContext
- ContentContext
- TaskContext
- AuditContext
- PreviewContext
- ExperimentContext
- factoryClassname
- Attribut requis qui spécifie le nom de la classe qui crée l'objet de contexte métier. Cette classe de fabrique doit implémenter l'interface BusinessContextFactory. Une classe SimpleBusinessContextFactory par défaut est fournie et crée un contexte métier basé sur le nom de classe d'une implémentation donnée. Une classe abstraite, appelée AbstractBusinessContextFactory, est également fournie pour faciliter la création de toute classe de fabrique personnalisée. Pour créer une classe de fabrique, deux méthodes (createContextSPI et destroyContextSPI) doivent être implémentées pour créer et détruire un contexte métier particulier.
- paramètre
- Les paramètres sont transmis à la classe de fabrique et sont utilisés pour créer le contexte métier. Par défaut, la classe SimpleBusinessContextFactory utilise le nom de classe d'implémentation du contexte métier comme paramètre. Autre utilisation de cet attribut de paramètre : lorsque les valeurs initiales doivent être définies au moment de la création du contexte métier. Une fabrique de contexte métier personnalisée peut alors être implémentée pour prendre ces valeurs initiales en tant qu'éléments de paramètres et remplir le contexte métier créé en conséquence.
- InitialBusinessContextSets
- Définit un ensemble de contextes métier. Différents contextes métier peuvent être regroupés dans un ensemble de contexte métier. Plusieurs ensembles de contextes métier peuvent être définis dans le fichier de configuration. Chaque ensemble de contextes métier contient plusieurs contextes métier et est créé dans l'ordre spécifié par l'attribut createOrder. La valeur d'attribut createOrder est un entier. Le contexte métier avec la plus petite valeur sera créé d'abord, ce qui signifie que la valeur 0 sera la première à être créée.