WebSphere Product Center : Intégration à WebSphere Commerce

Version 5.2

 

 

 

 

 

 

 


Remarque : avant d'utiliser ces informations et le produit concerné, lisez les informations dans la rubrique "Remarques" à la fin du présent document.

 

23 mars 2005

Cette édition du document s'applique à WebSphere Product Center, version 5.2 (5724-I68), et à toutes les versions et modifications ultérieures, jusqu'à mention contraire dans les nouvelles éditions.

Copyright International Business Machines Corporations 2005. All rights reserved.
US Government Users Restricted Rights-Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

Table des matières

Chapitre 1 - Généralités

Chapitre 2 - Architecture

Conception de l'application
Scripts personnalisés de Product Center

Chapitre 3 - Intégration à WebSphere Commerce

Configuration de Commerce
Exportation de données WC vers Commerce

Configuration pour aperçu

Configuration de Product Center

Chapitre 4 - Processus métier

Exportation complète
Exportation delta - Suppression

Exportation delta - Mise à jour

Annexe A - Référence de modèle de données

Objets Commerce
Objets Product Center liés à Commerce

Remarques

Chapitre 1 - Généralités

L'intégration de Commerce offre aux clients une base pour générer un environnement de création complet et très productif, et pour obtenir des informations produit pour leurs sites Web e-commerce business-to-business (B2B) et business-to-consumer (B2C). WebSphere Product Center (ci-après appelé Product Center) peut augmenter dans une large mesure la valeur d'implémentations e-commerce en améliorant grandement la préparation d'informations produit complètes et précises en vue de leur publication.  

Associé à une plateforme e-commerce, il fournit des outils pour coordonner les contributions de plusieurs utilisateurs à travers les fonctions de divers processus Commerce. Il apporte également des fonctions simplifiant le regroupement, l'amélioration, la gestion et l'approbation de grandes quantités d'informations produit complexes.  

Les processus métier pris en charge sont : introductions de nouveaux produits, créations de ventes croisées, de ventes amont et de promotions, cycle de vie du produit, synchronisation d'informations sur les articles, téléchargements de masse d'articles et de leurs attributs vers un site Web, syndication d'informations produit vers plusieurs points de contact client et vers des sites Web e-commerce. 

L'intégration de Commerce Server comprend :

Conditions requises

Limitations

Les données produit définies dans Product Center et chargées dans Commerce incluent le stock par défaut. L'utilisateur devra se servir de Commerce Suite Accelerator pour le modifier.

Chapitre 2 - Architecture

L'échange de données entre Product Center et Commerce s'appuie sur des documents XML. L'équipe de Commerce doit fournir la définition de type de document pour le dernier outil de téléchargement de masse. Des scripts Product Center sont employés pour créer des documents XML (pouvant être validés par rapport à la définition de type de document de Commerce) et les envoyer via FTP à un emplacement prédéterminé où l'application Commerce les récupérera pour les traiter. Si des erreurs se produisent lors du traitement d'un document XML, l'opération doit se faire manuellement.  

La première source de catalogue dans Commerce est considérée comme une exportation complète ; seuls les objets modifiés ou supprimés dans Product Center sont alors exportés vers Commerce comme éléments de la source delta.

Product Center génère le document XML respectant la définition de type de document définie par Commerce (WCS.dtd). Le processus delta suppose toujours la suppression du document XML en premier lieu, puis une mise à jour afin d'éliminer toute incohérence dans les états d'objets.

 

L'intégration de WebSphere Product Center et de WebSphere Commerce sert les objectifs suivants :

Remarque : voir l'annexe A pour en savoir plus sur la référence de modèle de données.

Conception de l'application

Les objets suivants sont inclus dans le package d'intégration de Product Center :

WCCatentryCtg – catalogue maître dans Product Center

WCSKUCtg – références appartenant à un produit.

WCSalesHr – le catalogue des ventes.

ActivityLog – Le catalogue du journal d'activité.

Scripts personnalisés de Product Center

Plusieurs scripts de Product Center aident à représenter des objets Commerce dans Product Center. Le tableau suivant en offre la description :

Nom du script Type de script Description/Fonctionnalité
Script de post-traitement WCCatentry Script de catalogue – Post-traitement

Réalise des validations du modèle de données de base, par exemple par rapport à un numéro de référence en double ou à un attribut de définition.

Script de post-enregistrement CatentryCtg WCSKUCtgPostSave

Vérifie si l'article enregistré est un produit, puis crée celui-ci en tant que catégorie dans le catalogue de références et associe l'attribut de définition comme spécification secondaire.

WCSKUCtgPostSave WCSKUCtgPostSave

Crée une entrée dans le catalogue du journal d'activité.

Script de prévisualisation d'entrée WCCatentryCtg Prévisualisation d'entrée

Génère le document XML pour l'article dont une prévisualisation a été demandée et télécharge les données XML comme postage HTTP avant d'appeler la commande de prévisualisation de Commerce.

WCSkuCtgEntryPreview Prévisualisation d'entrée

Identique au précédent, prévisualisation d'une référence.

DataExportToCommerceScript Script d'états

Etat que communique l'utilisateur pour exécuter des sources de catalogue complètes/delta dans Commerce. Associé à des scripts de déclencheur, ce script génère le document XML en calculant les articles du catalogue du journal d'activité en cas de delta, envoie le document via FTP à un répertoire prédéfini (décrit dans la table de consultation) et appelle la commande Commerce.

WC-Export.Wc.XmlFormat Script de déclencheur

Semblable à ASP/JSP, ce script est un élément important dans la génération du document XML. Tous les noeuds XML de Commerce sont décrits dans ce script en tant que fonctions appelées depuis les scripts de déclencheur.

WC.Validation.Utility.Lib Script de déclencheur

Script de déclencheur de validation servant à réaliser des validations de base pour des objets non null, le filtrage de caractères spéciaux, les vérifications d'exclusivité, etc.

WCExportUtil.wpcs Script de déclencheur

Principal script appelé en cas d'exportation complète/delta et lors de la prévisualisation. Il gère l'ensemble de la logique métier et génère le document XML.

activityLogger.wpcs Script de déclencheur

Ce script gère toutes les entrées liées au catalogue du journal d'activité.  

WC.utility.Lib Script de déclencheur

Il possède des fonctions de programme utilitaire telles que le changement de valeurs à occurrences multiples pour un article, la création de spécifications secondaires, la suppression de la relation de référence pour des articles du catalogue, etc.

CopyItemsandCategory Script de déclencheur 

Ce script sert à copier les articles ou les catégories du catalogue maître dans les catalogues des ventes.

Journal d'événement de la bibliothèque Script de déclencheur

Un utilitaire de journalisation utilisé par les développeurs pour obtenir un journal des événements. N'autorise actuellement pas les unités d'exécution.

 

Chapitre 3 - Intégration à WebSphere Commerce

Ce chapitre décrit la configuration de Product Center et de WebSphere Commerce. 


Configuration de Commerce

Conditions prérequises

Configuration de l'intégration de Commerce

Configuration des commandes d'intégration

Procédez comme suit pour configurer les commandes d'intégration dans WebSphere Commerce :

1) Chargez dans la base de données le fichier SQLLoad.xml copié dans le répertoire C:\test en exécutant idresolver, puis la commande massloader dans la même fenêtre, comme illustré ci-dessous :

