Archivo de configuración de contexto de negocio

Los contextos de negocio predeterminados se definen en el archivo xml/config/businessContext.xml. La ubicación del archivo se define en el atributo BusinessContextService/BusinessContextConfigFile en el archivo de configuración de HCL Commerce (xml/wc-server.xml Para este atributo se permite especificar varias ubicaciones de archivo separadas por comas para dar soporte al desarrollo basado en componentes. Es decir, al crear un nuevo contexto de negocio, en lugar de modificar el archivo de configuración predeterminado, puede definirlo en un archivo aparte y añadirlo al final del atributo BusinessContextConfigFile en el elemento BusinessContextService. Esta implementación permite actualizar más adelante el archivo businessContext.xml sin afectar el contexto de negocio registrado.

El archivo de configuración está compuesto por dos secciones principales.

  • BusinessContexts, que define los distintos contextos de negocio disponibles en el sitio
  • InitialBusinessContextSets define el conjunto de contextos de negocio que es una agrupación lógica de contextos de negocio para un tipo de petición determinado. Si no se ha definido ningún contexto de negocio para la petición, se utiliza el conjunto de contextos de negocio predeterminados.
BusinessContexts
El elemento raíz en el archivo de configuración, que se define en el archivo xml/config/businessContext.xml. Este elemento contiene los siguientes atributos necesarios:
xmlns
Defina el espacio de nombres XML para los elementos y atributos del documento.
xmlns:xsi
Defina el espacio de nombres XML con el prefijo xsi, http://www.w3.org/2001/XMLSchema-instance.
xsi:schemaLocation
Defina la ubicación del archivo de esquema XML para el documento xsd/businessContext.xsd.
BusinessContext
Define las propiedades de inicialización de un contexto de negocio.
ctxId
Un atributo necesario que identifica el contexto de negocio en el archivo de configuración. Este identificador es necesario cuando se definen contextos en un conjunto de contextos de negocio. Se pueden especificar los siguientes atributos:
BaseContext
Este contexto debe existir siempre para una actividad y la combinación de sus valores es exclusiva en todas las actividades del sistema. En HCL Commerce todas las operaciones las invoca un miembro y se llevan a cabo en una tienda. Un usuario puede actuar en nombre de otro usuario del sistema, de este modo un usuario tiene esencialmente dos identidades de miembro, callerId y runAsId. El callerId se utiliza para indicar la identidad verdadera del usuario y el runAsId lo utiliza la lógica de negocio para la ejecución. Por lo tanto, el contexto base está formado por callerId, runAsId y storeId. Cada uno de los componentes de HCL Commerce utiliza el contexto base porque necesita saber bajo qué tienda se lleva a cabo una operación.

HCL Commerce predefine los contextos siguientes:

  • EntitlementContext
  • GlobalizationContext
  • ContentContext
  • TaskContext
  • AuditContext
  • PreviewContext
  • ExperimentContext
factoryClassname
Un atributo necesario que ha especificado el nombre de la clase que crea el objeto de contexto de negocio. Esta clase de fábrica debe implementar la interfaz BusinessContextFactory. Se proporciona una clase predeterminada SimpleBusinessContextFactory de fábrica que crea un contexto de negocio basado en un nombre de clase de implementación determinado. También se proporciona una clase abstracta, denominada AbstractBusinessContextFactory, para ayudar a crear cualquier clase de fábrica personalizada. Para crear una clase de fábrica, se deben implementar dos métodos createContextSPI y destroyContextSPI, para crear y destruir un contexto de negocio determinado.
parameter
Los parámetros se pasan a la clase de fábrica y se utilizan para crear el contexto de negocio. Por omisión, la clase SimpleBusinessContextFactory utiliza el nombre de clase de implementación del contexto de negocio como parámetro. Otro uso de este atributo de parámetro es cuando los valores iniciales se deben establecer en el momento de crear el contexto de negocio. Se puede implementar entonces una fábrica de contexto de negocio personalizada para que tome estos valores iniciales como elementos de parámetros y cumplimente el contexto de negocio creado como corresponda.
InitialBusinessContextSets
Define un conjunto de contextos de negocio. Distintos contextos de negocio pueden agruparse en un conjunto de contextos de negocio. En el archivo de configuración pueden definirse varios conjuntos de contextos de negocio. Cada conjunto de contextos de negocio contiene varios contextos de negocio y se crean en el orden especificado por el atributo createOrder. El valor del atributocreatdOrder es un entero. Se creará primero el contexto de negocio con el valor más pequeño, lo que significa que el valor "0" será el primero en crearse.