Elegir un modelo de personalización

Puede personalizar HCL Commerce el utilizando el modelo de desarrollo tradicional o la infraestructura de personalizaciones externalizadas (XC). El método que utilice dependerá de lo complejo que sean sus requisitos y de lo que le resulte útil para identificar el código de personalización.

Antes de la versión 9, la funcionalidad HCL Commerce básica necesitaba ampliar las funciones de servidor directamente. El modelo de programación xC le proporciona más flexibilidad al aislar el código de personalización en un servidor xC. Este enfoque tiene numerosas ventajas:
  • Dado que las personalizaciones xC se ejecutan en su propio servidor, las actualizaciones y arreglos de los componentes principales del sistema HCL Commerce no los sobrescribirán. En otras palabras, xC es el habilitador para un entorno de personalización de interrupción cero con actualizaciones sin regresión. Si existe un punto de extensión xC para las personalizaciones que ya ha realizado utilizando el modelo antiguo, la migración a xC le ofrece la ventaja de aislarlos de los problemas de mantenimiento y actualización.
  • La personalización de un punto de extensión suele ser más simple que modificar directamente los subsistemas tradicionales.
  • xC es ideal para escenarios de integración. A menudo, puede utilizar un punto de extensión existente para realizar la integración.
  • HCL Commerce Version 9 da soporte al modelo de personalización tradicional y al modelo de personalización xC al mismo tiempo. Si tiene personalizaciones en flujos de lógica de negocios diferentes, algunos se pueden realizar de una manera y otros de otra, sin embargo, no se recomienda utilizar los dos modelos de personalización en una sola personalización de HCL Commerce. Intentar utilizar ambos modelos aumenta la complejidad de la arquitectura y la programación, reduce la finalidad de separación de xC. Por ejemplo, el punto de extensión order_item_add_pre da soporte a la personalización del flujo de pedidos para completar una acción antes de que se añada un artículo al carro. Pero puesto que el punto de extensión no puede acceder a la base de datos, no se recomienda que personalice el mandato OrderItemAdd para consultar una tabla de base de datos externa y pasar a la salida de usuario (UE) para su proceso. Para obtener más información sobre el desarrollo utilizando el modelo de personalización tradicional (modelo local), consulte Personalización HCL Commerce.
  • El servidor de personalización xC se ejecuta en Liberty y utiliza la API de REST, por lo que proporciona una vía de acceso para modernizar las personalizaciones.

En Resumen, xC ofrece una opción de personalización de interrupción cero muy robusta para un subconjunto útil de funciones HCL Commerce. Para mejoras más complejas o aquellas que requieren cambios en los servidores de Docker o en su comportamiento, puede utilizar el modelo de programación tradicional.

Para obtener más información sobre la infraestructura de MVC, consulte Ampliación de HCL Commerce con puntos de extensión xC.

Posicionamiento de los modelos de programación tradicionales y xC

El tiempo de ejecución de la versión 9 es diferente de las versiones anteriores en varios aspectos importantes. JPA ha sustituido entidades EJB en el servidor de transacciones; para obtener más información, consulte Migración de beans de entidad EJB IBM Websphere Commerce Version 8 a Java Persistence API. Además, la versión 9 ejecuta sus servidores dentro de contenedores Docker. Para personalizar un servidor, debe crear una nueva versión de la misma y ejecutarla como un contenedor de Docker personalizado. En este entorno contenedor, el servidor de personalización no tiene acceso directo a la base de datos del servidor de transacciones. Por lo tanto, ni el código de personalización se ejecutará en xC. El modelo de programación tradicional aún le permite utilizar tablas de base de datos personalizadas en el servidor de transacciones.

Importante:
  • La ejecución de extensiones en un contenedor de Docker separado introduce un coste de rendimiento. Por este motivo, xC solo es adecuado para modificaciones ligeras en este momento.
  • Solo los escenarios de integración se han validado con xC por IBM. Utilice xC para proyectos de integración, por ejemplo, integración de pagos o impuestos.
La arquitectura basada en Dockers impone otras limitaciones sobre qué personalizaciones se pueden ejecutar desde el servidor xC. Tendrá que utilizar el modelo de programación tradicional si desea hacer lo siguiente:
  • Desplegar trabajos personalizados cron o scripts de Shell
  • Desplegar de forma manual o desplegar a través de una estructura de paquete personalizada
  • Modificar la topología del servidor
  • Desplegar componentes de terceros fuera del paquete de despliegue
  • Desplegar mediadores de carga de datos
  • Tener acceso de línea de mandatos a cualquiera de los servidores
  • Desplegar agentes utilizados por los servicios de supervisión
  • Desplegar personalizaciones de los binarios de búsqueda de Apache Solr
  • Modificar programas de utilidad de nivel de sistema operativo
  • Crear archivos de registro personalizados
  • Personalizar el Centro de gestión, HCL Commerce Accelerator o la Consola de administración de HCL Commerce
  • Modificar o crear servicios de Commerce REST nuevos
Restricción: Las promociones y el marketing no tienen puntos de extensión xC, por lo su uso se limita a pedidos, devoluciones, promociones y marketing.