idresgen -dbname <nombd> -dbuser <utilisateurbd> -dbpwd <motdepasse> -infile C:\test\ SQLLoad.xml –outfile C:\test\ SQLLoadout.xml –method mixed

massload -dbname <nombd> -dbuser <utilisateurbd> -dbpwd <motdepasse> -infile C:\test\ SQLLoadout.xml –method sqlimport

Remarque : dans le fichier SQLLoad.dtd, vérifiez que le chemin d'accès à wcs.dtd est correctement indiqué.

Par exemple, si wcs.dtd figure dans le répertoire D:\WebSphere\CommerceServer56\schema\xml, le chemin doit être indiqué comme suit :

<!ENTITY % wcs.dtd SYSTEM "D:\WebSphere\CommerceServer56\schema\xml\wcs.dtd">

2) Chargez le fichier wpcwcUserGroup.xml copié dans le répertoire <rép_installation_WC>\xml\policies\xml. Pour ce faire, ouvrez une fenêtre d'invite de commande, allez au répertoire <rép_installation_WC>\bin et exécutez la commande acpload comme suit :

acugload <nom base de données> <utilisateur base de données> <mot de passe> wpcwcUserGroup.xml <nom schéma>

nom base de données est le nom de la base de données
utilisateur base de données est le nom de l'utilisateur se connectant à la base de données
mot de passe est le mot de passe de l'utilisateur se connectant à la base de données
nom schéma est le nom du schéma de base de données cible

3) Chargez le fichier wpcwcpolicy.xml copié dans le répertoire <rép_installation_WC>\xml\policies\xml. Pour ce faire, ouvrez une fenêtre d'invite de commande, allez au répertoire <rép_installation_WC>\bin et exécutez la commande acpload comme suit :

acpload <nombd> <utilisateurbd> <motdepasse> wpcwcpolicy.xml <nomschéma>

nombd est le nom de la base de données
utilisateurbd est le nom de l'utilisateur se connectant à la base de données
motdepasse est le mot de passe de l'utilisateur se connectant à la base de données
nomschéma est le nom du schéma de base de données cible

4) Ouvrez le fichier MANIFEST.MF figurant dans le répertoire <rép_installation_WAS>\installedApps\<nom_cellule>\WC_<nom_instance>.ear\Stores.war\META-INF et ajoutez le fichier WPCWC.jar à la fin du chemin d'accès aux classes.  

5) Ouvrez le fichier WPCWCProperties.properties dans <rép_installation_WAS>\installedApps\<nom_cellule>\WC_<nom_instance>.ear\Stores.war\WEB-INF\classes, puis modifiez les valeurs suivantes de façon appropriée :

nombd est le nom de la base de données
utilisateurbd est le nom de l'utilisateur se connectant à la base de données
motdepasse est le mot de passe de l'utilisateur se connectant à la base de données
répfichierentrée est le répertoire auquel Product Center doit envoyer les fichiers d'entrée via FTP

Par exemple : C:/WPC-WC/testing

fichierchargementmasse est le fichier de sortie généré par un processus IdResolver et s'intégrant au processus massloader en tant qu'entrée

Par exemple : C:/WPC-WC/testing/idresout.xml

nomschéma est le nom du schéma de base de données cible

customizer est le fichier Customizer fourni pour d'autres bases de données comme Oracle.
Par exemple : OracleConnectionCustomizer.properties

nomfichierprop est le chemin du fichier de propriétés IdResolveKeys.properties

Par exemple : C:/WebSphere/CommerceServer56/properties/IdResolveKeys.properties

Remarque :

1. Ajoutez l'entrée suivante à la fin du fichier IdResolveKeys.properties figurant dans le répertoire <rép_installation_WC>\properties.

ATTRIBUTE=@LANGUAGE_ID@NAME@FIELD1:LANGUAGE_ID NAME FIELD1

2. Ne modifiez pas les autres propriétés de mixedmethod, sqlmethod, deletemethod et optimize.

3. Vérifiez que wcs.dtd figure dans le répertoire indiqué par répfichierentrée.


Exportation de données WC vers Commerce

Cette section décrit comment extraire des informations de WebSphere Commerce vers Commerce.

Création d'un nouvel utilisateur

Dans Commerce, créez via la console d'administration un nouvel utilisateur (appartenant à l'organisation racine) avec des privilèges d'administration. Attribuez un rôle WPCAdministrator à cet utilisateur.

Extraction de métadonnées

Procédez comme suit pour extraire des informations de métadonnées de WebSphere Commerce :

1) Extrayez le fichier zip dans le répertoire local.

2) Copiez le fichier de filtres Export_MetaData_Filter.xml dans un répertoire temporaire. Par exemple, C:\test.

3) Ouvrez le fichier Export_MetaData_Filter.xml pour effectuer les changements suivants et enregistrez-le :

4) Ouvrez une fenêtre d'invite de commande et allez au répertoire <rép_installation_WC>\bin

5) Exécutez l'outil massextract depuis <WC_installdir>\bin, comme suit :

massextract -dbname <nombd> -dbuser <nomutilisateur> -dbpwd <motdepasse> -filter
C:\test\Export_MetaData_Filter.xml -outfile <fichiersortie> -schemaname <nomschéma>

nombd est le nom de la base de données
nomutilisateur est le nom de l'utilisateur se connectant à la base de données
motdepasse est le mot de passe de l'utilisateur se connectant à la base de données
fichiersortie est le nom du fichier de sortie xml dans lequel les données extraites seront stockées
nomschéma est le nom du schéma de base de données cible

Les informations sur les métadonnées seront générées dans un fichier, comme défini par la valeur indiquée pour <fichiersortie>.

Modification du fichier de sortie généré

Modifiez le <fichier de sortie> généré à la section précédente. Allez au dernier élément suivant en fin de fichier et remplacez logonpassword par les informations sur le mot de passe correct créé dans la section "Création d'un nouvel utilisateur".

<userId
logonid = “<ID de connexion de l'utilisateur>”
logonpassword =”<mot de passe de connexion de l'utilisateur>” />

Le fichier de sortie modifié contient les informations sur les métadonnées fournies à Product Center.

Configuration pour copier des fichiers d'image de Product Center dans Commerce

1. Ouvrez le fichier WPCWCProperties.properties dans <rép_installation_WAS>\installedApps\<nom_cellule>\WC_<nom_instance>.ear\Stores.war\WEB-INF\classes et allez au nom de propriété ConsumerDirectImgDir.

2. Ce nom doit être modifié en fonction des magasins publiés. Dans ce cas, ConsumerDirect correspond à l'identificateur du magasin publié, d'où le nom ConsumerDirectImgDir.

3. Si l'identificateur du magasin publié est ToolTech, le nom de cette propriété est ToolTechImgDir au lieu de ConsumerDirectImgDir.

4. Un chemin où les images du magasin ont été placées est attribué à la valeur pour le nom de cette propriété ConsumerDirectImgDir. Ce chemin est relatif à StoreDirectory. Par exemple, si le chemin du magasin sur la machine Commerce est :

<rép_installation_WAS>/installedApps/<nom_cellule>/WC_<nom_instance>.ear/Stores.war/ConsumerDirect

et que les images doivent être placées dans le répertoire d'images qu'il renferme, la propriété doit être indiquée comme suit :

ConsumerDirectImgDir = images


