WebSphere Product Center: WebSphere Commerce-Integration

Version 5.2

 

 

 

 

 

 

 


Hinweis: Bevor Sie die vorliegenden Informationen und das zugehörige Produkt verwenden, lesen Sie bitte die Informationen im Abschnitt "Bemerkungen" am Ende dieses Dokuments.

 

23. März 2005

Diese Veröffentlichung ist eine Übersetzung des Dokuments

WebSphere Product Center Version 5.2: WebSphere Commerce Integration,

herausgegeben von International Business Machines Corporation, USA

(C) Copyright International Business Machines Corporation 2005
(C) Copyright IBM Deutschland GmbH 2005

Informationen, die nur für bestimmte Länder Gültigkeit haben und für Deutschland, Österreich und die Schweiz nicht zutreffen, wurden in dieser Veröffentlichung im Originaltext übernommen.

Möglicherweise sind nicht alle in dieser Übersetzung aufgeführten Produkte in Deutschland angekündigt und verfügbar; vor Entscheidungen empfiehlt sich der Kontakt mit der zuständigen IBM Geschäftsstelle.

Änderung des Textes bleibt vorbehalten.

Herausgegeben von:
SW NLS Center
Kst. 2877
März 2005

Inhaltsverzeichnis

Kapitel 1 - Übersicht

Kapitel 2 - Architektur

Anwendungsdesign
Angepasste Product Center-Scripts

Kapitel 3 - Integration mit WebSphere Commerce

Commerce - Konfiguration
WC-Daten in Commerce exportieren

Konfiguration für Voranzeige

Product Center - Konfiguration

Kapitel 4 - Geschäftsprozesse

Vollständiger Export
Deltaexport - Löschen

Deltaexport - Aktualisieren

Anhang A - Datenmodellreferenz

Commerce-Objekte
Zu Commerce gehörende Product Center-Objekte

Bemerkungen

Kapitel 1 - Übersicht

Die Commerce-Integration bildet eine Grundlage, auf der Kunden eine umfassende, sehr produktive Autorenumgebung für Produktinformationen ihrer B2B- und B2C-E-Commerce-Sites (B2B = Business to Business, Großhandel; B2C = Business to Consumer, Einzelhandel) aufbauen können. WebSphere Product Center (im Folgenden als Product Center bezeichnet) kann den Wert von E-Commerce-Implementierungen stark vergrößern, indem die Vorbereitung multimedialer und präziser Produktinformationen für die Veröffentlichung deutlich verbessert wird.  

Zusammen mit einer E-Commerce-Plattform stellt dieses Produkt Tools bereit, mit denen die Beiträge mehrerer Benutzer funktionsübergreifend für verschiedene Commerce-Prozesse koordiniert werden können. WebSphere Product Center bietet auch Funktionen und Leistungsmerkmale, mit denen die Zusammenfassung, Erweiterung, Verwaltung und Genehmigung großer Mengen an komplexen Produktinformationen deutlich vereinfacht wird. 

Folgende Geschäftsprozesse werden unter anderem unterstützt: Einführung neuer Produkte; Erstellung von Cross-Selling- und Up-Selling-Angeboten sowie von Werbekampagnen; Ende der Lebensdauer von Produkten; Synchronisierung von Artikelinformationen; Massenhochladevorgänge von Artikeln und deren Attributen auf eine Website; Syndikation von Produktinformationen für mehrere Kundenkontaktpunkte zusätzlich zu E-Commerce-Sites. 

Zur Integration von Commerce Server gehören unter anderem folgende Funktionen:

Voraussetzungen

Einschränkungen

Die in Product Center definierten und in Commerce geladenen Produktdaten enthalten Standardlagerbestände. Zum Ändern dieser Daten ist Commerce Suite Accelerator erforderlich.

Kapitel 2 - Architektur

Der Datenaustausch zwischen Product Center und Commerce basiert auf XML-Dokumenten. Das Commerce-Team sollte die DTD für sein neuestes Massenuploadtool bereitstellen. Mit Product Center-Scripts werden XML-Dokumente erstellt, die anhand der Commerce-DTD geprüft werden können. Die Dokumente sollten per FTP an eine vordefinierte Position übertragen werden, von wo sie von der Commerce-Anwendung abgerufen und verarbeitet werden. Wenn bei der Verarbeitung Fehler auftreten, muss das XML-Dokument manuell verarbeitet werden. 

Die erste Katalogzuführung zu Commerce wird als vollständiger Export betrachtet, und danach werden als Teil der Deltazuführung nur noch die Objekte in Commerce exportiert, die in Product Center entweder geändert oder gelöscht wurden.

Product Center generiert die XML gemäß der von Commerce definierten DTD (WCS.dtd). Beim Deltaprozess wird zuerst XML gelöscht und anschließend aktualisiert, um Inkonsistenzen in den Objektstatus zu entfernen.

 

Mit der Integration von WebSphere Product Center und WebSphere Commerce werden die folgenden Ziele erreicht:

Hinweis: Anhang A enthält Details zur Datenmodellreferenz.

Anwendungsdesign

Im Product Center-Integrationspaket sind die folgenden Objekte enthalten:

WCCatentryCtg – Der Hauptkatalog in Product Center

WCSKUCtg – Die zu einem Produkt gehörenden Artikelnummern (SKUs)

WCSalesHr – Der Verkaufskatalog

ActivityLog– Der Aktivitätenprotokollkatalog

Angepasste Product Center-Scripts

Eine Reihe von Product Center-Scripts bietet Unterstützung bei der Datenmodelldarstellung der Commerce-Objekte in Product Center. Die folgende Tabelle enthält eine Beschreibung:

Scriptname Scripttyp Beschreibung/Funktionalität
WCCatentry Post Processing Script  Katalogscript – Post Process

 Führt grundlegende Datenmodellprüfungen aus, wie doppelte Teilenummern, zu definierenden Attributen gehörende Prüfungen uä.

CatentryCtg post save WCSKUCtgPostSave

 Überprüft, ob das gespeicherte Element ein Produkt ist und erstellt das Produkt anschließend als Kategorie im Artikelnummerkatalog und ordnet das definierende Attribut als Sekundärspezifikation zu.

WCSKUCtgPostSave  WCSKUCtgPostSave

 Erstellt einen Eintrag im Aktivitätenprotokollkatalog.

WCCatentryCtg Entry Preview Script  Script für Eintragsvoranzeige

 Erstellt die XML für den zur Voranzeige angeforderten Artikel und lädt die XML-Daten als HTTP POST und ruft den Commerce-Voranzeigebefehl auf.

WCSkuCtgEntryPreview Script für Eintragsvoranzeige 

 Wie oben, Voranzeige für eine Artikelnummer.

DataExportToCommerceScript  Berichtsscript

 Der Bericht, der dem Benutzer das Ausführen von vollständigen oder von Deltakatalogzuführungen in Commerce erleichtert. Dieses Script erstellt zusammen mit einigen Auslöserscripts die XML, indem es die aus dem Aktivitätenprotokollkatalog zu exportierenden Elemente verarbeitet und bei Deltas die XML per FTP in ein vordefiniertes Verzeichnis (beschrieben in der Referenztabelle) überträgt und den Commerce-Befehl aufruft.

WC-Export.Wc.XmlFormat Auslöserscript

 Dieses Script hat Ähnlichkeit mit ASP/JSP und ist ein wichtiges Element bei der Erstellung der XML. Alle Commerce-XML-Knoten werden in diesem Script als Funktionen beschrieben, die von den Auslöserscripts aufgerufen werden.

WC.Validation.Utility.Lib Auslöserscript

 Ein Auslöserscript zum Ausführen von grundlegenden Objektprüfungen, wie nicht Null, Filterung von Sonderzeichen, Eindeutigkeitsprüfung usw.

WCExportUtil.wpcs Auslöserscript 

 Das wichtigste Script, das sowohl bei vollständigen Exporten oder Deltaexporten als auch bei der Voranzeige aufgerufen wird. Verarbeitet die gesamte Geschäftslogik und erstellt die XML.

activityLogger.wpcs Auslöserscript

 Dieses Script bearbeitet alle zum Aktivitätenprotokollkatalog gehörenden Einträge.  

WC.utility.Lib Auslöserscript

 Umfasst Dienstprogrammfunktionen wie das Ändern von mehrfach vorkommenden Artikelwerten, Erstellen von Sekundärspezifikationen, Löschen von Artikelnummerabhängigkeiten für Katalogartikel usw.

