Management Center infraestructura

La infraestructura de Management Center para HCL Commerce es la base de las herramientas de usuario de empresa de HCL Commerce. Los objetos de negocio que se gestionan con el Management Center se definen mediante los componentes individuales que componen el Management Center. La infraestructura del Management Center utiliza estas definiciones para suministrar las características que puede utilizar para buscar, crear, modificar y eliminar los objetos de negocio definidos. Si tiene la intención de personalizar el Management Center, debe asegurarse de que conoce la infraestructura y todos los componentes que conforman el Management Center.

Management Center es una potente herramienta gráfica basada en la web con la que los usuarios de empresa interactúan para gestionar su tienda y los objetos de negocio. El Management Center se ha desarrollado con tecnología HTML dinámica, en concreto el cargador AMD (Definición de módulo asíncrono) de Dojo. Para obtener más información sobre este cargador AMD de Dojo, consulte Dojo AMD modules.

El Management Center está soportado por Spring Framework. Spring Framework es un modelo de programación y configuración para aplicaciones empresariales basadas en Java. Para obtener más información sobre Spring Framework, consulte Spring framework

Visión general de la infraestructura del Management Center

En el diagrama siguiente se muestran los componentes y las interacciones de alto nivel de la infraestructura del Management Center

Management Center arquitectura

Cuando un usuario de empresa accede a la aplicación del Management Center a través de su navegador, el cargador AMD de la aplicación Dojo carga los módulos de AMD y la información de configuración, que se denominan definiciones, desde la aplicación web del Management Center. Estas definiciones son archivos XML que la infraestructura del Management Center utiliza para entender cómo visualizar todas las herramientas, los objetos de negocio, las vistas de propiedades y las vistas de lista en el Management Center.

A medida que el usuario gestiona objetos con el Management Center, la aplicación del Management Center efectúa solicitudes HTTP de pares de nombre y valor a la aplicación web del Management Center. Estas solicitudes se comunican a través de servicios web en el servidor del HCL Commerce para enviar y recuperar datos.

Cuando el servidor de HCL Commerce recibe datos de la aplicación del Management Center del navegador de usuario de empresa, el servidor procesa las acciones en los objetos de negocio.

Entre la aplicación del Management Center en el navegador cliente del usuario de empresa y el servidor de HCL Commerce está la aplicación web del Management Center. La aplicación web realiza la mediación de solicitudes HTTP del par de nombre y valor en solicitudes de servicio.

El modelo del Management Center

Cuando un usuario de empresa accede al Management Center y trabaja con un objeto de negocio, interactúa con una instancia del Management Center y una instancia del objeto de negocio. La instancia o el modelo del Management Center se crea cuando la infraestructura carga la aplicación y permanece hasta que el usuario de empresa cierre dicha aplicación. El modelo se encarga de invocar servicios que crean objetos nuevos, leen objetos existentes, guardan cambios en objetos y suprimen objetos.

Cuando la infraestructura del Management Center carga un objeto de negocio en el Management Center, se crea una instancia o un objeto de modelo del objeto de negocio. Si un objeto de negocio exclusivo se carga más de una vez, el modelo del Management Center se asegura de que sólo haya un objeto de modelo único de ese objeto de negocio. Este objeto de modelo es una representación del objeto de negocio. Un objeto de modelo de un objeto de negocio se crea cuando un usuario de empresa solicita que el Management Center cree un objeto de negocio o cargue un objeto de negocio desde el servidor. Las características del objeto se definen en la definición de objeto para el objeto. Cuando un usuario de empresa trabaja con un objeto en el Management Center, sólo trabaja con objetos de modelo.

Cuando un usuario de empresa trabaja en el Management Center, el modelo del Management Center conserva la lista de objetos que los usuarios de empresa tienen abierta para gestionar. Estos objetos aparecen en el nodo Trabajo activo en la vista del explorador. Un objeto pasa al estado abierto si el usuario abre explícitamente el objeto o bien si el usuario cambia un objeto. El usuario puede cerrar explícitamente los objetos.

Cuando un usuario de empresa selecciona un objeto en la vista de explorador o decide abrir un objeto, los widgets de interfaz de usuario se utilizan para mostrar información o propiedades sobre el objeto. Si el objeto que el usuario ha seleccionado incluye objetos hijo, un widget de interfaz de usuario puede visualizar los objetos hijo dentro de un widget de vista de lista. Se pueden enlazar uno o más widgets de interfaz de usuario a un objeto o una propiedad de objeto. Si un usuario actualiza el objeto o la propiedad de objeto en un widget, los cambios se reflejan en todos los demás widgets o vistas, para el objeto. Por ejemplo, si un usuario cambia un nombre de promoción en la vista de propiedades para la promoción, el nombre actualizado se muestra para la promoción en cualquier vista de lista, vista de propiedades o vista de calendario.

Cuando la infraestructura del Management Center carga la información de propiedad para un objeto de negocio, se crea una instancia o un modelo de la propiedad. Cuando los usuarios de empresa gestionan un objeto, las propiedades que el usuario está viendo y gestionando son propiedades de modelo para el objeto. Los objetos del modelo y las propiedades del modelo que un usuario gestiona sólo se quedan en el modelo de Management Center al que el usuario accede. Los objetos nuevos, las propiedades nuevas y los cambios en los objetos y propiedades solamente permanecen dentro del modelo hasta que los objetos y propiedades se guarden en el servidor y la base de datos. Los usuarios de empresa pueden crear y cambiar varios objetos de negocio antes de guardar su trabajo. Es posible que haya otros usuarios de empresa trabajando con los mismos objetos al mismo tiempo en distintos modelos del Management Center, lo que puede provocar conflictos cuando se guardan. Estos conflictos se pueden reducir garantizando que los componentes de servicio sean lo más granulares posible. Únicamente se envían de nuevo al servidor las propiedades que el usuario de empresa cambia. Es decir, cuando dos usuarios de empresa cambian diferentes aspectos del mismo objeto, ninguno de los cambios entra en conflicto. Los usuarios de empresa pueden renovar explícitamente el modelo para asegurarse de que los cambios realizados por otros usuarios de empresa sean visibles en su modelo de Management Center.

