Configuración de módulos de servicio

Los datos de configuración para módulos de servicio BOD están organizados en las configuraciones base y personalizada. Los archivos de configuración deben cargarse para que el módulo de servicio pueda procesar peticiones de servicio. El cargador de clases de configuración descubre automáticamente los directorios de configuración, siguiendo determinados convenios de denominación.

La configuración base (o de rutina de carga) permite el funcionamiento de módulo de servicio básico. Contiene los datos de configuración proporcionados con los módulos de servicio de HCL Commerce. También puede crear una configuración personalizada para añadir funcionalidad nueva o personalizar las funciones existentes. Para cambiar o ampliar esta configuración, debe colocar esta configuración en el directorio workspace_dir\WC\xml\config\servicemodulename-ext\ asignando a los archivos de configuración los mismos nombres de los que desea cambiar o ampliar.
Nota: El hecho de que la configuración sobrescriba la configuración predeterminada o la amplíe depende de la función que utilice dicha configuración.

Carga del archivo de configuración

Al resolver la configuración, la configuración personalizada siempre tiene prioridad sobre la configuración básica. En función de la política de carga (ampliar frente a alterar), se analiza o se omite la configuración básica. La política de carga se especifica en la implementación de la clase de analizador. Puede comprobar si la política puede alterarse temporalmente llamando al método isOverridable().

En el caso de estructuras de datos de configuración más complejas, que no se pueden representar fácilmente como parejas de nombre-valor (por ejemplo, datos anidados con estructuras muy rígidas), puede proporcionar su archivo y analizador de configuración propios. Esto requiere más trabajo del desarrollador, pero es completamente flexible - cualquier tipo de archivo de configuración podrá leerse, analizarse y recuperarse en el código Java del módulo de servicio. Si está escribiendo su propio analizador de configuración, éste debe ampliarse a partir de la clase abstracta AbstractConfigurationImpl.

Política de ampliación
Cuando se utiliza la política de ampliación, la información de configuración para la configuración personalizada y de rutina de carga se carga y se devuelve al llamante como una lista de objetos de configuración. En la lista, la configuración personalizada precede a la configuración de rutina de carga. El interlocutor ha de atravesar la lista y escoger la configuración.
Política de alteración
Si se utiliza la política de alteración, el proceso de carga solo carga la configuración personalizada. La configuración de rutina de carga se ignora. Por lo tanto, los metadatos colocados en archivos de configuración personalizada alterarán los metadatos de la base.

Durante el desarrollo, es posible que desee modificar y volver a cargar la configuración, sin tener que reiniciar el servidor. Para habilitar la recarga volátil de todos los módulos de servicios, cree un archivo .reloadconfig en xml/config/com.ibm.commerce.foundation/. Esto hará que todos los módulos de servicio comprueben las indicaciones de fecha y hora en sus archivos de configuración, cada vez que se les llame. Los archivos de configuración que hayan cambiado desde que se cargaron por última vez se volverán a analizar. Asimismo, si se ha añadido o eliminado un archivo de configuración, se vuelven a cargar todos los archivos del mismo directorio. Para habilitar la recarga volátil para un módulo de servicio determinado, cree un archivo .reloadconfig vacío bajo el directorio de configuración de módulo de servicio. Por ejemplo, xml/config/com.myco.myservicemodule. La recarga volátil solo estará habilitada para ese de servicio.

Convenios de denominación

El cargador de configuración utiliza nombres de directorio para descubrir las configuraciones personalizadas y de rutina de carga de un módulo de servicio.

Configuración de rutina de carga
xml/config/servicemodulename/
Configuración personalizada
xml/config/servicemodulename-ext/
En los dos casos anteriores, servicemodulename representa el nombre del módulo de servicio o el módulo de servicio de HCL Commerce que se está configurando.
Los nombres de archivos de configuración siguen un convenio de denominación estricto; estos nombres los utiliza el cargador de configuración.
  • Todos los nombres de configuración predeterminados de HCL Commerce llevan como prefijo wc-. Por ejemplo, wc-query.tpl.
  • Los nombres de archivos de configuración de administración empiezan por "wc-admin".
  • Las palabras descriptivas se unen mediante guiones. Por ejemplo, wc-business-context.
Cada módulo de servicio contiene los archivos siguientes:
wc-component.xml
Contiene la configuración de desarrollo de un componente. Puede producirse en los directorios de configuración básica y personalizada.
wc-admin-component.xml
Contiene la configuración de administración de un componente. Puede producirse en los directorios de configuración básica y personalizada.
wc-application.xml
Contiene la información de configuración de desarrollo aplicable a todos los componentes de una aplicación. Este archivo solo existirá bajo el directorio de componentes de base.
wc-admin-application.xml
Contiene la información de configuración de administración aplicable a todos los componentes de una aplicación. Este archivo solo existirá bajo el directorio de componentes de base.
SDO.properties
Se utiliza para cargar las clases SDO lógicas inicializadas. Especifica una clase que declara las clases SDO lógicas que necesitan estar inicializadas. Por ejemplo, el archivo SDO. Properties para el componente Member contiene: com.ibm.commerce.member.facade.datatypes.impl.MemberPackageImpl.
wc-component-client.xml
Especifica los enlaces de URL a los servicios Web. Por ejemplo, en la siguiente muestra de XML se puede ver component-client.xml para el módulo de servicio de Miembro:
<_config:DevelopmentClientConfiguration xmlns:_config="http://www.ibm.com/xmlns/prod/commerce/foundation/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/commerce/foundation/config ../xsd/wc-component-client.xsd">
	<_config:invocationservice>
		<_config:invocationbinding bindingImpl="com.ibm.commerce.foundation.internal.client.services.invocation.impl.J2SEWebServiceInvocationBindingImpl">
			<_config:property name="url" value="http://hostname:5080/webapp/wcs/component/member/services/MemberServices"/>
		</_config:invocationbinding>	
	</_config:invocationservice>	
</_config:DevelopmentClientConfiguration>
wc-business-object-mediator.xml
Contiene información de configuración para Mediador de objetos de negocio.
wc-object-relational-metadata.xml
Contiene Metadatos relacionales de objeto.
Nota: Los archivos de configuración se guían por una XSD (Definición de esquema XML). La XSD proporciona documentación que describe la finalidad de cada archivo de configuración. La XSD está ubicada en el directorio xml/config/xsd. Mediante la observación del archivo XML de un editor, puede utilizar la XSD para determinar los respectivos elementos soportados, así como la anotación sobre la configuración.

Archivos de configuración

Los siguientes archivos de configuración se suelen utilizar para servicios basados en BOD:
  • SDO.properties
  • wc-admin-component
  • wc-business-context
  • wc-business-object-mediator.xml
  • wc-component.xml
  • wc-component-client.xml
  • wc-object-relational-metadata.xml
  • wc-query-noun-get.tpl
  • wc-query-noun-update.tpl
Los siguientes archivos de configuración se suelen utilizar para los servicios basados en BOD:
  • SDO.properties
  • wc-component.xml
  • wc-component-client.xml