Configuration pour prévisualisation

1. Du fichier WPC_WC_Version_X.zip, extrayez le fichier PreviewUtils.zip dans un dossier temporaire.

2. Extrayez le contenu de PreviewUtils.zip dans WAS_HOME\installedApps\<nom_noeud>\<cellname.ear>\Stores.war

Il existe deux approches de prévisualisation :

Approche A : utilisation d'exemples de JSP pour le magasin ConsumerDirect

1. Publiez le magasin ConsumerDirect à l'aide de l'interface de la console d'administration dans Commerce.

2. Extrayez les JSP du fichier samples.zip WAS_HOME\installedApps\<nom_noeud>\<cellname.ear>\Stores.war\ConsumerDirect. 

Par exemple, C:\WebSphere\AppServer\installedApps\vdev\WC_demo.ear\Stores.war\ConsumerDirect

3. Redémarrez Commerce Server.

Approche B (requiert un développement JSP) : modification des JSP de magasin pour un autre magasin

Hypothèses : les beans de données dans le JSP sont remplis avec leur ID de clé.

Logique pour que la prévisualisation fonctionne :

a) Les beans de données correspondant aux données reçues de Product Center sont mis en cache sur Commerce Server dans une structure de données. Cette structure de données est intégrée à une mappe de hachage. Elle peut être récupérée de cette mappe à l'aide de la valeur PreviewBeanId transmise dans la session. Les beans de données peuvent ensuite être récupérés de cette structure à l'aide des valeurs de clés primaires transmises dans cette demande. Le JSP utilise ces beans de données (renfermant des informations fusionnées) au lieu de construire ses propres beans de données.  

b) Le JSP peut servir à employer ces beans de données via leur processus de chargement dans la portée de la page. Ce JSP doit être inclus de façon statique dans tous les JSP requérant la fonction de prévisualisation. Le nom de la variable/clé pour charger la variable dans la portée de page doit idéalement être identique à celui de la variable que le bean de données utilisera comme dans le JSP. L'idée est de simplifier le développement lors de l'utilisation de JSTL.

c) Certaines fonctions ne devant pas être activées pendant la prévisualisation (telles que la commande d'un article par exemple) doivent être supprimées/remplacées par un message approprié.  

Description de l'approche avec des fragments de code :

Récupération de beans de données de Commerce Server

Voir PreviewDatabeanEnvironmentSetup.jsp dans le répertoire PreviewHelper pour l'implémentation.

Récupération de la structure de données

1) Obtenez l'ID de bean de prévisualisation dans la mappe de hachage.

HttpSession session1 = requst.getSession();
String prvw_Bean_Id = (String)
session1.getAttribute(MappingConstants.PRVW_DATA_BEAN_ID);

2) Obtenez la structure de données à l'aide de son ID :

if (prvw_Bean_Id != null) {
CommDataHashBucket wpcComMapDataBucket = CommDataHashBucket.getCommDataHashBucket();
WPCCommerceMapDataStructure wpcComDataStructure =
wpcComMapDataBucket.getComDataStructure(prvw_Bean_Id);
HashMap catlgObjMap =
wpcComDataStructure.getCatalogObjectsMap();

Récupération des beans de données

1) Cataloguez les beans de données :

String catlgId = request.getParameter("catalogId");
if (catlgId != null) {
CatalogPreviewDatabean cPrvwDb = null;
HashMap catlgDBMap = (HashMap)
catlgObjMap.get(MappingConstants.CATALOG_BEAN);
cPrvwDb = (CatalogPreviewDatabean) catlgDBMap.get(new Integer(catlgId));

2) Organisez-les en catégories :

String catgryId = request.getParameter("categoryId");
if (catgryId != null) {
CategoryPreviewDataBean catgryPrvwDB = null;
HashMap catlgDBMap = (HashMap)
catlgObjMap.get(MappingConstants.CATEGORY_BEAN);
catgryPrvwDB = (CategoryPreviewDataBean)
catlgDBMap.get(catgryId);

3) Pour tous les autres beans de données liés au produit :