CopyItemsandCategory Auslöserscript 

 Dieses Script wird verwendet, um die Artikel oder die Kategorien vom Hauptkatalog in die Verkaufskataloge zu kopieren.

Library Logger  Auslöserscript

 Eine von den Entwicklern verwendete Protokollfunktion zum Erstellen eines Ereignisprotokolls. Ist derzeit in Kommentarzeichen gesetzt, da die Funktion noch nicht einwandfrei funktioniert.

 

Kapitel 3 - Integration mit WebSphere Commerce

In diesem Kapitel sind Informationen zur Konfiguration von Product Center und von WebSphere Commerce enthalten.  


Commerce - Konfiguration

Voraussetzungen

Konfiguration für Commerce-Integration

Integrationsbefehle konfigurieren

Verwenden Sie die folgenden Schritte, um die Integrationsbefehle in WebSphere Commerce zu konfigurieren.

1) Laden Sie die Datei SQLLoad.xml entsprechend den Anweisungen im vorangehenden Abschnitt aus dem temporären Ordner in die Datenbank, indem Sie im selben Fenster den Befehl idresolver (idresgen) und anschließend den Befehl massloader (massload) ausführen, wie im Folgenden gezeigt: 

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

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

Hinweis: Stellen Sie sicher, dass in der Datei SQLLoad.dtd der Pfad für die wcs.dtd korrekt gesetzt ist.

Wenn sich die wcs.dtd beispielsweise im Verzeichnis D:\WebSphere\CommerceServer56\schema\xml befindet, muss der Pfad wie folgt angegeben werden:

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

2) Laden Sie die Datei wpcwcUserGroup.xml, die Sie in das Verzeichnis <WC_installationsverzeichnis>\xml\policies\xml kopiert haben. Öffnen Sie dazu ein Fenster mit Eingabeaufforderung, wechseln Sie in das Verzeichnis <WC_installationsverzeichnis>\bin, und führen Sie den Befehl acpload wie folgt aus:

acugload <dbname> <dbuser> <dbpwd> wpcwcUserGroup.xml <schemaname>

Dabei gilt Folgendes: 

dbname ist der Name der Datenbank
dbuser ist der Name des Benutzers, der eine Verbindung zur Datenbank herstellt
dbpwd ist das Kennwort für den Benutzer, der eine Verbindung zur Datenbank herstellt
schemaname ist der Name des Zieldatenbankschemas

3) Laden Sie die Datei wpcwcpolicy.xml, die Sie in das Verzeichnis <WC_installationsverzeichnis>\xml\policies\xml kopiert haben. Öffnen Sie dazu ein Fenster mit Eingabeaufforderung, wechseln Sie in das Verzeichnis <WC_installationsverzeichnis>\bin, und führen Sie den Befehl acpload wie folgt aus:

acpload <dbname> <dbuser> <dbpwd> wpcwcpolicy.xml <schemaname>

Dabei gilt Folgendes: 

dbname ist der Name der Datenbank
dbuser ist der Name des Benutzers, der eine Verbindung zur Datenbank herstellt
dbpwd ist das Kennwort für den Benutzer, der eine Verbindung zur Datenbank herstellt
schemaname ist der Name des Zieldatenbankschemas

4) Öffnen Sie die Datei MANIFEST.MF, die sich im Verzeichnis <WAS_installationsverzeichnis>\installedApps\<zellenname>\WC_<instanzname>.ear\Stores.war\META-INF befindet, und fügen Sie die JAR-Datei WPCWC.jar am Ende des Klassenpfads hinzu.  

5) Öffnen Sie die Datei WPCWCProperties.properties im Verzeichnis <WAS_installationsverzeichnis>\installedApps\<zellenname>\WC_<instanzname>.ear\Stores.war\WEB-INF\classes, und ändern Sie die folgenden Werte entsprechend: 

dbname ist der Name der Datenbank
dbuser ist der Name des Benutzers, der eine Verbindung zur Datenbank herstellt
dbpwd ist das Kennwort für den Benutzer, der eine Verbindung zur Datenbank herstellt
idresinfiledir ist das Verzeichnis, in das Product Center die Eingabedateien per FTP übertragen sollte

    Beispiel: C:/WPC-WC/testing

massloadinfile ist die Ausgabedatei, die vom Prozess IdResolver erstellt und die als Eingabe für den Massenladeprozess verwendet würde

    Beispiel: C:/WPC-WC/testing/idresout.xml

schemaname ist der Name des Zieldatenbankschemas

customizer ist die Anpassungsdatei, die für andere Datenbanken wie Oracle zur Verfügung gestellt werden muss.
    Beispiel: OracleConnectionCustomizer.properties

propfilename ist der Pfad für die Eigenschaftendatei IdResolveKeys.properties.

    Beispiel: C:/WebSphere/CommerceServer56/properties/IdResolveKeys.properties

Hinweis: 

1. Fügen Sie den folgenden Eintrag am Ende der Datei IdResolveKeys.properties hinzu, die sich im Verzeichnis <WC_installationsverzeichnis>\properties befindet.

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

2. Ändern Sie nicht die übrigen Eigenschaften von mixedmethod, sqlmethod, deletemethod und optimize.

3. Stellen Sie sicher, dass wcs.dtd in das von idresinfiledir angegebene Verzeichnis gestellt wird.


WC-Daten in Commerce exportieren

In diesem Abschnitt wird beschrieben, wie Informationen aus WebSphere Commerce in ein Commerce-Geschäft extrahiert werden können.

Neuen Benutzer erstellen

Erstellen Sie in Commerce über die Organisationsadministrationskonsole einen neuen (zur Stammorganisation gehörenden) Benutzer mit Verwaltungsberechtigung. Ordnen Sie dem Benutzer den Aufgabenbereich WPCAdministrator zu.

Metadaten extrahieren

Verwenden Sie die folgenden Schritte, um Metadaten aus WebSphere Commerce zu extrahieren:

1) Extrahieren Sie die ZIP-Datei in ein lokales Verzeichnis.

2) Kopieren Sie die Filterdatei Export_MetaData_Filter.xml in ein temporäres Verzeichnis. Beispiel: C:\test.

3) Öffnen Sie die Datei Export_MetaData_Filter.xml, um die folgenden Änderungen vorzunehmen und die Datei zu speichern:

4) Öffnen Sie ein Fenster mit Eingabeaufforderung, und wechseln Sie in das Verzeichnis <WC_installationsverzeichnis>\bin.

5) Führen Sie im Verzeichnis <WC_installationsverzeichnis>\bin das Tool massextract wie folgt aus:

    massextract -dbname <dbname> -dbuser <dbuser> -dbpwd <dbpwd> -filter 
    C:\test\Export_MetaData_Filter.xml -outfile <outfile> -schemaname <schemaname>

Dabei gilt Folgendes: 

    dbname ist der Name der Datenbank
    dbuser ist der Name des Benutzers, der eine Verbindung zur Datenbank herstellt
    dbpwd ist das Kennwort für den Benutzer, der eine Verbindung zur Datenbank herstellt
    outfile ist der Name der XML-Ausgabedatei, in der die extrahierten Daten gespeichert werden
    schemaname ist der Name des Zieldatenbankschemas

Die Metadaten werden in einer Datei generiert, die von dem für <outfile> angegebenen Wert definiert wird.

Generierte Ausgabedatei bearbeiten

Bearbeiten Sie die im vorherigen Abschnitt generierte Ausgabedatei (<outfile>). Gehen Sie zum folgenden Element am Ende der Datei, und ersetzen Sie das Anmeldekennwort durch das korrekte Kennwort, das im Abschnitt "Neuen Benutzer erstellen" erstellt wurde.

<userId
logonid = “<anmeldeID des Benutzers>”
logonpassword =”<anmeldeKennwort des Benutzers>” />

Diese bearbeitete Ausgabedatei bildet die für Product Center bereitgestellten Metadateninformationen.

Konfiguration zum Kopieren von Imagedateien von Product Center in Commerce 

1. Öffnen Sie die Datei WPCWCProperties.properties im Verzeichnis <WAS_installationsverzeichnis>\installedApps\<zellenname>\WC_<instanzname>.ear\Stores.war\WEB-INF\classes, und gehen Sie zum Eigenschaftsnamen ConsumerDirectImgDir.

