Tipos de mandatos

Los mandatos de HCL Commerce son beans Java que contienen la lógica de programación asociada con el manejo de una petición determinada. Los mandatos realizan un proceso comercial específico, por ejemplo añadir un producto al carro de la compra, procesar un pedido, actualizar la libreta de direcciones de un cliente o visualizar una página de producto específica.

En función de su naturaleza, un mandato puede:

  • Llamar a beans enterprise para realizar operaciones de base de datos.
  • Llamar a uno o más mandatos de tareas que están asignados para procesar tareas con el fin de que procesen y graben información en la base de datos.
  • Devolver una tarea de vista al terminarse un mandato de controlador.

El modelo de programación de HCL Commerce define los tipos de mandatos siguientes:

Mandatos de controlador
Encapsulan la lógica relacionada con un proceso de negocio determinado. Los mandatos de controlador incluyen, por ejemplo, el mandato OrderProcessCmd para el proceso de pedidos y el mandato LogonCmd que permite a los usuarios iniciar la sesión. En general, un mandato de controlador contiene las sentencias de control (por ejemplo, if, then, else) e invoca mandatos de tarea para realizar tareas individuales en el proceso de negocio. Al completarse, un mandato de controlador devuelve un nombre de vista. Basándose en el nombre de vista, el identificador de tienda y el tipo de dispositivo, el controlador de soluciones determina la clase de implementación apropiada para la vista y lo invoca.
Mandatos de tarea
Implementan un unidad lógica de aplicación específica. Generalmente, un mandato de controlador junto con un conjunto de mandatos de tarea implementan la lógica de aplicación para una petición de URL. Los mandatos de tarea se ejecutan siempre en el mismo contenedor que el mandato de controlador.
Mandatos de bean de datos
Los invocan el gestor de beans de datos cuando una página JSP necesita crear una instancia de un bean de datos. La función principal de un mandato de bean de datos es llenar los campos de un bean de datos con datos de un objeto persistente.
Mandatos de vista
Los mandatos de vista que se utilizaban para componer una vista como respuesta a una petición de cliente, han dejado de utilizarse en este release de HCL Commerce. Dado que HCL Commerce es una aplicación Struts, el mandato de vista se ha sustituido por reenvíos globales. Por motivos de compatibilidad con los releases anteriores, continuará funcionando.

Cuando crea nueva lógica de negocio para la aplicación de comercio electrónico, está previsto que será necesario crear nuevos mandatos de controlador y de tarea.

Los nuevos mandatos deben implementar su interfaz correspondiente (que a su vez deben ampliar una interfaz existente). Para simplificar la escritura de mandatos, HCL Commerce incluye una clase de implementación abstracta para cada tipo de mandato. Los nuevos mandatos deben ampliar estas clases.

En la siguiente tabla se muestra qué clase de implementación debe ampliar el nuevo mandato y qué interfaz debe implementarse:

Tipo de mandato Nombre de mandato de ejemplo Amplía Implementa interfaz de ejemplo
Mandato de controlador MyControllerCmdImpl com.ibm.commerce.command.ControllerCommandImpl MyControllerCmd
Mandato de tarea MyTaskCmdImpl com.ibm.commerce.command.TaskCommandImpl MyTaskCmd
Mandato de bean de datos MyDataBeanCmdImpl com.ibm.commerce.command.DataBeanCommandImpl MyDataBean

Mandatos y vistas predeterminados

HCL Commerce proporciona mandatos y vistas predeterminados que puede utilizar en la tienda. Estos mandatos y vistas predeterminados figuran en el archivo de configuración de Struts para la aplicación web.

Asimismo, muchas de las vistas que se utilizan en la tienda de inicio se han creado específicamente para la tienda. Estas vistas se listan en el archivo struts-config-update.tpl.xml empaquetado como parte del archivador de tienda. Si no se proporciona un mandato o vista necesario, puede añadir el suyo propio al archivo de configuración de Struts del archivador de tienda.