String prodId = request.getParameter("productId");
if (prodId != null) {
HashMap catlgDBMap = (HashMap) catlgObjMap.get(MappingConstants.PRODUCT_BEAN);

Object prodLvLObj = catlgDBMap.get(prodId);

if (prodLvLObj != null) {
if (prodLvLObj instanceof ProductPreviewDataBean) {
ProductPreviewDataBean prodPrvwDB =
(ProductPreviewDataBean) prodLvLObj;
                                                                            ; 
    }
else if (prodLvLObj instanceof ItemPreviewDataBean) {
ItemPreviewDataBean itemPrvwDB = (ItemPreviewDataBean) prodLvLObj;
    
    }
else if(prodLvLObj instanceof PackagePreviewDataBean)
    {
PackagePreviewDataBean itemPrvwDB =
(PackagePreviewDataBean) prodLvLObj;

}
else if(prodLvLObj instanceof BundlePreviewDataBean){
BundlePreviewDataBean itemPrvwDB = (BundlePreviewDataBean) prodLvLObj;

}else if(prodLvLObj instanceof DynamicKitPreviewDataBean){
DynamicKitPreviewDataBean itemPrvwDB = (DynamicKitPreviewDataBean) prodLvLObj;

}

Chargez ces beans de données dans la portée de la page.

if (cPrvwDb != null) {
pageContext.setAttribute("catalog",cPrvwDb,1);

Le nom de variable utilisé pour insértion dans la portée de la page doit être identique à celui servant à l'instanciation dans le JSP du magasin. La démarche doit s'appliquer pour tous les types d'objets du catalogue.

Incluez de façon statique ce JSP dans celui existant et servant à afficher l'objet du catalogue.

Par exemple : <%@ include file="../../PreviewHelper/PreviewDatabeanEnvironmentSetup.jsp" %>

Vérifiez que ce bean de données est utilisé dans le JSP.

1) Avec JSTL, aucun changement n'est requis.

2) Avec un codage JSP standard, entreprenez une action similaire à celle illustrée par le fragment de code qui suit :

DynamicKitDataBean DynamicKitDataBean = null;
String storeId = ((TypedProperty)request.getAttribute(ECConstants.EC_REQUESTPROPERTIES)).getString(ECConstants.EC_STORE_ID);

if (pageContext.getAttribute("DynamicKitDataBean") == null) {
DynamicKitDataBean = new DynamicKitDataBean ();
com.ibm.commerce.beans.DataBeanManager.activate (DynamicKitDataBean, request);
} else {
DynamicKitDataBean = (DynamicKitDataBean) pageContext.getAttribute("DynamicKitDataBean");
}

Suppression conditionnelle de certaines actions en mode de prévisualisation

Pour suivre ces scénarios, recherchez une valeur pour PreviewBeanId : si elle est définie, agissez comme il se doit, en affichant par exemple un message indiquant que l'action est désactivée, comme le montre l'extrait de code suivant :

<c:when test="${!empty PreviewBeanId}">
<span class="text"><fmt:message key="SKU_NOT_BUYABLE" bundle="${storeText}" /></span><br /><br />
</c:when>

Procédure de configuration pour la prévisualisation :

Renseignez les entrées ci-après dans le fichier WPCWCproperties.properties. Il s'agit des pages qui serviront pour la prévisualisation de divers objets du catalogue créés dans Product Center. Les clés correspondent à la combinaison de l'identificateur de magasin et de l'affichage de l'objet du catalogue. (Dans l'exemple qui suit, l'identificateur de magasin est ConsumerDirect.)

######### JSP AFFICHAGE DU CATALOGUE ###############
ConsumerDirectCategoryDisplay = ShoppingArea/CatalogSection/CategorySubsection/CategoriesDisplay.jsp
ConsumerDirectProductDisplay = ShoppingArea/CatalogSection/CatalogEntrySubsection/ProductDisplay.jsp
ConsumerDirectItemDisplay = ShoppingArea/CatalogSection/CatalogEntrySubsection/ItemDisplay.jsp
ConsumerDirectDynamicKitDisplay = ShoppingArea/CatalogSection/CatalogEntrySubsection/DynamicKitDisplay.jsp
ConsumerDirectPackageDisplay = ShoppingArea/CatalogSection/CatalogEntrySubsection/PackageDisplay.jsp
ConsumerDirectBundleDisplay = ShoppingArea/CatalogSection/CatalogEntrySubsection/BundleDisplay.jsp


Configuration de Product Center

Procédez comme suit pour configurer Product Center en vue de l'intégration de WebSphere Commerce.

1. Dans l'environnement WPC, créez une entreprise nommée carmel en exécutant la commande src/db/schema/cmp/create_cmp.sh --code=carmel

2. Récupérez le fichier commerce_carmelV1.0.zip via FTP depuis l'emplacement suivant :

Serveur : <voir la note d'explication>
Nom d'utilisateur : <voir la note d'explication>
Mot de passe : <voir la note d'explication>
Emplacement : <voir la note d'explication>

3. Extrayez le fichier zip dans un répertoire local. Ce fichier contient ceux qui suivent :

4. Pour éviter un bogue dans l'outil d'importation/exportation, commencez par créer la collection d'attributs WCSKUAttrValColl sans aucun contenu.

5. Importez d'abord COMMERCE_CARMELLKP.ZIP, puis COMMERCE_CARMELNONLKP.ZIP à l'aide de la fonction d'importation de l'environnement WPC dans l'entreprise carmel créée à l'étape 1.

6. Demandez de l'aide à l'équipe de Commerce pour renseigner les zones ci-après de la table de consultation WCConfigLkpTbl, en laissant les autres valeurs inchangées :

a. WC1_STORE_ID

ID du magasin publié

b. WC1_MEMBER_ID

ID du membre de Commerce

c. WC1_MASTER_CATALOG_ID

ID du catalogue maître pour le magasin publié

d. WC1_LANGUAGE_ID

Doit toujours être 1, ne pas modifier cette valeur

e. WC1_ITEM_TYPE_ID

Ne pas modifier cette valeur

f. WC1_ITEM_SPC_ID

Ne pas modifier cette valeur

g. WC1_BASE_ITEM_ID

Ne pas modifier cette valeur

h. WC1_FFMCENTER_ID

Demandez de l'aide à l'équipe de Commerce pour indiquer cette valeur

i. WC1_QUANTITY_ID

Ne pas modifier cette valeur

j. WC1_TRADE_POSCN_ID

Demandez de l'aide à l'équipe de Commerce pour indiquer cette valeur

k. WC1_SALES_CATALOG_ID

Un catalogue des ventes doit être créé dans l'instance de Commerce et l'ID de ce catalogue doit être indiqué ici. Demandez de l'aide à l'équipe de Commerce pour savoir comment procéder.

l. WC1_FTP_HOST_NAME

IP de la machine où Commerce Server est exécuté

m. WC1_FTP_PORT

Port FTP qui ne changera pas en théorie, mais dépend de la configuration du serveur FTP sur la machine de Commerce Server

n. WC1_FTP_USER_ID

Nom d'utilisateur FTP pour le serveur FTP de la machine Commerce Server. Demandez de l'aide à l'équipe de Commerce pour indiquer cette valeur.

o. WC1_FTP_PASSWORD

Mot de passe FTP pour le serveur FTP de la machine Commerce Server. Demandez de l'aide à l'équipe de Commerce pour indiquer cette valeur.

p. WC1_FTP_PATH

Chemin duquel l'outil de chargement de masse récupérera le fichier envoyé via FTP. Demandez de l'aide à l'équipe de Commerce pour indiquer cette valeur.

q. WC1_SALES_HIERARCHY_NAME

Ne doit pas être modifié ; hiérarchie des ventes prédéfinie pour le catalogue des ventes/de navigation créé dans Commerce à l'étape k.

r. WC1_SERVER_NAME

Nom du serveur sur lequel Commerce Server est exécuté.

s. WC1_LAST_UPLOAD_TIME

Conservez cette entrée vide la première fois pour lancer le chargement initial. Ensuite, cette clé aura la valeur d'horodatage de la dernière exécution du rapport. Si elle est vide, le chargement initial aura lieu.

t. DEFAULT_LOCALE

Cet attribut doit posséder un environnement local par défaut pour la partie d'intégration. IL DOIT ETRE DEFINI AU MOMENT DU DEPLOIEMENT ET NE PAS ETRE MODIFIE ULTERIEUREMENT. CET ENVIRONNEMENT LOCAL DOIT FAIRE PARTIE DES ATTRIBUTS DE L'ENTREPRISE ET DES SPECIFICATIONS WCCatentryCtg, WCSKUCtg.

u. WC1_LOGON_CMD

Il doit s'agir de l'URL qualifiée complète de la nouvelle commande de connexion de Commerce.

http://<nom_serveur_où_Commerce_est_installé>/webapp/wcs/stores/servlet/WPCWCLogOn?

v. WC1_LOGON_CMD_USER

Utilisateur créé pour des raisons de sécurité (contactez l'équipe de Commerce).

w. WC1_LOGON_CMD_USER_PASSWORD

Mot de passe de l'utilisateur créé à l'étape v.

7. La table de consultation " WCCurrencyLkpTbl" doit être renseignée avec les devises prises en charge dans Commerce et le code de trois caractères pour chaque devise doit être indiqué pour la clé et pour la valeur. Par exemple, USD doit figurer comme clé et comme valeur. Demandez à l'équipe de Commerce de vous fournir la liste des devises prises en charge dans chaque version de Commerce.

8. Pour réaliser le chargement/téléchargement delta, exécutez le rapport Product Center DataExportToCommerce. En fonction de la valeur dans la zone précédente, il s'agit d'un chargement initial ou delta.

9. Vérifiez que l'IP de Commerce Server est disponible dans le fichier /etc/hosts sur la machine où Product Center est installé.

10. En raison d'un bogue dans l'outil d'importation/exportation, la collection d'attributs pour la hiérarchie WCPdtHier, WCPdtHierAttrColl doit être définie manuellement.

11. Veillez à définir la valeur pour "Environnement local pour l'affichage des données d'article et de catégorie" dans Accueil > Mes paramètres, de façon à ce que l'utilisateur puisse voir dans la fonction de prévisualisation le contenu dans le même environnement local qu'attendu.

12. Vérifiez que l'attribut de lien catentry de WCCatentryCtg dans la page d'attributs est correctement associé à l'attribut catentry_id de WCSKUCtg, sachant qu'un bogue d'importation/exportation empêche la définition de cet attribut de lien.

13. Montez le répertoire public_html.

14. Vérifiez que les attributs du catalogue possèdent comme identificateur et nom les valeurs Master et MyMasterCatalog.

Procédure d'ajout d'une hiérarchie des ventes

1. Créez un catalogue des ventes dans Commerce.

2. Créez une arborescence de catégories avec la spécification WCCgrySalesHSpec.

3. Associez-la comme hiérarchie secondaire au catalogue WCCatentryCtg.

4. Créez une entrée dans la table de consultation SalesLookupTable.

5. Créez une entrée dans la table de consultation du registre de la dernière séquence.

6. Copiez le contenu de "Copie d'articles ou Catégorie" depuis Gestionnaire Modèle de données -> Scripts -> Console des scripts -> Script de prévisualisation d'entrée, puis créez un nouveau script de prévisualisation d'entrée avec comme nom celui de l'arborescence de catégories de ventes assorti de "Copie d'articles ou Catégorie" afin qu'il soit unique.

7. Copiez le contenu du script de l'événement de post-enregistrement et de post-traitement pour WCSalesHr et collez-le pour la hiérarchie de ventes créée.

 

Chapitre 4 - Processus métier

La première source de catalogue dans Commerce est considérée comme une exportation complète ; seuls les objets modifiés ou supprimés dans Product Center sont alors exportés vers Commerce comme éléments de la source delta.

Product Center génère le document XML respectant la définition de type de document définie par Commerce (WCS.dtd). Le processus delta suppose toujours la suppression du document XML en premier lieu, puis une mise à jour afin d'éliminer toute incohérence dans les états d'objets.

Exportation complète

Exportation delta – Suppression

Exportation delta – Mise à jour

Annexe A - Référence de modèle de données

Objets Commerce

Sachant que l'objet primaire de l'intégration doit partager les données disponibles dans Product Center et que le modèle de données XML qui sera généré depuis Product Center correspond au document de téléchargement de masse illustrant les différentes tables dans Commerce, il est conseillé de connaître les objets internes à Commerce, dans quelle table chacun d'eux est stocké et quelles tables présentent des relations entre des objets.

 

Magasin

Il peut être considéré comme le conteneur principal dans lequel toutes les données sont disponibles en interrelation. Divers magasins peuvent exister dans la même application Commerce et les mêmes informations sont disponibles dans plusieurs d'entre eux. Toutes ces informations magasin seront stockées dans les tables store et storeent.

Catalogue

Ces catalogues s'apparentent à ceux dans Product Center. Ils seront associés à au moins un magasin. Les informations relatives aux catalogues seront stockées dans 2 tables différentes : catalog et catalogddsc. Les relations entre le catalogue et le magasin seront stockées dans storecat. 

Catégorie 

Ces catégories s'apparentent à celles dans Product Center. Elles figurent sous les catalogues. Les informations relatives aux catégories seront stockées dans 2 tables : catgroup et catgrpdesc. Les relations entre les diverses catégories seront stockées dans la table catgrprel. Les relations entre les catégories et les catalogues seront stockées dans la table cattogrp, celle entre les catégories et le magasin dans la table storecgrp.

Produit

Ces produits seront placés sous les catégories. Toutes les informations relatives aux produits seront stockées dans 3 tables différentes : baseitem, catentry et catentdesc. Tous les objets de type produit, regroupement, kit statique et kit dynamique seront stockés dans les tables catentry et catentdesc. Si la zone catenttype_id de catentry contient la valeur productBean, l'objet en cours est un produit. Les informations relatives aux produits, aux kits statiques et aux kits dynamiques seront stockées dans une autre table nommée baseitem. Si la zone itemtype_id contient la valeur ARTICLE, l'objet en cours est un produit. La table storecent présentera les relations entre le magasin et le produit. Celles entre les catégories et les produits seront stockées dans la table catgpenrel.

Attributs

Ces attributs seront associés à un produit et les informations relatives seront stockées dans la table attribute, y compris les relations entre l'attribut et le produit.  

Article

Ces articles s'apparentent à ceux dans Product Center. Ils seront placés sous les produits. Les informations relatives à l'article figurent dans 2 tables : catentry et catentdesc. L'article et le produit se trouvent dans la même table. La valeur catenttype_id permet de faire la distinction entre le produit et l'article. Pour un article, la valeur de catenttype_id est itemBean. A l'instar des produits, les articles seront associés à des magasins spécifiques et les informations relatives seront également stockées dans la table storecent. La table catentrel renferme les relations entre le produit et l'article.  

Valeurs d'attributs

Ces valeurs seront placées sous des articles et concerneront des attributs associés au produit auquel les articles sont aussi associés. Les informations relatives aux valeurs d'attributs seront stockées dans la table attrvalue, y compris les relations entre l'article et la valeur d'attribut.

Regroupements

Il s'agit d'un objet de regroupement pouvant renfermer un ensemble d'articles, de produits, de kits statiques ou de kits dynamiques. Ce regroupement sera stocké dans 2 tables : catentry et catentdesc. La valeur de catenttype _id pour cet objet est BundleBean.

Kit statique

Comparables à des regroupements, sauf que ces derniers peuvent être dissociés et que les kits statiques peuvent uniquement contenir des références. La valeur de catenttype_id pour un kit statique est StaticBean. Outre les tables catentry et catentdesc, une partie des informations relatives au kit statique seront également stockées dans la table baseitem. Dans ce cas, si la valeur de la zone itemtype_id est STKT, l'objet en cours est un kit statique.

Kit dynamique

Comparable à un kit statique, la principale différence étant qu'il peut contenir l'URL du configurateur de produit : les informations sur l'article sont disponibles en local mais seront résolues par le configurateur dans l'URL indiquée. Outre les tables catentry et catentdesc, une partie des informations relatives au kit statique seront également stockées dans la table baseitem. Dans ce cas, si la valeur de la zone itemtype_id est DNKT, l'objet en cours est un kit dynamique. Dans la table catentry, la valeur catentrytype_id pour cet objet est DynamicKitBean.

Objets Product Center liés à Commerce

Le nom de tous les objets Product Center liés à Commerce est précédé de WC afin d'éviter tout conflit avec d'autres objets.

Le tableau suivant résume le précédent. Voir la section sur la validation après le tableau pour connaître les validations applicables.

Objet / fonction

Représentation Product Center Représentation Commerce

Magasin

Les valeurs ci-après seront stockées comme paires clé/valeur dans la table de consultation de Product Center :
  • store_id
  • member_id
  • ffmcenter_id
  • allocationgoodfor – Si 1 ATP est activé, ATP Product Center doit charger des valeurs statiques.
  • identifier
  • tradeposcn_id
Les informations relatives au magasin sont stockées dans les tables STORE et STOREENT. Chaque magasin est associé à un catalogue maître et à plusieurs catalogues des ventes.

Catalogue

Dans Product Center, le catalogue système est représenté sous la forme de 2 catalogues et de 2 hiérarchies.

1. Catalogue catentry
2. Catalogue de références
3. Hiérarchie de produits
4. Hiérarchie de références produits

Tous les attributs spécifiques à des catalogues seront stockés comme attributs de catalogues dans Product Center. Pour les attributs spécifiques à Commerce, une fonction de définition d'attribut de catalogue personnalisée sera utilisée pour indiquer une clé et la valeur correspondante. Les attributs liés à la hiérarchie seront également stockés de cette façon. Le catalogue catenetry contiendra la représentation des objets WC : produits, regroupements, kits statiques et kits dynamiques.

Toutes les données spécifiques aux catalogues figurent dans les tables catalog, catalogdsc et storecat. Il est possible d'associer différents objets au catalogue maître, à savoir : produit, article, regroupement, kit statique et kit dynamique. Ces informations sont stockées dans les tables qui suivent :

1. catgroup

2. catgrpdesc

3. cattogrp

4. storecgrp

5. catgrprel

6. baseitem

7. catentry

8. catentdesc

9. catgpenrel

10. catentrel

11. attribute

12. attrvalue

Catégorie

Semblable à la catégorie de Product Center. La hiérarchie de produits servira à stocker les détails sur la catégorie. Dans la hiérarchie de références produits, vérifiez que l'utilisateur ne peut pas créer de catégorie sous la catégorie de produit et qu'aucun article n'est créé sous d'autres catégories que la catégorie élémentaire correspondant à un produit. Toutes les informations relatives à la catégorie sont stockées dans les tables suivantes :

1. catgroup

2. catgrpdesc

3. cattogrp

4. storecgrp

5. catgrprel

Produit

Le produit possède ses propres attributs, ainsi qu'un ensemble d'attributs définis comme spécifiques aux produits et dont la valeur sera indiquée au niveau de l'article. Sachant qu'il n'y a pas de représentation directe dans Product Center, le produit sera défini dans le catalogue catentry et pour la zone catentrytype_id, l'utilisateur sélectionnera Produit. Dans le post-enregistrement de ce catalogue, une catégorie sera créée dans la hiérarchie de références produits. Les attributs définis pour ce produit dans le catalogue catenetry seront générés comme spécification secondaire associée à la nouvelle catégorie dans la hiérarchie de références produits, en tant que spécification de catégorie d'articles. Un attribut de relation dans cette spécification sera associé à l'article correspondant dans le catalogue catentry. L'utilisateur n'a pas besoin d'ajouter cette catégorie de produit séparément. Lorsqu'il crée le produit dans le catalogue catenetry, cette catégorie est automatiquement générée et prête pour l'ajout de l'article. Les produits ne peuvent pas posséder de valeur pour des attributs de relations. Si l'utilisateur a entré une valeur, une erreur se produit.
Les informations produit sont stockées dans les tables baseitem, catentry et cateentrydesc. Dans l'identificateur de l'article de base pour le produit, la zone itemtype_id contient la valeur ARTICLE et la zone catenttype_id de la table catentry la valeur ProductBean.

Référence

Tous les détails sur les références sont stockés dans le catalogue de références. Ce catalogue est associé à la hiérarchie de références produits dans laquelle tous les produits correspondent à la catégorie élémentaire : des attributs y sont associés en tant que spécifications de catégories d'articles dans le post-enregistrement du catalogue catenetry. Au moment de son ajout, la référence est préremplie avec les valeurs d'attributs correspondantes du produit lié et l'utilisateur peut les modifier et les enregistrer à son gré. Tous les détails sur les références seront stockés dans les tables catentry et cateentrydesc. Si la zone catenttype_id dans la table catentry contient la valeur ItemBean, l'entrée actuelle est Référence.

Regroupement

Dans la catalogue catenetry, la zone catenttype_id contenant la valeur Regroupement représente l'objet de regroupement de Commerce. Cette spécification contient un attribut de liaison à occurrences multiples et associé au catalogue de références. Il servira à regrouper diverses références du catalogue de références. Ces regroupements peuvent posséder des attributs descriptifs mais pas d'attributs définis. Tous les détails sur les regroupements seront stockés dans les tables catentry et cateentrydesc. Si la zone catenttype_id dans la table catentry contient la valeur BundleBean, l'entrée actuelle est Regroupement.

Kit statique

Le catalogue catentry représente l'objet de kit statique de Commerce et la valeur de catentrytype_id doit être StaticKit. Ce catalogue sera associé à la hiérarchie de produits. La spécification en cours contient un attribut de liaison à occurrences multiples et associé au catalogue de références.  
Tous les détails sur les kits statiques seront stockés dans les tables baseitem, catentry et cateentrydesc. Si la zone catenttype_id dans la table catentry contient la valeur StaticBean, l'entrée en cours est Regroupement ; si la zone itemtype_id dans la table baseitem contient la valeur STKT, l'objet en cours correspond à un kit statique.

Kit dynamique

Le catalogue catenetry représente l'objet de kit dynamique de Commerce et la valeur dans la zone catentrytype_id doit être DynamicKit. Ce catalogue sera associé à la hiérarchie de produits. La spécification du catalogue contient un attribut de liaison à occurrences multiples et associé au catalogue de références. Par ailleurs, un autre attribut à occurrences multiples de type URL sera utilisé pour représenter l'URL du configurateur de produit. Tous les détails sur les kits dynamiques seront stockés dans les tables baseitem, catentry et cateentrydesc. Si la zone catenttype_id dans la table catentry contient la valeur DynamicKitBean, l'entrée en cours est Regroupement ; si la zone itemtype_id dans la table baseitem contient la valeur DNKT, l'objet en cours correspond à un kit dynamique.

ATP

Si la zone ALLOCATIONGOODFOR dans la table store contient la valeur 1, cette fonction est activée. Aucun calcul et aucune entrée de l'utilisateur ne sont requis pour représenter cette fonction dans Product Center. Des valeurs statiques prédéfinies seront fournies par l'équipe de Commerce et serviront à créer des fragments de code XML pour renseigner les tables respectives dans Commerce. 
Les tables ci-dessous dans Commerce servent à représenter ATP feature1. itemversn2. distarrang3. storeitem4. storeitmffc5. inventory6. itemspc7. versionspc8. itemffmctr

Marchandisage

Cette fonction est mise en oeuvre à l'aide d'attributs spécifiques au marchandisage et définis dans la spécification en cours du catalogue catentry. Deux types importants d'attributs de marchandisage peuvent posséder les valeurs X-SELL,UPSELL, ACCESSORY, REPLACEMENT ; dans un attribut de relation, l'utilisateur peut sélectionner le catalogue cantentry ou de références et relier les objets WC correspondants. Les tables ci-après sont liées au marchandisage dans commerce1. massoctype2. massoc3. massoccece

Ventes

Cette fonction sera représentée avec une hiérarchie renfermant diverses catégories que l'utilisateur crée directement ou qu'il choisit avec leurs enfants dans la hiérarchie de produits. Il ne peut y avoir que des informations sur la catégorie. Pour distinguer la hiérarchie des ventes d'autres hiérarchies, ajoutez l'attribut de hiérarchie HIERARCHY_TYPE et la valeur VENTES.

Les informations sur le produit, la référence, le regroupement, le kit statique et le kit dynamique ne peuvent pas être représentées dans la hiérarchie des ventes. Il peut exister autant de hiérarchies des ventes que le demande l'utilisateur. Outre les catégories qu'il crée, ce dernier peut copier la structure du catalogue maître ou d'un autre catalogue des ventes. C'est pourquoi un script de prévisualisation d'entrée sera ajouté à une hiérarchie des ventes dans laquelle l'utilisateur peut choisir de copier la structure d'un autre catalogue des ventes ou du catalogue maître sous la catégorie en cours.

Un catalogue standard est créé et la zone mastercatalog dans storecat contient la valeur 0.

Prévisualisation d'article

Le script de prévisualisation d'entrée sera utilisé pour cette fonction. Lorsque celle-ci est sélectionnée, une URL dans Commerce est appelée avec les informations d'article nécessaires. Ces informations correspondront à un code XML de téléchargement pour l'entrée en cours, à savoir une catégorie, un produit, un regroupement, un kit statique ou un kit dynamique. Outre l'appel de l'URL de WC, le type d'objet WC sera communiqué.  

Ajouter

Toute opération d'ajout suppose l'ajout d'images et d'attributs. Lors de l'exportation, les informations sur les attributs seront transférées comme éléments de la structure XML de téléchargement de masse et les images seront compressées et envoyées avec le document XML.  

Modifier

Semblable à l'ajout. Tout changement d'attribut entraînera l'envoi de tous les attributs et aucune information partielle ne sera transmise.  

Supprimer

Toute opération de suppression dans Product Center entraînera la définition de la zone markfordelete dans les tables Commerce, lesquelles seront mises à jour, et l'appel d'une URL de commande dans WC (cette commande peut gérer toute action ultérieure, telle que l'application d'instructions SQL).  

Localisation

Tous les attributs avec une zone language_id seront définis comme localisés dans Product Center. Dans les paramètres nationaux Product Center, l'utilisateur peut activer tous les paramètres nationaux de son choix. Les paramètres nationaux pris en charge via la zone language_id dans les différentes tables. Jusqu'à présent, les paramètres nationaux pris en charge dans Commerce sont en_US, ja_JP, fr_FR, de_DE, it_IT, es_ES, pt_BR, zh_CN, zh_TW et ko_KR.

Monnaie

Dans les paramètres nationaux Product Center, l'utilisateur peur configurer toutes les devises de son choix. Jusqu'à présent, les devises prises en charge dans Commerce sont BRL, CNY, EUR, JPY, KRW, TWD et USD.

Voici un ensemble de validations de base qui seront appliquées lorsque l'utilisateur enregistre l'article dans le catalogue catentry comme élément du script de post-traitement.  

Les définitions de tables Commerce sont directement converties en balises XML, le nom de table correspondant au nom d'élément et différentes zones étant définies comme attributs de l'élément. Les valeurs d'attributs correspondent aux valeurs réelles devant être indiquées dans ces zones de tables. Pour la clé primaire seulement, elles sont précédées du symbole @ afin que la règle de génération de cette clé dans Commerce serve à la recréer avant de stocker ces valeurs dans des tables de Commerce.  

Lors de l'implémentation, il est possible d'ajouter une ou plusieurs extensions de cette table et d'autres zones le cas échéant. Dans ce genre de situation, la table d'extension contient le lien à l'enregistrement correspondant dans la table étendue sous forme de clé externe.  

Le transfert de données entre Product Center et Commerce aura lieu sous la forme de documents XML. Comme indiqué dans la solution, ces documents générés seront placés à un même endroit connu par Product Center et Commerce ; cette dernière application les récupérera alors pour les traiter.  

Remarque : la gestion d'erreurs au sein de cet échange de données est effectuée manuellement. Il n'y aura aucune communication entre Commerce et Product Center : elle se fera toujours dans l'autre sens.

Le document XML généré dans Product Center DOIT être compatible avec cette définition de type de document. Il constitue une représentation directe du modèle de données Commerce au niveau du schéma.  

Pour la fonction de prévisualisation d'articles de Product Center dans Commerce, l'utilisation de l'option Outils personnalisés du menu de prévisualisation d'articles sera ajoutée dans Product Center et chaque fois que nécessaire, l'utilisateur pourra choisir cette option après sélection. Les détails sur l'article, visibles dans la page statique affichée par Commerce pour cette fonction de prévisualisation d'article, seront transmis via la méthode de postage HTTP. Le même contenu sera analysé côté Commerce et affiché dans la page statique de Commerce à l'endroit approprié. Il revient à l'équipe Commerce de choisir l'apparence de la page statique, à quels autres endroits l'utilisateur peut accéder depuis cette page et comment l'utilisateur sera contrôlé depuis cette page.

Les conditions requises par l'équipe Product Center devront avoir une URL dans laquelle effectuer un appel de postage HTTP avec les données nécessaires à afficher dans la page statique.

Remarques

IBM peut ne pas fournir les produits, services ou fonctions abordés dans ce document dans tous les pays. Pour plus de détails, référez-vous aux documents d'annonce disponibles dans votre pays, ou adressez-vous à votre partenaire commercial IBM. Toute référence à un produit, logiciel ou service IBM n'implique pas que seul ce produit, logiciel ou service puisse être utilisé. Tout autre élément fonctionnellement équivalent peut être utilisé, s'il n'enfreint aucun droit d'IBM. Il est de la responsabilité de l'utilisateur d'évaluer et de vérifier lui-même les installations et applications réalisées avec des produits, logiciels ou services non IBM.

IBM peut détenir des brevets ou des demandes de brevet couvrant les produits mentionnés dans le présent document. La remise de ce document ne vous donne aucun droit de licence sur ces brevets ou demandes de brevet. Vous pouvez adresser des demandes de licence par écrit à l'adresse suivante :

Direction des licences IBM
IBM Corporation
Tour Descartes
92066 Paris-La Défense Cedex 50
France. Pour le Canada, veuillez adresser votre courrier à : IBM Director of Commercial Relations IBM Canada Ltd 3600 Steeles Avenue East Markham, Ontario L3R 9Z7, Canada

Le paragraphe suivant ne s'applique pas au Royaume-Uni ni dans aucun autre pays où de telles dispositions sont contraires à la législation locale :

LE PRESENT DOCUMENT EST LIVRE EN L'ETAT. IBM DECLINE TOUTE RESPONSABILITE, EXPLICITE OU IMPLICITE, RELATIVE AUX INFORMATIONS QUI Y SONT CONTENUES, Y COMPRIS EN CE QUI CONCERNE LES GARANTIES DE NON-CONTREFACON ET D'APTITUDE A L'EXECUTION D'UN TRAVAIL DONNE. Certaines juridictions n'autorisent pas l'exclusion des garanties implicites, auquel cas l'exclusion ci-dessus ne vous sera pas applicable.

Le présent document peut contenir des inexactitudes ou des coquilles. Les informations contenues dans ce document sont régulièrement mises à jour ; ces modifications seront incorporées dans les nouvelles éditions. IBM se réserve le droit d'apporter à tout moment et sans préavis des améliorations et/ou des modifications au(x) produit(s) et/ou programme(s) décrit(s) dans cette publication.

Les références à des sites Web non IBM sont fournies à titre d'information uniquement et n'impliquent en aucun cas une adhésion aux données qu'ils contiennent. Les éléments figurant sur ces sites Web ne font pas partie des éléments du présent produit IBM et l'utilisation de ces sites relève de votre seule responsabilité.

IBM pourra utiliser ou diffuser, de toute manière qu'elle jugera appropriée et sans aucune obligation de sa part, tout ou partie des informations qui lui seront fournies.

Les titulaires de licence de ce logiciel qui souhaiteraient obtenir des informations relatives à l'utilisation du logiciel pour permettre : (i) l'échange d'informations entre logiciels créés de façon indépendante et d'autres logiciels (y compris celui-ci) et (ii) l'utilisation mutuelle des informations qui ont été échangées, doivent contacter :

IBM Burlingame Laboratory
Director IBM Burlingame Laboratory
577 Airport Blvd., Suite 800
Burlingame, CA 94010
U.S.A

Ces informations peuvent être soumises à des conditions particulières, prévoyant notamment le paiement d'une redevance.

Le logiciel sous licence décrit dans ce document et tous les éléments sous licence disponibles s'y rapportant sont fournis par IBM conformément aux dispositions de l'ICA, des Conditions internationales d'utilisation des logiciels IBM ou de tout autre accord équivalent.

Les données de performance indiquées dans ce document ont été déterminées dans un environnement contrôlé. Par conséquent, les résultats peuvent varier de manière significative selon l'environnement d'exploitation utilisé. Certaines mesures évaluées sur des systèmes en cours de développement ne sont pas garanties sur tous les systèmes disponibles. En outre, elles peuvent résulter d'extrapolations. Les résultats peuvent donc varier. Il incombe aux utilisateurs de ce document de vérifier si ces données sont applicables à leur environnement d'exploitation.

Les informations concernant des produits non IBM ont été obtenues auprès des fournisseurs de ces produits, par l'intermédiaire d'annonces publiques ou via d'autres sources disponibles. IBM n'a pas nécessairement testé ces produits et ne peut pas confirmer l'exactitude des performances, de la compatibilité ou de toute autre déclaration liée aux produits non IBM. Toute question concernant les performances de produits non IBM doit être adressée aux fournisseurs de ces produits.

Ces informations peuvent contenir des exemples de données et des rapports utilisés dans des opérations commerciales courantes. Pour les illustrer le mieux possible, les exemples peuvent comporter des noms de personnes, de sociétés, de marques et de produits. Toute ressemblance avec des noms de personnes, de sociétés ou des données réelles serait purement fortuite.

Toute instruction relative aux intentions d'IBM pour ses opérations à venir est susceptible d'être modifiée ou annulée sans préavis, et doit être considérée uniquement comme un objectif.

Informations sur l'interface de programmation

Les informations relatives à l'interface de programmation, le cas échéant, ont pour objectif de vous aider à créer une application à l'aide de ce programme.

Les interfaces de programmation génériques vous permettent d'écrire une application bénéficiant des services des outils de ce programme.

Cependant, ces informations peuvent également contenir des informations relatives au diagnostic, à la modification et au réglage. Les informations de diagnostic, de modification et de réglage sont fournies afin de vous aider à déboguer l'application.

Avertissement : n'utilisez pas ces informations en tant qu'interface de programmation, car elles sont susceptibles d'être modifiées.

Marques

Les termes suivants sont des marques d'International Business Machines Corporation aux Etats-Unis et/ou dans d'autres pays :

IBM
le logo IBM
AIX
CrossWorlds
DB2
DB2 Universal Database
Domino
Lotus
Lotus Notes
MQIntegrator
MQSeries
Tivoli
WebSphere

Microsoft, Windows, Windows NT et le logo Windows sont des marques de Microsoft Corporation aux Etats-Unis et/ou dans certains autres pays.

MMX, Pentium et ProShare sont des marques d'Intel Corporation aux Etats-Unis et/ou dans certains autres pays.

Java et les marques Java sont des marques de Sun Microsystems, Inc. aux Etats-Unis et/ou dans certains autres pays.

D'autres sociétés sont propriétaires des autres marques, noms de produits ou logos qui pourraient apparaître dans ce document.


IBM WebSphere Product Center contient certains composants dits exclus (tels qu'ils sont définis dans le document d'informations sur la licence approprié), pour lesquels les dispositions supplémentaires suivantes sont applicables. Ce logiciel fait l'objet de l'octroi d'une licence en vertu des Conditions Internationales d'Utilisation de Logiciels IBM, qui est soumise aux dispositions relatives aux composants exclus. IBM est dans l'obligation de fournir les consignes suivantes en relation avec ce logiciel :

i.) IBM WebSphere Product Center inclut les logiciels suivants dont IBM a obtenu la licence d'Apache Software Foundation en application des termes et conditions de la licence Apache 2.0 :

- Apache Regular Expression version 1.2
- Apache Axis version 1.1
- Apache XML4J version 3.0.1
- Apache Log4j version 1.1.1
- Apache Jakarta Commons DBCP Package version 1.1
- Apache Jakarta Commons Pool Package version 1.1
- Apache Jakarta Commons Collections Package version 3.0

Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all ther entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation, and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

(a) You must give any other recipients of the Work or Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.

Copyright [aaaa] [nom du détenteur de copyright]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

ii.) IBM WebSphere Product Center inclut le logiciel suivant dont IBM a obtenu la licence de Scott Hudson, Frank Flannery et C. Scott Ananian en application des termes et conditions suivants :