2. Dieser Name wurde entsprechend den publizierten Geschäften geändert. In diesem Fall lautete die Kennung des publizierten Geschäfts ConsumerDirect, daher lautet der Name ConsumerDirectImgDir.

3. Wenn die Kennung des publizierten Geschäfts ToolTech lauten würde, würde dieser Eigenschaftsname ToolTechImgDir statt ConsumerDirectImgDir lauten.

4. Der Wert für diesen Eigenschaftsnamen ConsumerDirectImgDir ist ein angegebener Pfad, in dem sich die Images des Geschäfts befinden. Dieser Pfad ist relativ zum Geschäftsverzeichnis. Wenn der Pfad des Geschäfts auf der Commerce-Maschine beispielsweise wie folgt lautet:

    <WAS_installationsverzeichnis>/installedApps/<zellenname>/WC_<instanzname>.ear/Stores.war/ConsumerDirect

 und sich die Images im Verzeichnis images darunter befinden, muss der Eigenschaftsname wie folgt angegeben werden:

    ConsumerDirectImgDir = images


Konfiguration für Voranzeige

1. Extrahieren Sie aus der Datei WPC_WC_Version_X.zip die ZIP-Datei PreviewUtils.zip in ein temporäres Verzeichnis.

2. Extrahieren Sie den Inhalt von PreviewUtils.zip in das Verzeichnis WAS_HOME\installedApps\<knotenname>\<cellname.ear>\Stores.war

Für die Voranzeige stehen zwei Methoden zur Verfügung:

          Methode A: Verwendung der vorhandenen Beispiel-JSPs für das Geschäft ConsumerDirect

1. Publizieren Sie das Geschäft ConsumerDirect über die Administrationskonsolenschnittstelle in Commerce.

2. Extrahieren Sie die JSPs aus der Datei samples.zip in das Verzeichnis WAS_HOME\installedApps\<knotenname>\<cellname.ear>\Stores.war\ConsumerDirect. 

Beispiel: C:\WebSphere\AppServer\installedApps\vdev\WC_demo.ear\Stores.war\ConsumerDirect

3. Starten Sie den E-Commerce-Server erneut.

Methode B (Erfordert JSP-Entwicklung): Ändern der Geschäfts-JSPs für andere Geschäfte 

Voraussetzungen: Die JavaBeans in der JSP werden unter Verwendung ihrer Schlüsselkennung (keyID) gefüllt.

Für Voranzeige erforderliche Logik:

a) Die JavaBeans, die den von Product Center empfangenen Daten entsprechen, werden auf dem E-Commerce-Server zwischengespeichert und in eine Datenstruktur aufgenommen. Diese Datenstruktur wird in einer HashMap untergebracht. Diese Datenstruktur kann von der HashMap mit dem Wert für PreviewBeanId abgerufen werden, der in der Sitzung übergeben wurde. Die JavaBeans können anhand ihrer in der Anforderung übergebenen Primärschlüsselwerte aus dieser Datenstruktur abgerufen werden. Die JSP verwendet diese JavaBeans (die zusammengefügte Informationen enthalten) anstatt eigene JavaBeans zu erstellen.  

b) Damit die JSP diese JavaBeans verwendet, muss eine JSP vorhanden sein, die den Prozess zum Laden dieser JavaBeans in den Seitenbereich übernimmt. Diese JSP sollte in alle JSPs, die die Voranzeigefunktion benötigen, statisch integriert werden. Der Name der Variablen/des Schlüssels, die/der zum Laden der Variablen in den Seitenbereich verwendet wird, sollte möglichst mit dem Namen der Variablen identisch sein, die die JavaBean in der JSP verwendet. (Dies erleichtert die Entwicklung bei Verwendung von JSTL.)

c) Bestimmte Funktionen, die während der Voranzeige nicht aktiviert sein sollen (z. B. das Bestellen eines Artikels), sollten bedingt unterdrückt bzw. durch eine entsprechende Nachricht ersetzt werden.  

Beschreibung der Methode unter Verwendung von Codefragmenten:

JavaBeans vom E-Commerce-Server abrufen 

Informationen zur Implementierung finden Sie in PreviewDatabeanEnvironmentSetup.jsp im Verzeichnis PreviewHelper.

Datenstruktur abrufen

1) Rufen Sie die ID der Voranzeigebean (PreviewBeanId) aus der HashMap ab.

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

2) Rufen Sie die Datenstruktur mit dieser ID ab:

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

JavaBeans abrufen

1) Katalog-JavaBeans:

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) Kategorie-JavaBeans:

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) Alle anderen zum Produkt gehörenden JavaBeans:

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;

}

Diese JavaBeans in den Seitenbereich laden 

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

Der Name der Variablen, mit der die JavaBean in den Seitenbereich gestellt wird, sollte mit dem identisch sein, mit dem sie in der Geschäfts-JSP instanziert wurde. Dies ist für alle Arten von Katalogobjekten erforderlich.

Nehmen Sie diese JSP statisch in die vorhandene JSP auf, die zur Anzeige des Katalogobjekts verwendet wird.

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

Verwendung dieser JavaBean in der JSP sicherstellen

1) Bei Verwendung von JSTL: Keine Änderung erforderlich

2) Bei Verwendung des üblichen JSP-Codes muss eine Aktion ähnlich der im folgenden Codefragment gezeigten Aktion ausgeführt werden:

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");
}

Bedingtes Unterdrücken von bestimmten Aktionen im Voranzeigemodus

Bei solchen Szenarios muss überprüft werden, ob für PreviewBeanId ein Wert gesetzt wurde. Ist dies der Fall, soll eine entsprechende Aktion ausgeführt werden, beispielsweise das Anzeigen einer Nachricht, dass die Aktion inaktiviert ist, wie im folgenden Codefragment gezeigt:

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

Konfigurationsschritte für die Voranzeige:

Füllen Sie die unten gezeigten, entsprechenden Einträge in der Datei WPCWCproperties.properties aus. Hierbei handelt es sich um Seiten, die zur Voranzeige verschiedener, in Product Center erstellter Katalogobjekte verwendet werden. Die Schlüssel sind eine Kombination von Geschäftskennung und Katalogobjektanzeige. (Im folgenden Beispiel lautet die Geschäftskennung "ConsumerDirect".)

######### CATALOG DISPLAY JSP's ###############
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


Product Center - Konfiguration

Verwenden Sie die folgenden Schritte, um Product Center für die WebSphere Commerce-Integration zu konfigurieren.

1. Erstellen Sie in der WPC-Umgebung ein Unternehmen mit dem Namen carmel, indem Sie den Befehl src/db/schema/cmp/create_cmp.sh --code=carmel ausführen.

2. Rufen Sie nun per FTP die ZIP-Datei commerce_carmelV1.0.zip von der unten angegebenen Position ab.

Server: <siehe Begleitinformationen>
Benutzername: <siehe Begleitinformationen>
Kennwort: <siehe Begleitinformationen>
Position: <siehe Begleitinformationen>

3. Extrahieren Sie die ZIP-Datei in ein lokales Verzeichnis. Diese ZIP-Datei enthält die folgenden Dateien:

4. Erstellen Sie die Attributsammlung WCSKUAttrValColl zunächst ohne Inhalt, um ein mit dem Import/Export-Tool vorliegendes Problem zu umgehen.

5. Importieren Sie die erste Datei COMMERCE_CARMELLKP.ZIP, und verwenden Sie anschließend die WPC-Importumgebungsfunktion, um die Datei COMMERCE_CARMELNONLKP.ZIP in das in Schritt 1 erstellte Unternehmen carmel zu importieren.

6. Fordern Sie vom Commerce-Team Hilfe an, um die Angaben zu den nachfolgend aufgeführten Referenztabellenfeldern für die Referenztabelle WCConfigLkpTbl auszufüllen. Lassen Sie die übrigen Werte in dieser Referenztabelle unverändert:

a. WC1_STORE_ID 

Die ID des Geschäfts, das publiziert werden soll.

b. WC1_MEMBER_ID 

Commerce-Mitglieds-ID.

c. WC1_MASTER_CATALOG_ID 

Die ID des Hauptkatalogs für das publizierte Geschäft.

d. WC1_LANGUAGE_ID 

Ist immer 1. Ändern Sie diesen Wert nicht.

