Configuration de module de service

Les données de configuration des modules de service BOD sont réparties en configuration de base et configuration personnalisée. Les fichiers de configuration sont chargés avant que le module de service puisse traiter des requêtes de service. Le chargeur de classe de configuration détecte automatiquement les répertoires de configuration en suivant certaines conventions de dénomination.

La configuration de base (d'amorçage) active la fonctionnalité de base de module de service. Elle contient les données de configuration fournies avec les modules de service de HCL Commerce. Vous pouvez également ajouter une configuration personnalisée afin d'ajouter de nouvelles fonctionnalités ou de personnaliser des fonctions existantes. Pour modifier ou étendre cette configuration, vous devez placer votre configuration dans le répertoire workspace_dir\WC\xml\config\servicemodulename-ext\ en vous assurant que les fichiers de configuration portent le même nom que ceux que vous souhaitez modifier ou étendre.
Remarque : La fonction qui utilise cette configuration détermine si la nouvelle configuration écrasera l'ancienne ou viendra l'étendre.

Chargement de fichier de configuration

Lors de la résolution de la configuration, la configuration personnalisée prévaut toujours sur celle de base. Selon la stratégie de chargement (extension ou remplacement), la configuration de base est soit analysée, soit ignorée. La stratégie de chargement est spécifiée dans l'implémentation de la classe d'analyseur. Vous pouvez vérifier si cette stratégie peut être remplacée par une autre en appelant la méthode isOverridable().

Pour les structures de données de configurations plus complexes ne pouvant pas être représentées facilement par des paires nom-valeur (par exemple, structures lourdes, données imbriquées), vous pouvez fournir votre propre fichier et analyseur de configuration. Ceci implique un travail supplémentaire pour le développeur mais procure une flexibilité totale - n'importe quel type de fichier de configuration peut être lu, analysé et extrait dans le code Java de votre module de service. Si vous rédigez votre propre analyseur de configuration, vous devez étendre la classe abstraite AbstractConfigurationImpl.

Stratégie d'extension
Lorsque la stratégie d'extension est utilisée, les informations de configuration d'amorçage et personnalisée sont chargées et renvoyées à l'appelant sous forme de liste d'objets de configuration. La configuration personnalisée précède dans la liste la configuration d'amorçage. L'appelant doit traverser la liste et sélectionner la configuration.
Stratégie de substitution
Lorsque la stratégie de substitution est utilisée, le processus de chargement ne charge que la configuration personnalisée. La configuration d'amorçage est ignorée. Par conséquent, les métadonnées éventuelles des fichiers de configuration personnalisés se substitueront à celles de la configuration de base.

Au cours du développement, vous pouvez souhaiter modifier et recharger la configuration sans avoir besoin de redémarrer le serveur. Pour permettre le rechargement à la volée de tous les modules de service, créez un fichier .reloadconfig vide sous le répertoire xml/config/com.ibm.commerce.foundation/. Ceci entraînera la vérification par chaque module de service de l'horodatage de ses fichiers de configuration, chaque fois qu'il sera appelé. Les fichiers de configuration ayant été modifiés depuis leur dernier chargement seront réanalysés. De même, si un fichier de configuration a été ajouté ou supprimé, tous les fichiers de ce même répertoire seront rechargés. Pour permettre le rechargement à la volée d'un module de service spécifique, créez un fichier .reloadconfig vide sous le répertoire de configuration de ce module de service. Par exemple, xml/config/com.myco.myservicemodule. Le rechargement à la volée ne sera activé que pour ce module de service.

Conventions de dénomination

Le chargeur de configuration utilise les noms de répertoires pour détecter les configurations d'amorçage et personnalisée d'un module de service.

Configuration d'amorçage
xml/config/servicemodulename/
Configuration personnalisée
xml/config/servicemodulename-ext/
Dans les deux cas ci-dessus, servicemodulename représente le nom de votre module de service ou du module de service HCL Commerce que vous configurez.
Les fichiers de configuration suivent une convention de dénomination stricte – ces noms sont utilisés par le chargeur de configuration.
  • Tous les noms de fichier de configuration par défaut HCL Commerce sont préfixés par wc-. Par exemple, wc-query.tpl.
  • Les noms de fichier de configuration d'administration débutent par "wc-admin".
  • Les termes descriptifs sont rattachés par des traits d'union. Par exemple, wc-business-context.
Chaque module de service contient les fichiers suivants :
wc-component.xml
Contient la configuration de développement d'un composant. Peut exister à la fois dans le répertoire de configuration de base et personnalisée.
wc-admin-component.xml
Contient la configuration d'administration d'un composant. Peut exister à la fois dans le répertoire de configuration de base et personnalisée.
wc-application.xml
Contient les informations de configuration de développement applicables à tous les composants d'une application. Ce fichier n'existe que sous le répertoire constitutif du composant.
wc-admin-application.xml
Contient les informations de configuration d'administration applicables à tous les composants d'une application. Ce fichier n'existe que sous le répertoire constitutif du composant.
SDO.properties
Utilisé pour charger les classes SDO logiques initialisées. Spécifie une classe qui déclare les classes SDO logiques devant être initialisées. Par exemple, le fichier SDO.properties pour le composant Membre contient : com.ibm.commerce.member.facade.datatypes.impl.MemberPackageImpl.
wc-component-client.xml
Spécifie les liaisons URL aux services Web. Le contenu du fichier component-client.xml du module de service Membre figure à titre d'exemple ci-après :
<_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
Contient les informations de configuration pour le médiateur d'objet métier.
wc-object-relational-metadata.xml
Contient des Métadonnées objet-relationnel.
Remarque : Les fichiers de configuration sont guidés par une définition XSD (XML Schema Definition). La définition XSD fournit une documentation décrivant l'objectif de chaque fichier de configuration. Le fichier XSD se trouve dans le répertoire xml/config/xsd. En examinant le fichier XML dans un éditeur, vous pouvez utiliser la définition XSD pour déterminer les éléments respectifs pris en charge, ainsi que les annotations sur la configuration.

Fichiers de configuration

Les fichiers de configuration suivants sont habituellement utilisés pour les services de type 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
Les fichiers de configuration suivants sont habituellement utilisés pour les services de type SOI :
  • SDO.properties
  • wc-component.xml
  • wc-component-client.xml