Management Center structure

L'infrastructure Management Center pour HCL Commerce constitue la base des outils des professionnels HCL Commerce. Les objets métier gérés par le Management Center sont définis par des composants individuels du Management Center. La structure du Management Center utilise ces définitions pour vous fournir toutes les fonctions vous permettant de rechercher, créer, modifier et supprimer les objets métier définis. Si vous envisagez de personnaliser le Management Center, il est important de comprendre la structure et les composants qui constituent le Management Center.

Management Center est un outil graphique enrichi à base Web, avec lequel les professionnels interagissent pour gérer leurs objets métier et magasin. Management Center est développé à partir de technologies HTML dynamiques, dont le chargeur AMD (Asynchronous Module Definition) Dojo. Pour plus d'informations sur le chargeur AMD Dojo, voir Dojo AMD modules.

Le Management Center est pris en charge par Spring Framework. Spring Framework est un modèle de programmation et de configuration pour les applications d'entreprise à base Java. Pour plus d'informations sur Spring Framework, voir Spring framework

Présentation de la structure du Management Center

Le diagramme suivant illustre les composants et les interactions de haut niveau avec la structure du Management Center

Management Center architecture

Lorsqu'un professionnel accède à l'application Management Center via son navigateur, le chargeur AMD Dojo charge les modules AMD et les informations de configuration (appelées "définitions") à partir de l'application Web Management Center. Ces définitions sont des fichiers XML que le la structure du Management Center utilise pour afficher tous les outils, objets métier, vues de propriétés et vues de liste du Management Center.

Lorsque l'utilisateur gère des objets avec le Management Center, l'application Management Center effectue des demandes HTTP de paires nom-valeur auprès de l'application Web Management Center. Ces demandes communiquent via les services Web du serveur HCL Commerce pour envoyer et extraire des données.

Lorsque le serveur HCL Commerce reçoit les données provenant de l'application Management Center du navigateur du professionnel, il traite les actions requises sur les objets métier.

L'application Web Management Center se trouve entre l'application Management Center dans le navigateur client du professionnel et le serveur HCL Commerce. Elle assure la médiation des demandes HTTP de paires nom-valeur en demandes de service.

Modèle du Management Center

Lorsqu'un utilisateur accède au Management Center et travaille sur un objet métier, il interagit avec une instance du Management Center et une instance de l'objet métier. L'instance (ou modèle) du Management Center est créée lorsque la structure charge l'application et est conservée jusqu'à ce que l'utilisateur ferme l'application. Ce modèle permet d'appeler les services qui créent des objets, lisent les objets existants, sauvegardent des modifications dans des objets et suppriment des objets.

Lorsque la structure du Management Center charge un objet métier dans le Management Center, une instance (ou objet de modèle) de l'objet métier est créée. Si un objet métier unique est chargé à plusieurs reprises, le modèle du Management Center s'assure que seul objet de modèle de cet objet métier est présent. Cet objet de modèle est une représentation de l'objet métier. Un objet de modèle d'un objet métier est créé lorsqu'un professionnel demande au Management Center de créer un objet métier ou d'en charger un à partir du serveur. Les caractéristiques de l'objet sont précisées dans sa définition. Lorsqu'un professionnel travaille sur un objet dans le Management Center, il n'utilise qu'un objet de modèle.

Lorsqu'un professionnel travaille dans le Management Center, le modèle du Management Center gère la liste des objets métier qu'il a ouverts pour la gestion. Ces objets apparaissent sous le nœud Travail actif, dans la vue d'explorateur. Un objet passe à l'état ouvert si le professionnel l'ouvre explicitement ou le modifie. Les objets peuvent être explicitement fermés par le professionnel.

Lorsqu'un professionnel sélectionne un objet dans la vue Explorateur ou sélectionne l'ouverture d'un objet, des widgets d'interface utilisateur sont utilisés pour afficher des informations (ou propriétés) sur l'objet concerné. Si l'objet sélectionné contient des objets enfants, un widget d'interface utilisateur peut les afficher dans un widget de vue de liste. Les widgets d'interface utilisateur peuvent être liés à un objet ou à une propriété d'objet. Si un utilisateur met à jour l'objet ou la propriété d'objet dans un widget, les modifications sont répercutées dans tous les autres widgets (ou vues) de cet objet. Par exemple, si un utilisateur modifie le nom d'une promotion dans la vue de propriétés de la promotion, le nom de promotion mis à jour s'affiche dans toute vue de liste, de propriétés ou de calendrier.

Lorsque la structure Management Center charge des informations sur une propriété d'un objet métier, une instance (ou modèle) de cette propriété est créée. Lorsqu'un professionnel gère un objet, les propriétés qu'il visualise et gère sont les propriétés de modèle de l'objet. Les objets de modèle et les propriétés de modèle qu'un utilisateur gère existent uniquement dans le modèle du Management Center auquel cet utilisateur a accès. Les nouveaux objets, les nouvelles propriétés et les modifications apportées aux objets et aux propriétés, existent uniquement dans le modèle jusqu'à leur enregistrement sur le serveur et dans la base de données. Les professionnels peuvent créer et modifier plusieurs objets métier avant de sauvegarder leur travail. D'autres professionnels peuvent travailler simultanément sur les mêmes objets dans différents modèles du Management Center, ce qui peut entraîner des conflits de sauvegarde. Vous pouvez limiter ces conflits en vous assurant que les services de composant sont aussi granulaires que possible. Seules les propriétés modifiées par le professionnel sont renvoyées au serveur. Ainsi, si deux professionnels modifient des aspects distincts d'un même objet, aucune de leurs modifications n'entre en conflit. Les professionnels peuvent explicitement régénérer le modèle pour vérifier que les modifications effectuées par d'autres professionnels sont visibles dans le modèle du Management Center.