Cuando un usuario trabaja en el Management Center, el modelo mantiene objetos de modelo y propiedades únicamente para los objetos que tienen una vía de acceso de navegación activa que esté disponible para el usuario. Por ejemplo, los objetos abiertos, los objetos que se muestran en una lista activa y los objetos que se visualizan en la vista de explorador tienen una vía de acceso de navegación activa. Los objetos que no tienen una vía de acceso de navegación activa, como por ejemplo, los objetos de un conjunto eliminado de resultados de búsqueda, se eliminan del modelo.

Nota: Un usuario puede interactuar solamente con un único modelo de Management Center con las credenciales de inicio de sesión del usuario. Los usuarios no pueden abrir el mismo modelo de Management Center en diferentes pestañas de navegador. Si un usuario intenta abrir una segunda instancia del Management Center en otra pestaña, el usuario finaliza la sesión de la primera instancia.
HCL Commerce Version 9.1.4.0 or later

Nuevo modelo de interfaz de usuario de programación para Management Center

Management Center junto con la infraestructura existente tienen un modelo de interfaz de usuario de programación actualizado.

En el diagrama siguiente se muestran los componentes y las interacciones de alto nivel de la infraestructura del Management Center

Management Center arquitectura

El nuevo modelo de programación para el Centro de gestión utiliza una nueva clase del Centro de gestión (IFrameTool) para definir las herramientas. Esta nueva clase permite a los desarrolladores incluir una SPA (Aplicación de página única) en un iframe. Para las herramientas estándar, los activos de SPA se cargan desde el Docker de la aplicación web de herramientas. Una vez cargada la aplicación, el Centro de gestión se comunica con la SPA utilizando window.postMessage para proporcionar información de contexto, como las preferencias de usuario y un token JWT que la SPA puede utilizar para realizar llamadas REST al Docker del servidor de transacciones. Cuando el token caduque, el SPA utilizará window.postMessage de nuevo para solicitar un nuevo token del Centro de gestión.

Explicación de puntos de personalización para CMC

Siga los pasos de alto nivel que se indican a continuación y que explican los puntos de personalización para CMC.

Puede crear sus propias herramientas utilizando el nuevo modelo de programación para el Centro de gestión. Los pasos para crear una nueva herramienta se pueden dividir en dos partes:
  1. Cree los nuevos componentes de la herramienta en el SPA de herramientas
    • El SPA de herramientas se carga en el Centro de gestión en un IFrame. No importa dónde se carguen los activos de la aplicación, de ahí que los valores de creación y producción compartan la misma instancia.
    • Se puede solicitar al SPA que busque el servidor de transacciones mediante el Centro de gestión - utilizando window.postMessage.
    • Si carga la versión de creación del Centro de gestión, se le dice al SPA que utilice el servidor de transacciones de creación.
    • Si utiliza la versión en tiempo real del Centro de gestión, se solicita al SPA que utilice el servidor de transacciones en tiempo real.
  2. Añada la nueva herramienta al Centro de gestión

La nueva herramienta debe tener una sola ruta de la página de destino configurada con el SPA de herramientas. La nueva herramienta puede contener páginas adicionales a las que se puede acceder después de cargar la página de destino. La fuente para el SPA de herramientas está disponible para la personalización. https://help.hcltechsw.com/commerce/9.1.0/install/tasks/t91toolingsdk.html

La nueva herramienta se define al crear una nueva definición de instancia que amplía la clase IFrameTool. Esta nueva definición de instancia debe definirse en un archivo xml ubicado en un directorio ubicado en LOBToools/WebContent/WEB-INF/src/xml.

Por ejemplo, la herramienta de administración de cuentas se define mediante el nuevo modelo de programación. La definición de instancia de IFrameTool de administración de cuentas se define en 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 es el nombre de la definición. Debe ser exclusivo.
  • displayName es el nombre de la herramienta que se mostrará al usuario. Puede ser una serie codificada o una serie de paquete de recursos.
  • src es la URL relativa de la ruta a la página de destino en el SPA.
  • respectWorkspaceContext indica si la herramienta requiere espacios de trabajo.

    Para que la nueva herramienta esté disponible para los usuarios del Centro de gestión, se debe agregar un nuevo elemento de menú a ApplicationMenuItems.xml (LOBTools/WebContent/WEB-INF/src/xml/commerce/shell/ApplicationMenuItems.xml).

    El código siguiente define el elemento de menú de la herramienta Administración de cuentas:
    <ApplicationMenuItem actionName="openBusinessObjectEditor" 
    displayName="${shellResources.accountManagementDisplayName}" 
    id="accountManagement" package="cmc/shell" 
    toolDefinition="cmc/account/AccountManagement" usage="HCL_AccountTool">
    </ApplicationMenuItem>
    
Nota: El atributo toolDefinition se establece en el definitionName de la definición de instancia de IFrameTool.