e. WC1_ITEM_TYPE_ID 

Ändern Sie diesen Wert nicht.

f. WC1_ITEM_SPC_ID 

Ändern Sie diesen Wert nicht.

g. WC1_BASE_ITEM_ID 

Ändern Sie diesen Wert nicht.

h. WC1_FFMCENTER_ID 

Fordern Sie die Hilfe des Commerce-Teams an, um diesen Wert auszufüllen.

i. WC1_QUANTITY_ID 

Ändern Sie diesen Wert nicht.

j. WC1_TRADE_POSCN_ID 

Fordern Sie die Hilfe des Commerce-Teams an, um diesen Wert auszufüllen.

k. WC1_SALES_CATALOG_ID 

In der Commerce-Instanz muss ein Verkaufskatalog erstellt werden, und die ID dieses Katalogs muss hier angegeben werden. Fordern Sie dazu die Hilfe des Commerce-Teams an.

l. WC1_FTP_HOST_NAME 

Die IP der Maschine, auf der der E-Commerce-Server aktiv ist.

m. WC1_FTP_PORT 

FTP-Port. Dieser Wert ändert sich in der Regel nicht; dies ist von der Konfiguration des FTP-Servers auf der E-Commerce-Server-Maschine abhängig.

n. WC1_FTP_USER_ID 

Der FTP-Benutzername für den FTP-Server der E-Commerce-Server-Maschine. Fordern Sie zum Ausfüllen dieses Werts die Hilfe des Commerce-Teams an.

o. WC1_FTP_PASSWORD 

Das FTP-Kennwort für den FTP-Server der E-Commerce-Server-Maschine. Fordern Sie zum Ausfüllen dieses Werts die Hilfe des Commerce-Teams an.

p. WC1_FTP_PATH 

Der Pfad, von dem das Tool für Massenupload die per FTP übertragene Datei abruft. Fordern Sie zum Ausfüllen dieses Werts die Hilfe des Commerce-Teams an.

q. WC1_SALES_HIERARCHY_NAME 

Dieser Wert sollte nicht geändert werden. Dies ist die vordefinierte Verkaufshierarchie für den als Teil von Schritt k in Commerce erstellten Verkaufs-/Navigationskatalog.

r. WC1_SERVER_NAME 

Der Name des Servers, auf dem der E-Commerce-Server aktiv ist.

s. WC1_LAST_UPLOAD_TIME 

Lassen Sie diesen Wert beim ersten Mal leer, sodass das einleitende Laden gestartet wird. Danach wird dieser Schlüssel den Wert der Zeitmarke der letzten Ausführung haben. Ist dieser Wert leer, wird das einleitende Laden gestartet.

t. DEFAULT_LOCALE 

Dieses Attribut muss den Wert der Standardländereinstellung für die Integrationskomponente haben. Dieser Wert muss zum Zeitpunkt der Implementierung festgelegt werden und sollte zu einem späteren Zeitpunkt nicht mehr geändert werden. Diese Ländereinstellung muss außerdem Teil der Unternehmensattribute und Teil der Spezifikationen WCCatentryCtg und WCSKUCtg sein.

u. WC1_LOGON_CMD 

Dies muss die vollständig qualifizierte URL des neuen Commerce-Anmeldebefehls sein.

http://<name_des_servers_auf_dem_Commerce_installiert_ist>/webapp/wcs/stores/servlet/WPCWCLogOn?

v. WC1_LOGON_CMD_USER 

Der zu Sicherheitszwecken erstellte Benutzer (fordern Sie Hilfe vom Commerce-Team an).

w. WC1_LOGON_CMD_USER_PASSWORD 

Kennwort für den in Schritt v erstellten Benutzer.

7. Die Referenztabelle "WCCurrencyLkpTbl" muss mit den in Commerce unterstützten Währungen gefüllt werden, wobei der genaue dreibuchstabige Wert für die einzelnen Währungen jeweils für Schlüssel und Wert angegeben werden muss. Beispiel: EUR als Schlüssel und EUR als Wert. Fordern Sie die Hilfe des Commerce-Teams an, um eine Liste der in der entsprechenden Commerce-Version unterstützten Währungen zu erhalten.

8. Führen Sie zum Ausführen des einleitenden Ladens bzw. des Deltauploads den Product Center-Bericht DataExportToCommerce aus. Je nach dem Wert des oben genannten Felds wird entweder ein einleitendes Laden oder ein Deltaladeprozess ausgeführt.

9. Stellen Sie sicher, dass die IP des E-Commerce-Servers als Teil der Datei /etc/hosts auf der Maschine zur Verfügung steht, auf der Product Center installiert ist.

10. Auf Grund eines Programmfehlers im Import/Export-Tool muss die Attributsammlung für die Hierarchie WCPdtHier (WCPdtHierAttrColl) manuell festgelegt werden.

11. Stellen Sie sicher, dass der Wert für Locale für Anzeige der Element- und Kategoriedaten unter Home > Meine Einstellungen auf die richtige Ländereinstellung gesetzt ist, sodass der Benutzer den Inhalt im Voranzeigefenster in derselben Ländereinstellung sehen kann, die er erwartet.

12. Stellen Sie sicher, dass das WCCatentryCtg-Verknüpfungsattribut catentry auf der Attributseite korrekt mit dem WCSKUCtg-Attribut catentry_id verknüpft ist, da dieses Verknüpfungsattribut auf Grund eines Import/Exportprogrammfehlers nicht gesetzt wird.

13. Hängen Sie das Verzeichnis public_html an.

14. Stellen Sie sicher, dass die Katalogattribute die Einträge für identifier (Kennung) und name (Name) mit den Werten Master und MyMasterCatalog enthalten.

Schritte zum Hinzufügen einer Verkaufshierarchie

1. Erstellen Sie in Commerce einen Verkaufskatalog.

2. Erstellen Sie einen Kategoriebaum mit der Spezifikation WCCgrySalesHSpec.

3. Ordnen Sie dies dem Katalog WCCatentryCtg als Sekundärhierarchie zu.

4. Erstellen Sie einen neuen Eintrag in der Referenztabelle SalesLookupTable.

5. Erstellen Sie in der Referenztabelle Last Sequence Register einen neuen Eintrag.

6. Kopieren Sie den Inhalt des Scripts für die Eintragsvoranzeige zum Kopieren von Elementen oder Kategorien aus Datenmodellmanager -> Scripterstellung -> Scriptkonsole -> Script für Eintragsvoranzeige. Erstellen Sie anschließend ein neues Script für die Eintragsvoranzeige. Dessen Name wird gebildet aus dem Namen des aktuellen Verkaufskategoriebaums, an den der Inhalt des Felds für das Kopieren von Elementen oder Kategorien angehängt wird, sodass er eindeutig ist.

7. Kopieren Sie den Inhalt der Ereignisse "post save" und "post process" für WCSalesHr, und fügen Sie diesen Inhalt auch für die neu erstellte Verkaufskategorie ein.

 

Kapitel 4 - Geschäftsprozesse

Die erste Katalogzuführung zu Commerce wird als vollständiger Export betrachtet, und danach werden als Teil der Deltazuführung nur noch die Objekte in Commerce exportiert, die in Product Center entweder geändert oder gelöscht wurden.

Product Center generiert die XML gemäß der von Commerce definierten DTD (WCS.dtd). Beim Deltaprozess wird zuerst XML gelöscht und anschließend aktualisiert, um Inkonsistenzen in den Objektstatus zu entfernen.

Vollständiger Export 

Deltaexport – Löschen

Deltaexport – Aktualisieren

Anhang A - Datenmodellreferenz

Commerce-Objekte

Das Hauptziel der Integration ist die gemeinsame Nutzung der in Product Center verfügbaren Daten. Das zu diesem Zweck von Product Center erstellte XML-Datenmodell ist das Massenuploaddokument, das eine diekte Darstellung verschiedener Tabellen in Commerce ist. Daher ist es hilfreich, wenn Sie Kenntnisse über die internen Commerce-Objekte und darüber haben, in welcher Tabelle ein Objekt gespeichert wird und welche Tabellen die Abhängigkeiten zwischen verschiedenen Commerce-Objekten enthalten.

 