- Cup Parser Generator version 0.10k

CUP Parser Generator Copyright Notice, License, and Disclaimer
Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian
Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the names of the authors or their employers not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. The authors and their employers disclaim all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall the authors or their employers be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software. 

iii.) IBM WebSphere Product Center inclut le logiciel suivant dont IBM a obtenu la licence d'Elliot Joel Berk et de C. Scott Ananian en application des termes et conditions suivants :

- JLex version 1.2.6

JLEX COPYRIGHT NOTICE, LICENSE AND DISCLAIMER.
Copyright 1996-2003 by Elliot Joel Berk and C. Scott Ananian
Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of the authors or their employers not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. The authors and their employers disclaim all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall the authors or their employers be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software. Java is a trademark of Sun Microsystems, Inc. References to the Java programming language in relation to JLex are not meant to imply that Sun endorses this product. 

iv.) IBM WebSphere Product Center inclut le logiciel suivant dont IBM a obtenu la licence d'International Business Machines Corporation et d'autres sociétés en application des termes et conditions suivants :

- ICU4J version 2.8

ICU License - ICU 1.8.1 and later
COPYRIGHT AND PERMISSION NOTICE

Copyright (c) 1995-2003 International Business Machines Corporation and others
All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, provided that the above copyright notice(s) and this permission notice appear in all copies of the Software and that both the above copyright notice(s) and this permission notice appear in supporting documentation.

LE LOGICIEL EST FOURNI "EN L'ETAT", SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE, Y COMPRIS EN CE QUI CONCERNE LES GARANTIES D'APTITUDE A L'EXECUTION D'UN TRAVAIL DONNE ET DE NON-CONTREFACON. EN AUCUN CAS LES TITULAIRES DE DROITS D'AUTEURS INCLUS DANS CETTE NOTICE NE POURRONT ETRE TENUS RESPONSABLES DE TOUTE RECLAMATION OU DE TOUT DOMMAGE SPECIAL, INDIRECT OU CONSECUTIF, OU PROVENANT D'UNE PERTE DE DONNEES OU DE BENEFICES, RESULTANT DE TOUTE ACTION LIEE A L'UTILISATION OU AUX PERFORMANCES DE CE LOGICIEL.

Sauf indication contraire dans cette notice, le nom des titulaires de droits d'auteur ne doit pas être utilisé à des fins de publicité ou de promotion de ce Logiciel sans autorisation écrite préalable de ces titulaires.

-----------------------------------------------------------------------------
Toutes les marques mentionnées dans le présent document appartiennent à leurs propriétaires respectifs.