Lorsqu'un utilisateur travaille dans le Management Center, le modèle ne conserve les objets de modèle et les propriétés que des objets dont le chemin de navigation actif est disponible pour l'utilisateur. Par exemple, les objets ouverts et les objets affichés dans une liste active ou dans la vue Explorateur ont un chemin de navigation actif. Les objets sans chemin de navigation actif tels que les objets d'un ensemble de résultats de recherche supprimé, sont purgés du modèle.

Remarque : Avec ses données d'identification, un utilisateur ne peut interagir qu'avec un seul modèle du Management Center. Il ne peut pas ouvrir le même modèle du Management Center dans différents onglets de navigateur. S'il tente d'ouvrir une deuxième instance du Management Center dans un autre onglet, il est déconnecté de la première instance.
HCL Commerce Version 9.1.4.0 or later

Nouveau modèle d'interface utilisateur de programmation pour Management Center

Management Center ainsi que l'infrastructure existante, disposent d'un modèle d'interface utilisateur de programmation mis à niveau.

Le diagramme suivant illustre les composants et les interactions de haut niveau avec la structure du Management Center

Management Center architecture

Le nouveau modèle de programmation du Centre de gestion utilise une nouvelle classe du Centre de gestion (IFrameTool) pour définir des outils. Cette nouvelle classe permet aux développeurs d'intégrer une SPA (application mono-page) dans un iframe. Pour les outils prêts à l'emploi, les ressources SPA sont chargées à partir du Docker de l'application Web. Une fois l'application chargée, le Centre de gestion communique avec la SPA à l'aide de window.postMessage pour fournir des informations de contexte, telles que les préférences utilisateur, et un jeton JWT qui peut être utilisé par la SPA pour effectuer des appels REST vers le docker du serveur de transactions. Lorsque le jeton expire, la SPA utilise window.postMessage à nouveau pour demander un nouveau jeton au Centre de gestion.

Explication des points de personnalisation de CMC

Suivez les étapes de haut niveau ci-dessous qui expliquent les points de personnalisation de CMC.

Vous pouvez créer vos propres outils à l'aide du nouveau modèle de programmation pour le Centre de gestion. Les étapes de création d'un nouvel outil peuvent être divisées en deux parties :
  1. Créez les nouveaux composants d'outils dans la SPA d'outils
    • La SPA d'outils est chargée dans le Centre de gestion dans un IFrame. L'endroit où les actifs d'application sont chargés n'importe pas. Par conséquent, l'environnement de création et de production partagent la même instance.
    • La SPA peut demander au Centre de gestion de trouver le serveur de transactions par Centre de gestion à l'aide de window.postMessage.
    • Si vous chargez la version de création du Centre de gestion, la SPA est informée de l'utilisation du serveur de transactions de création.
    • Si vous utilisez la version de production du Centre de gestion, la SPA est informée de l'utilisation du serveur de transactions de production.
  2. Ajoutez le nouvel outil au Centre de gestion

Le nouvel outil doit avoir une seule route de page d'accueil configurée avec la SPA d'outils. Le nouvel outil peut contenir des pages supplémentaires qui sont accessibles après le chargement de la page d'accueil. La source de la SPA d'outils est disponible pour la personnalisation. https://help.hcltechsw.com/commerce/9.1.0/install/tasks/t91toolingsdk.html

Le nouvel outil est défini en créant une nouvelle définition d'instance qui étend la classe IFrameTool. Cette nouvelle définition d'instance doit être définie dans un fichier xml se trouvant dans un répertoire situé dans LOBToools/WebContent/WEB-INF/src/xml.

Par exemple, l'outil de gestion de compte est défini à l'aide du nouveau modèle de programmation. La définition de l'instance IFrameTool de gestion de compte est définie dans LOBTools/WebContent/WEB-INF/src/xml/commerce/account/AccountManagementToolDefinition.xml :
<Definitions>
	<IFrameTool definitionName="cmc/account/AccountManagement" displayName="${shellResources.accountManagementDisplayName}" src="/accounts" respectWorkspaceContext="false">
		<dependency localName="shellResources" moduleName="cmc/shell/ShellResources"/>
	</IFrameTool>
</Definitions>
  • definitionName est le nom de la définition. Il doit être unique.
  • displayName est le nom de l'outil qui sera affiché à l'utilisateur. Il peut s'agit d'une chaîne codée en dur ou d'une chaîne de groupement de ressources.
  • src est l'URL relative de la route vers la page d'accueil dans la SPA.
  • respectWorkspaceContext indique si l'outil nécessite des espaces de travail.

    Pour que le nouvel outil soit disponible pour les utilisateurs du Centre de gestion, un nouvel élément de menu doit être ajouté à ApplicationMenuItems.xml (LOBTools/WebContent/WEB-INF/src/xml/commerce/shell/ApplicationMenuItems.xml).

    Le code suivant définit l'élément de menu de l'outil Gestion de compte :
    <ApplicationMenuItem actionName="openBusinessObjectEditor" 
    displayName="${shellResources.accountManagementDisplayName}" 
    id="accountManagement" package="cmc/shell" 
    toolDefinition="cmc/account/AccountManagement" usage="HCL_AccountTool">
    </ApplicationMenuItem>
    
Remarque : L'attribut toolDefinition est défini sur le nom de définition de la définition d'instance IFrameTool.