Geschäft (Store) 

 Dieses Objekt kann als Hauptcontainer betrachtet werden, unter dem alle Daten in Wechselbeziehung zueinander zur Verfügung stehen. Es können mehrere Geschäfte in derselben Commerce-Anwendung vorhanden sein, und dieselben Informationen können in mehreren Geschäften zur Verfügung stehen. Die gesamten Geschäftsinformationen werden in den Commerce-Tabellen store und storeent gespeichert.

Katalog (Catalog) 

 Diese Kataloge haben Ähnlichkeit mit Product Center-Katalogen. Diese Kataloge werden mindestens einem Geschäft zugeordnet. Die katalogspezifischen Informationen werden in zwei verschiedenen Tabellen gespeichert (catalog / catalogddsc). Die Abhängigkeiten zwischen Katalog und Geschäft werden in storecat gespeichert. 

Kategorie (Category) 

 Diese Kategorien haben Ähnlichkeit mit Product Center-Kategorien. Diese Kategorien gehören unter Kataloge. Die kategoriespezifischen Informationen werden in zwei Tabellen gespeichert (catgroup / catgrpdesc). Die Abhängigkeiten zwischen verschiedenen Kategorien werden in der Tabelle catgrprel gespeichert. Die Abhängigkeiten zwischen Kategorie und Katalog werden in der Tabelle cattogrp gespeichert, und die Abhängigkeiten zwischen Kategorie und Geschäft werden in der Tabelle storecgrp gespeichert.

Produkt (Product) 

 Diese Produkte werden unter Kategorien zugeordnet. Alle produktspezifischen Informationen werden in drei verschiedenen Tabellen gespeichert (baseitem / catentry / catentdesc). Die Objekte Produkt, Bundle, Statischer Kit, Dynamischer Kit und Artikel werden in derselben Tabellengruppe (catentry / catentdesc) gespeichert. Wenn das Feld catenttype_id der Tabelle catentry den Wert productBean hat, handelt es sich bei dem aktuellen Objekt um ein Produkt. Die zu Produkt, Statischer Kit und Dynamischer Kit gehörenden Informationen werden in einer weiteren Tabelle (baseitem) gespeichert. Wenn das Feld itemtype_id dieser Tabelle den Wert ITEM hat, handelt es sich bei dem aktuellen Objekt um ein Produkt. Die Abhängigkeiten zwischen Geschäft und Produkt werden in der Tabelle storecent gespeichert. Die Abhängigkeiten zwischen Kategorie und Produkt werden in der Tabelle catgpenrel gespeichert.

Attribute (Attributes) 

 Diese Attribute werden einem Produkt zugeordnet, und die attributspezifischen Informationen werden einschließlich der Abhängigkeiten zwischen Attribut und Produkt im Tabellenattribut gespeichert.  

Artikel (Item) 

 Diese Artikel haben Ähnlichkeit mit Product Center-Artikeln. Artikel werden unter Produkten zugeordnet. Die artikelspezifischen Informationen werden in zwei Tabellen gespeichert (catentry / catentdesc). Artikel und Produkt werden in derselben Tabelle gespeichert. Das Feld catenttype_id bietet die Möglichkeit, zwischen Produkt und Artikel zu unterscheiden; der Artikelwert für catenttype_id lautet itemBean. Ähnlich wie Produkte werden auch Artikel bestimmten Geschäften zugeordnet, und diese Informationen werden an derselben Position gespeichert wie die Tabelle storecent für Produkte. Die Tabelle catentrel verwaltet die Abhängigkeiten zwischen Produkt und Artikel.  

Attributwerte (Attributes Values) 

 Diese Attributwerte werden unter Artikeln zugeordnet und enthalten den Wert für die Attribute, die dem Produkt zugeordnet sind, dem wiederum diese Artikel jeweils zugeordnet sind. Attributwertspezifische Informationen werden zusammen mit den Abhängigkeiten zwischen Artikel und Attribut in der Tabelle attrvalue gespeichert.

Bündel (Bundles) 

 Ein Bündel ist ein Gruppierungsobjekt, das aus verschiedenen Gruppen von Objekten des Typs Artikel, Produkt, Statischer Kit oder Dynamischer Kit gebildet werden kann. Dieses Bündel wird in zwei Tabellen gespeichert (catentry / catentdesc). Das Feld catenttype_id für dieses Objekt hat den Wert BundleBean.

Statischer Kit (Static kit) 

 Ähnlich wie Bündel, mit der Ausnahme, dass die Zuordnung von Bündeln im Gegensatz zur Zuordnung von Statischen Kits aufgehoben werden kann und dass Statische Kits nur Artikelnummern enthalten können. Das Feld catenttype_id für Statische Kits hat den Wert StaticBean. Außer in den Tabellen catentry und catentdesc werden Teile der für Statische Kits spezifischen Informationen auch in der Tabelle baseitem gespeichert. Wenn in dieser Tabelle das Feld itemtype_id den Wert STKT hat, handelt es sich bei dem aktuellen Objekt um einen Statischen Kit.

Dynamischer Kit (Dynamic Kit) 

 Ähnlich wie Statischer Kit, mit dem wesentlichen Unterschied, dass dieses Objekt die URL des Produktkonfigurationsprogramms enthalten kann, unter der die Artikelinformationen lokal verfügbar sind, und dass es vom Produktkonfigurationsprogramm unter der angegebenen URL aufgelöst wird. Außer in den Tabellen catentry und catentdesc werden Teile der für Dynamische Kits spezifischen Informationen auch in der Tabelle baseitem gespeichert. Wenn in dieser Tabelle das Feld itemtype_id den Wert DNKT hat, handelt es sich bei dem aktuellen Objekt um einen Dynamischen Kit. In der Tabelle catentry hat das Feld catentrytype_id für dieses Objekt den Wert DynamicKitBean.

Zu Commerce gehörende Product Center-Objekte

Alle zu Commerce gehörenden Product Center-Objekte haben das Präfix WC, sodass es nicht zu Konflikten mit anderen Objekten kommen kann.

In der folgenden Tabelle wird die obige Tabelle zusammengefasst. Im an die Tabelle anschließenden Abschnitt finden Sie Informationen zu den anwendbaren Prüfungen.

Objekt / Funktion

Product Center-Darstellung Commerce-Darstellung

Geschäft (Store)

Die folgenden Werte werden als Schlüsselwertpaare in der Referenztabelle von Product Center gespeichert.
  • store_id
  • member_id
  • ffmcenter_id
  • allocationgoodfor – falls 1 ATP aktiviert, da ATP Product Center einige weitere statische Werte laden muss; wird andernfalls nicht benötigt.
  • identifier
  • tradeposcn_id
Zum Geschäft gehörende Informationen werden in den Tabellen STORE und STOREENT gespeichert. Jedes Geschäft ist einem Hauptkatalog und mehreren Verkaufskatalogen zugeordnet.

Katalog (Catalog)

Der Hauptkatalog wird in Product Center als 2 Kataloge und 2 Hierarchien dargestellt.

1. Katalog für Katalogeinträge (catentry)
2. Artikelnummerkatalog
3. Produkthierarchie
4. Produktartikelnummerhierarchie

Alle katalogspezifischen Attribute werden als Teil der Katalogattribute in Product Center gespeichert. Für Commerce-spezifische Attribute wird die Funktion für angepasste Katalogattributdefinitionen verwendet, in der ein Schlüssel und ein entsprechender Wert für Katalogattribute angegeben werden kann. Zur Hierarchie gehörende Attribute werden auf die gleiche Weise gespeichert. Im Katalog catentry können die WC-Objekte Produkt, Bündel, Statischer Kit und Dynamischer Kit dargestellt werden.

Alle katalogspezifischen Daten werden in den Tabellen catalog, catalogdsc und storecat gespeichert. Andere Objekte, die dem Hauptkatalog zugeordnet sein können, sind Kategorie, Produkt, Artikel, Bündel, Statischer Kit und Dynamischer Kit. Diese Informationen werden in den folgenden Tabellen gespeichert:

1. catgroup

2. catgrpdesc

3. cattogrp

4. storecgrp

5. catgrprel

6. baseitem

7. catentry

8. catentdesc

9. catgpenrel

10. catentrel

11. attribute

12. attrvalue

Kategorie (Category)

Ähnlich der Product Center-Kategorie. Die kategoriespezifischen Informationen werden in der Produkthierarchie gespeichert. In der Produktartikelnummerhierarchie wird sichergestellt, dass der Benutzer keine Kategorie unter der Produktkategorie erstellen kann und dass keine Artikel unter einer anderen Kategorie als der Blattkategorie erstellt werden kann, die ihrerseits ein Produkt ist. Alle kategoriespezifischen Informationen werden in den folgenden Tabellen gespeichert:

1. catgroup

2. catgrpdesc

3. cattogrp

4. storecgrp

5. catgrprel

Produkt (Product)

Das Objekt Produkt hat sowohl eigene Attribute als auch jeweils produktspezifisch definierte Attributgruppen, deren Werte auf Artikelebene festgelegt werden. Da es dafür keine direkte Darstellung in Product Center gibt, wird das Produkt im Katalog catentry definiert. Dabei gibt der Benutzer für das Feld catentrytype_id den Wert Product (Produkt) an. Bei der Ausführung des Scripts 'post save' für diesen Katalog wird in der Produktartikelnummerhierarchie eine Kategorie erstellt, und die für dieses Produkt im Katalog catentry definierten Attribute werden als Sekundärspezifikation erstellt und der in der Produktartikelnummerhierarchie neu erstellten Kategorie als Artikelkategoriespezifikation zugeordnet. Außerdem wird ein Abhängigkeitsattribut in dieser Hierarchiespezifikation dem entsprechenden Artikel im Katalog catentry zugeordnet. Der Benutzer muss diese Produktkategorie nicht separat hinzufügen. Beim Erstellen des Produkts im Katalog catentry wird diese Kategorie automatisch erstellt, und es können sofort Artikel hinzugefügt werden. Produkte können keinen Wert für Abhängigkeitsattribute haben; falls der Benutzer solche Werte eingegeben hat, wird ein Gültigkeitsfehler ausgegeben.
Die Produktinformationen werden in den Tabellen baseitem, catentry und cateentrydesc gespeichert. Produkte werden in der Tabelle baseitem im Feld itemtype_id mit dem Wert ITEM gekennzeichnet und in der Tabelle catentry im Feld catenttype_id mit dem Wert ProductBean.

Artikelnummer (SKU)

Alle artikelnummerspezifischen Informationen werden im Artikelnummerkatalog gespeichert. Dieser Katalog ist der Produktartikelnummerhierarchie zugeordnet, in der sich alle Produkte in der Blattkategorie befinden, in der ihre Attribute als Artikelkategoriespezifikationen im Script 'post save' des Katalogs catentry zugeordnet sind. Während die Artikelnummer hinzugefügt wird, wird sie mit den entsprechenden Attributwerten aus dem verknüpften Produkt vorab aufgefüllt. Der Benutzer kann nach Bedarf Änderungen vornehmen und die Artikelnummer speichern. Alle artikelnummerspezifischen Informationen werden in den Tabellen catentry und cateentrydesc gespeichert. Wenn das Feld catenttype_id in der Tabelle catentry den Wert ItemBean hat, handelt es sich bei dem aktuellen Eintrag um eine Artikelnummer.

Bündel (Bundle)

Wenn das Feld catenttype_id im Katalog catentry den Wert Bundle (Bündel) hat, handelt es sich bei dem Commerce-Objekt um ein Bündel. Diese Spezifikation hat ein Verknüpfungsattribut, das ein dem Artikelnummerkatalog zugeordnetes Attribut für mehrere Vorkommen ist. Dieses Objekt wird zur Gruppierung von verschiedenen Artikelnummern aus dem Artikelnummerkatalog verwendet. Diese Bündel können beschreibende Attribute aber keine definierten Attribute haben. Alle bündelspezifischen Informationen werden in den Tabellen catentry und cateentrydesc gespeichert. Wenn das Feld catenttype_id in der Tabelle catentry den Wert BundleBean hat, handelt es sich bei dem aktuellen Eintrag um ein Bündel.

Statischer Kit (Static kit)

Der Katalog catentry stellt das Commerce-Objekt Statischer Kit dar. Das Feld catentrytype_id muss dazu den Wert StaticKit haben. Dieser Katalog wird der Produkthierarchie zugeordnet. Die aktuelle Spezifikation hat ein Verknüpfungsattribut, das ein dem Artikelnummerkatalog zugeordnetes Attribut für mehrere Vorkommen ist.  
Alle für Statische Kits spezifischen Informationen werden in den Tabellen baseitem, catentry und cateentrydesc gespeichert. Wenn das Feld catenttype_id in der Tabelle catentry den Wert StaticBean hat, handelt es sich bei dem aktuellen Eintrag um ein Bündel. Wenn das Feld itemtype_id in der Tabelle baseitem den Wert STKT hat, stellt das aktuelle Objekt einen Statischen Kit dar.

Dynamischer Kit (Dynamic Kit)

Der Katalog catentry stellt das Commerce-Objekt Dynamischer Kit dar. Das Feld catentrytype_id muss dazu den Wert DynamicKit haben. Dieser Katalog wird der Produkthierarchie zugeordnet. Die aktuelle Katalogspezifikation hat ein Verknüpfungsattribut, das ein dem Artikelnummerkatalog zugeordnetes Attribut für mehrere Vorkommen ist. Neben diesem Attribut wird ein weiteres Attribut für mehrere Vorkommen des Typs URL verwendet, um die URL des Produktkonfigurationsprogramms darzustellen. Alle für Dynamische Kits spezifischen Informationen werden in den Tabellen baseitem, catentry und cateentrydesc gespeichert. Neben den Tabellen catentry und catentdesc wird ein Teil der Informationen für den statischen Kit auch in der Tabelle baseitem gespeichert. Wenn das Feld itemtype_id den Wert DNKT aufweist, ist das aktuelle Objekt ein dynamischer Kit.

ATP

Wenn das Feld ALLOCATIONGOODFOR in der Tabelle store den Wert 1 hat, ist diese Funktion aktiviert. Für die Darstellung dieser Funktion in Product Center ist weder Verarbeitung noch ein Benutzereintrag erforderlich. Zum Erstellen von XML-Snippets, mit denen die entsprechenden Tabellen in Commerce gefüllt werden, werden vom Commerce-Team bereitgestellte, vordefinierte statische Werte verwendet.  
Zur Darstellung von ATP werden in Commerce die folgenden Tabellen verwendet: feature1, itemversn2, distarrang3, storeitem4, storeitmffc5, inventory6, itemspc7, versionspc8, itemffmctr

Vermarktung (Merchandising)

Dieses Objekt wird mit vermarktungsspezifischen Attributen implementiert, die in der aktuellen Spezifikation des Katalogs catentry definiert werden. Es sind zwei wichtige Vermarktungsattribute vorhanden, die die Werte X-SELL,UPSELL, ACCESSORY bzw. REPLACEMENT haben können, sowie ein Abhängigkeitsattribut, bei dem der Benutzer den Katalog catentry oder den Artikelnummerkatalog auswählen und die entsprechenden WC-Objekte zuordnen kann.  Die folgenden Tabellen sind in Commerce der Vermarktung zugeordnet: Commerce1, massoctype2, massoc3, massoccece

Verkäufe (Sales)

Dieses Objekt wird durch eine Hierarchie dargestellt, die verschiedene Kategorien enthält, die entweder direkt vom Benutzer erstellt werden oder für die der Benutzer alternativ dieselbe Gruppe von Kategorien einschließlich der untergeordneten Kategorien auswählen kann, die in der Produkthierarchie vorhanden sind. Dieses Objekt kann nur kategoriebezogene Informationen enthalten. Zur Unterscheidung der Verkaufshierarchie von anderen Kategorien dient das Hierarchieattribut HIERARCHY_TYPE, das den Wert SALES hat.

Informationen zu Produkt, Artikelnummer, Bündel, Statischem Kit und Dynamischem Kit können nicht als Teil der Verkaufshierarchie dargestellt werden. Die Anzahl der Verkaufshierarchien ist nicht begrenzt und richtet sich nach den Erfordernissen des Benutzers. Wenn ein Benutzer die Kategorien nicht selbst erstellt, kann er nach Wunsch die Struktur aus dem Hauptkatalog oder aus anderen Verkaufskatalogen kopieren. Dazu wurde allen Verkaufshierarchien ein Script für Eintragsvoranzeige hinzugefügt, sodass ein Benutzer aus anderen Verkaufskatalogen oder dem Hauptkatalog unter der aktuellen Kategorie eine Struktur zum Kopieren auswählen kann.

Es wird ein normaler Katalog erstellt, und das Feld mastercatalog in der Tabelle storecat wird auf 0 gesetzt.

Artikelvoranzeige (Item preview)

Für dieses Objekt wird das Script für Eintragsvoranzeige verwendet. Beim Auswählen des Objekts wird in Commerce eine URL mit allen erforderlichen Artikelinformationen aufgerufen. Diese Artikelinformationen sind ihrerseits eine XML für Massenupload für den aktuellen Eintrag, bei dem es sich um eine Kategorie, ein Produkt, ein Bündel, einen Statischen Kit oder einen Dynamischen Kit handeln kann. Außer dem Aufruf der URL des WC wird auch der Typ des WC-Objekts übergeben.  

Hinzufügen (Add)

Bei jeder Hinzufügeoperation werden sowohl Images als auch Attribute hinzugefügt. Während des Exports werden die Attributinformationen als Teil der XML-Struktur für Massenupload übertragen, und die Images werden komprimiert und zusammen mit dem XML-Dokument für Massenupload gesendet.  

Ändern (Modify)

Ähnlich wie Hinzufügen. Bei jeder Änderung an einem Attribut müssen jeweils alle Attribute zusammen gesendet werden; es werden keine Teilinformationen übertragen.  

Löschen (Delete)

Wenn in Product Center ein Löschvorgang durchgeführt wird, wird das Feld markfordelete in den Commerce-Tabellen festgelegt, was wiederum in den zugehörigen Commerce-Tabellen eine Aktualisierungsaktion auslöst. Außerdem wird eine Befehls-URL in WebSphere Commerce aufgerufen, wobei der betreffende Befehl weitere Aktionen ausführen kann. Ein Beispiel hierfür sind SQL-Befehle, die ausgeführt werden müssen, um die betreffende Aktion abzuschließen.  

Lokalisierung (Localization)

Alle Attribute, die über das Feld language_id verfügen, werden in Product Center als lokalisierte Attribute definiert. Der Benutzer kann in den Product Center-Einstellungen alle gewünschten Ländereinstellungen aktivieren. Unter Verwendung des Felds language_id in verschiedenen Tabellen unterstützte Ländereinstellungen. Derzeit unterstützt Commerce die Ländereinstellungen en_US, ja_JP, fr_FR, de_DE, it_IT, es_ES, pt_BR, zh_CN, zh_TW, ko_KR.

Währung (Currency)

Der Benutzer kann in den Product Center-Einstellungen alle Währungen nach Wunsch ändern. Derzeit unterstützt Commerce die folgenden Währungen: BRL, CNY, EUR, JPY, KRW, TWD, USD

Beim Speichern des Artikels im Katalog catentry werden als Teil des Scripts 'post processing' die folgenden grundlegenden Prüfungen ausgeführt. 

Commerce-Tabellendefinitionen werden direkt in XML-Tags umgewandelt, die als Elementnamen den Tabellennamen und als Elementattribute verschiedene Tabellenfelder definiert haben. In diese Tabellenfelder müssen Attributwerte eingegeben werden. Dabei wird dem Primärschlüssel das Symbol @ vorangestellt, sodass Primärschlüssel zunächst mit der Commerce-Regel zur Generierung von Primärschlüsseln erneut generiert werden, bevor diese Werte in Commerce-Tabellen gespeichert werden.  

Während der Implementierung können ein oder mehrere Erweiterungen dieser Tabelle sowie einige zusätzliche Felder hinzugefügt werden. In diesem Fall enthält die Erweiterungstabelle die Verknüpfung zum entsprechenden Datensatz in der erweiterten Tabelle in Form eines Fremdschlüssels.  

Die Datenübertragung zwischen Product Center und Commerce erfolgt in Form von XML-Dokumenten. Diese generierten Dokumente werden an einer gemeinsamen Position abgelegt, die sowohl für Product Center als auch für Commerce bekannt ist. Commerce ruft sie dann von dieser Position ab und verarbeitet sie.  

Hinweis: Die Fehlerbehandlung wird als Teil dieses Datenaustauschs manuell ausgeführt. Die Kommunikation findet nicht von Commerce zu Product Center, sondern ausschließlich von Product Center zu Commerce statt.

Das von Product Center generierte XML-Dokument MUSS mit dieser DTD kompatibel sein. Das entsprechend dieser DTD generierte XML-Dokument ist eine direkte Darstellung des Commerce-Datenmodells auf Schemaebene.  

Für die Artikelvoranzeigefunktion von Product Center in Commerce wird in Product Center die Verwendung Menüs für die Artikelvoranzeige der angepassten Tools hinzugefügt. Der Benutzer kann diesen Menüpunkt nach Bedarf auswählen. Die Artikelinformationen, die in der von Commerce für diese Artikelvoranzeigefunktion bereitgestellten statischen Seite angezeigt werden können, werden über die Methode HTTP POST übergeben. Dieselben Informationen werden auf Commerce-Seite syntaktisch analysiert und an der entsprechenden Stelle auf der statischen Commerce-Seite angezeigt. Die Darstellung der statischen Seite, die Positionen, zu denen der Benutzer von dieser Seite aus navigieren kann und die Benutzersteuerung auf dieser Seite werden vom Commerce-Team bestimmt.

Dem Product Center-Team müssen eine URL, an die es einen HTTP Post-Aufruf richten kann, sowie die erforderlichen Daten bereitgestellt werden, die in der statischen Seite angezeigt werden sollen.

Bemerkungen

Möglicherweise bietet IBM die in dieser Dokumentation beschriebenen Produkte, Services oder Funktionen in anderen Ländern nicht an. Informationen über die gegenwärtig im jeweiligen Land verfügbaren Produkte und Services sind beim IBM Ansprechpartner erhältlich. Hinweise auf IBM Lizenzprogramme oder andere IBM Produkte bedeuten nicht, dass nur Programme, Produkte oder Services von IBM verwendet werden können. Anstelle der IBM Produkte, Programme oder Services können auch andere ihnen äquivalente Produkte, Programme oder Services verwendet werden, solange diese keine gewerblichen oder anderen Schutzrechte der IBM verletzen. Die Verantwortung für den Betrieb von Fremdprodukten, Fremdprogrammen und Fremdservices liegt beim Kunden.

Für in diesem Handbuch beschriebene Erzeugnisse und Verfahren kann es IBM Patente oder Patentanmeldungen geben. Mit der Auslieferung dieses Handbuchs ist keine Lizenzierung dieser Patente verbunden. Lizenzanforderungen sind schriftlich an folgende Adresse zu richten (Anfragen an diese Adresse müssen auf Englisch formuliert werden):

IBM Europe
Director of Licensing
92066 Paris La Defense Cedex
France

Trotz sorgfältiger Bearbeitung können technische Ungenauigkeiten oder Druckfehler in dieser Veröffentlichung nicht ausgeschlossen werden. Die Angaben in diesem Handbuch werden in regelmäßigen Zeitabständen aktualisiert. Die Änderungen werden in Überarbeitungen oder in Technical News Letters (TNLs) bekannt gegeben. IBM kann ohne weitere Mitteilung jederzeit Verbesserungen und/oder Änderungen an den in dieser Veröffentlichung beschriebenen Produkten und/oder Programmen vornehmen.

Verweise in diesen Informationen auf Websites anderer Anbieter dienen lediglich als Benutzerinformationen und stellen keinerlei Billigung des Inhalts dieser Websites dar. Das über diese Websites verfügbare Material ist nicht Bestandteil des Materials für dieses IBM Produkt. Die Verwendung dieser Websites geschieht auf eigene Verantwortung.

Werden an IBM Informationen eingesandt, können diese beliebig verwendet werden, ohne dass eine Verpflichtung gegenüber dem Einsender entsteht.

Lizenznehmer des Programms, die Informationen zu diesem Produkt wünschen mit der Zielsetzung: (i) den Austausch von Informationen zwischen unabhängigen, erstellten Programmen und anderen Programmen (einschließlich des vorliegenden Programms) sowie (ii) die gemeinsame Nutzung der ausgetauschten Informationen zu ermöglichen, wenden sich an folgende Adresse:

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

Die Bereitstellung dieser Informationen kann unter Umständen von bestimmten Bedingungen - in einigen Fällen auch von der Zahlung einer Gebühr - abhängig sein.

Die Lieferung des im Handbuch aufgeführten Lizenzprogramms sowie des zugehörigen Lizenzmaterials erfolgt im Rahmen der ICA-Lizenzbedingungen (IBM Customer Agreement), der Internationalen Nutzungsbedingungen der IBM für Programmpakete (IPLA) oder einer äquivalenten Vereinbarung.

Alle in diesem Dokument enthaltenen Leistungsdaten stammen aus einer gesteuerten Umgebung. Die Ergebnisse, die in anderen Betriebsumgebungen erzielt werden, können daher erheblich von den hier erzielten Ergebnissen abweichen. Einige Daten stammen möglicherweise von Systemen, deren Entwicklung noch nicht abgeschlossen ist. Eine Gewährleistung, dass diese Daten auch in allgemein verfügbaren Systemen erzielt werden, kann nicht gegeben werden. Darüber hinaus wurden einige Daten unter Umständen durch Extrapolation berechnet. Die tatsächlichen Ergebnisse können abweichen. Benutzer dieses Dokuments sollten die entsprechenden Daten in ihrer spezifischen Umgebung prüfen.

Alle Informationen zu Produkten anderer Anbieter stammen von den Anbietern der aufgeführten Produkte, deren veröffentlichten Ankündigungen oder anderen allgemein verfügbaren Quellen. IBM hat diese Produkte nicht getestet und kann daher keine Aussagen zu Leistung, Kompatibilität oder anderen Merkmalen machen. Fragen zu den Leistungsmerkmalen von Produkten anderer Anbieter sind an den jeweiligen Anbieter zu richten.

Diese Veröffentlichung enthält Beispiele für Daten und Berichte des alltäglichen Geschäftsablaufes. Sie sollen nur die Funktionen des Lizenzprogrammes illustrieren; sie können Namen von Personen, Firmen, Marken oder Produkten enthalten. Alle diese Namen sind frei erfunden; Ähnlichkeiten mit tatsächlichen Namen und Adressen sind rein zufällig.

Die oben genannten Erklärungen bezüglich der Produktstrategien und Absichtserklärungen von IBM stellen die gegenwärtige Absicht der IBM dar, unterliegen Änderungen oder können zurückgenommen werden, und repräsentieren nur die Ziele der IBM.

Programmierschnittstelleninformationen

Falls Informationen zu Programmierschnittstellen zur Verfügung gestellt wurden, sollen Ihnen diese bei der Erstellung von Anwendungssoftware mit diesem Programm behilflich sein.

Mit allgemeinen Programmierschnittstellen können Sie Anwendungssoftware schreiben, die auf die Services der Tools dieses Programms zurückgreift.

Diese Informationen können jedoch auch Diagnose-, Änderungs- und Optimierungsinformationen zur Verfügung stellen. Diagnose-, Änderungs- und Optimierungsinformationen sind enthalten, damit Sie Fehler in Ihrer Anwendungssoftware beheben können.

Warnung: Verwenden Sie diese Diagnose-, Änderungs- und Optimierungsinformationen nicht als Programmierschnittstelle, da sie geändert werden können.

Marken

Folgende Namen sind in gewissen Ländern (oder Regionen) Marken oder eingetragene Marken der International Business Machines Corporation:

IBM
Das IBM Logo
AIX
CrossWorlds
DB2
DB2 Universal Database
Domino
Lotus
Lotus Notes
MQIntegrator
MQSeries
Tivoli
WebSphere

Microsoft, Windows, Windows NT und das Windows-Logo sind in gewissen Ländern Marken der Microsoft Corporation.

MMX, Pentium und ProShare sind in gewissen Ländern Marken oder eingetragene Marken der Intel Corporation.

Java und alle Java-basierten Marken sind in gewissen Ländern Marken von Sun Microsystems, Inc.

Andere Namen von Unternehmen, Produkten oder Services können Marken oder Servicemarken anderer Unternehmen sein.


IBM WebSphere Product Center enthält bestimmte "Ausgeschlossene Komponenten" (gemäß der Definition in der entsprechenden Lizenzinformation), für die zusätzlich die folgenden Bedingungen gelten. Diese Software wird auf Basis der Internationalen Nutzungsbedingungen für Programmpakete (IPLA) gemäß den entsprechenden Bedingungen zu "Ausgeschlossenen Komponenten" lizenziert. IBM ist verpflichtet, in Verbindung mit dieser Software die folgenden Hinweise zu geben:

i.) IBM WebSphere Product Center beinhaltet die folgende Software, die von IBM von der Apache Software Foundation auf Basis der Bedingungen der Apache 2.0-Lizenz lizenziert wurde:

- Apache Regular Expression v1.2
- Apache Axis v1.1
- Apache XML4J v3.0.1
- Apache Log4j v1.1.1
- Apache Jakarta Commons DBCP Package v1.1
- Apache Jakarta Commons Pool Package v1.1
- Apache Jakarta Commons Collections Package v3.0

Apache-Lizenz
Version 2.0, Januar 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 other 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 [yyyy] [name of copyright owner]

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 beinhaltet die folgende Software, die von IBM von Scott Hudson, Frank Flannery und C. Scott Ananian auf Basis der folgenden Bedingungen lizenziert wurde:

- Cup Parser Generator v0.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 beinhaltet die folgende Software, die von IBM von Elliot Joel Berk und C. Scott Ananian auf Basis der folgenden Bedingungen lizenziert wurde:

- JLex v1.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 beinhaltet die folgende Software, die von IBM von der International Business Machines Corporation und anderen auf Basis der folgenden Bedingungen lizenziert wurde:

- ICU4J v2.8

ICU-Lizenz - ICU 1.8.1 und höher
COPYRIGHT UND GENEHMIGUNGSNACHWEIS

Copyright (c) 1995-2003 International Business Machines Corporation und andere.
Alle Rechte vorbehalten.

Hiermit wird jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die "Software") erhält, die kostenlose Genehmigung erteilt, uneingeschränkt mit der Software zu handeln. Dazu gehört ohne Einschränkung das Recht, Kopien der Software zu nutzen, zu kopieren, zu ändern, zusammenzufügen, zu veröffentlichen, weiterzugeben und/oder zu verkaufen und den Personen, denen die Software zur Verfügung gestellt wird, das gleiche Recht einzuräumen, vorausgesetzt, dass der obige Copyrightvermerk (bzw. die Copyrightvermerke) und dieser Berechtigungshinweis auf allen Kopien der Software sowie der zugehörigen Dokumentation erscheinen.

DIE SOFTWARE WIRD OHNE WARTUNG (AUF "AS IS"-BASIS) UND OHNE GEWÄHRLEISTUNG (VERÖFFENTLICHT ODER STILLSCHWEIGEND) ZUR VERFÜGUNG GESTELLT, EINSCHLIESSLICH, ABER NICHT BEGRENZT AUF DIE IMPLIZIERTE GEWÄHRLEISTUNG FÜR DIE HANDELSÜBLICHKEIT, DIE VERWENDUNGSFÄHIGKEIT FÜR EINEN BESTIMMTEN ZWECK UND DIE FREIHEIT DER RECHTE DRITTER. UNTER KEINEN UMSTÄNDEN IST DER ODER SIND DIE HIER AUFGEFÜHRTEN COPYRIGHTINHABER HAFTBAR FÜR SPEZIELLE, UNMITTELBARE, MITTELBARE ODER FOLGESCHÄDEN ODER SCHÄDEN DURCH NUTZUNGSAUSFALL, DATENVERLUST, GEWINNEINBUSSEN. DIES GILT UNABHÄNGIG VON DER HAFTUNGSGRUNDLAGE, SEI SIE VERSCHULDENSABHÄNGIG ODER VERSCHULDENSUNABHÄNGIG, SOFERN SIE IN IRGENDEINER FORM AUF DIE NUTZUNG DER SOFTWARE ZURÜCKZUFÜHREN WÄRE.

Mit Ausnahme der Verwendung in diesem Hinweis darf der Name eines Copyrightinhabers ohne seine vorherige schriftliche Genehmigung nicht zu Werbezwecken, anderen Arten der Verkaufsförderung oder zur Nutzung in dieser Software verwendet werden.

-----------------------------------------------------------------------------
Alle an dieser Stelle genannten Marken und eingetragenen Marken sind das Eigentum der jeweiligen Rechtsinhaber.