WebSphere Product Center:WebSphere Commerce 整合
5.2 版
請注意! 在使用本資訊及其支援的產品前,請先閱讀本文件尾端的注意事項資訊。
2005 年 3 月 23 日
本文件的這個版本適用於 WebSphere Product Center 5.2 版 (5724-I68) 及所有後續版本和修訂,除非新版中另有指示。
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.
Commerce 整合提供一個基礎,讓客戶針對其「企業消費型商務 (B2B)」 和「 大眾消費型商務 (B2C)」電子商務網站的產品資訊,建立一個綜合性的高生產力編寫環境。經過大幅改進之後,WebSphere Product Center(此後稱為 Product Center)能夠為豐富而準確的產品資訊做好發行前的準備 工作,大大擴展電子商務價值的實作。
它與電子商務平台結合之後,能夠針對多重使用者需要跨功能採取不同商務流程的情形提供編寫工具。它也提供一些特性和功能,大幅簡化彙總、強化、管理和核准大量複雜產品資訊的工作。
所支援的商業程序包括:新產品簡介;建立交叉銷售、提昇銷售和促銷;產品生命終期;同步化 項目資訊;集體上傳項目及其屬性至網站;在除了電子商務網站以外的多重客戶觸點上同時發佈產品資訊。
Commerce Server 整合包括:
建立基本的 Product Center 資料模型,包含 Commerce 型錄 物件的表示法,例如種類、產品、產品群組、SKU 等型錄。
將完整的型錄資料及差異變更匯出到 Commerce 應用程式
在 Commerce 畫面上按一下預覽功能表選項,可以在 Product Center 中預覽項目,也可以在 Commerce 應用程式中瀏覽所有相關的商務型錄物件
WebSphere Product Center 5.2
整合 WebSphere Commerce 5.6 版與 DB2 II 8.2 版
針對 Commerce 與 Product Center 整合所開發的套件為 zip 檔 <WPC_WC_Int.zip>,其中包含下列檔案:
過濾檔
保存指令類別的 Jar 檔 <WPC_WC.jar>
ReadMe.txt
定義於 Product Center 中且已載入 Commerce 上的產品資料含有預設庫存。使用者必須使用 Commerce Suite Accelerator 才能變更它。
Product Center 與 Commerce 之間的資料交換是以 XML 文件為基礎。 Commerce 團隊應提供 DTD 作為其最新的集體上傳工具。 Product Center Script 用來建立可利用 Commerce DTD 驗證的 XML 文件,以及透過 FTP 將它 們傳送到一個預定的位置,Commerce 應用程式將會從中選擇文件並進行處理。在處理 XML 文件期間所發生的任何錯誤必須以手動 方式處理。
對 Commerce 而言,「第一個」型錄輸送視為「完整匯出」,而後續部分僅將 Product Center 中變更或刪除的物件匯出至 Commerce 作為差異輸送的一部分。
Product Center 會產生遵循 Commerce 所定義之 DTD (WCS.dtd) 的 XML。為移除物件狀 態的任何不一致,差異處理程序一定會先刪除 XML,再進行更新。
WebSphere Product Center 與 WebSphere Commerce 的整合可達成下列目標:
以資料模型呈現 Product Center 中的 Commerce 物件
將集體/差異資料上傳至 Commerce 應用程式
在 Commerce 商店頁面中預覽 Product Center 現有物件項目的功能
附註:如需資料模型參照的詳細資料,請參閱「附錄 A」。
下列物件包含於 Product Center 整合套件中:
WCCatentryCtg – Product Center 中的「主要型錄」
這個型錄代表 Commerce 中的主要型錄。此型錄與 WCPdtHier 階層相關聯, 該階層具有自訂的 post-process 和 post-save Script
此型錄與作為屬性型錄項目類型 PrimarySpec 的 WCCatentryPSpec 相關聯,此屬性型錄項目類型決定型錄項目的類型。 例如 Bundle/Product/StaticKit/DynamicKit
Commerce 中的「銷售型錄」以主要型錄的次要階層表示
WCSKUCtg – 屬於產品的 SKU
Commerce 資料模型具有產品內含的 SKU。亦即,產品的定義屬性組成 SKU。因為 Product Center 中 沒有這個物件的直接表示法,所以透過這個型錄來建立 SKU 與產品的關係
WCCatentryCtg(主要型錄)中定義的產品會儲存為這個型錄中的一個種類
這些定義屬性與 WCCatentyCtg 中所定義的對應值以次要規格附加至上述種類
WCSalesHr – 銷售型錄
Commerce 中的銷售型錄作為發佈季節性產品資訊以及優惠、折扣等等的工具
這是在 Product Center 中藉由將多個次要階層附加到 WCCatentryCtg(主要型錄)而完成的
從「主要型錄」複製項目或種類的功能是由 Copy Items 或 Category Entry Preview Script 提供
ActivityLog– 活動日誌型錄
活動日誌型錄是應用程式用於辨識完整和部分資料上傳的索引鍵 ID
在 Product Center 中建立的每一個物件,會在 post – save Script 的這個位置找到一個項目,並在這類物件變更時跟著更新
UpdateDateTime 屬性可識別建立/修改/刪除特定物件的時間。這個屬性與 WC1_LAST_UPLOAD_TIME 的查閱值相互比較,以判斷它是否為差異型錄輸送的一部分
有一些 Product Center Script 有助於以資料模型呈現 Product Center 中的 Commerce 物件。下列表格將說明這些 Script:
Script 名稱 | Script 類型 | 說明/功能 |
WCCatentry Post Processiong Script | 型錄 Script – 後置處理 |
執行基本資料模型驗證,如重複的產品編號、定義屬性相關驗證等等 |
CatentryCtg post save | WCSKUCtgPostSave |
檢查儲存的項目是否為產品,然後建立該產品作為 SKU 型錄中的某個種類,並且附加定義屬性作為次要規格 |
WCSKUCtgPostSave | WCSKUCtgPostSave |
在活動日誌型錄中建立項目 |
WCCatentryCtg Entry Preview Script | 項目預覽 |
對要求預覽的項目建置 XML,然後以 HTTP Post 上傳 XML 資料並呼叫 Commerce 預覽指令 |
WCSkuCtgEntryPreview | 項目預覽 |
同上,關於 SKU 的預覽 |
DataExportToCommerceScript | 報告 Script |
協助使用者對 Commerce 執行完整/差異型錄輸送的「報告」。這個 Script 與部分觸發 Script 一起建置 XML,方法是計算在差異情況下要從 ActivityLog 型錄匯出的項目數、 透過 FTP 將 XML 傳送到預先定義的目錄(說明於查閱表格中),然後呼叫 Commerce 指令。 |
WC-Export.Wc.XmlFormat | 觸發 Script |
ASP/JSP 就像這個 Script 一樣,都是建置 XML 的一個重要部分。所有 Commerce XML 節點 在這個 Script 中是描寫成從觸發 Script 呼叫的函數。 |
WC.Validation.Utility.Lib | 觸發 Script |
對物件執行基本驗證(如非空值、特殊字元過濾、唯一性驗證等等)的一種驗證觸發 Script |
WCExportUtil.wpcs | 觸發 Script |
在完整/差異匯出以及預覽時所呼叫的主要 Work Horse Script。用於處理所有商業邏輯以及建置 XML |
activityLogger.wpcs | 觸發 Script |
這個 Script 可處理所有活動日誌型錄相關的項目。 |
WC.utility.Lib | 觸發 Script |
具有一些公用程式功能,如變更項目的重複出現次數值、建立次要規格、刪除型錄項目的 SKU 關係等等 |
CopyItemsandCategory | 觸發 Script |
這個 Script 用於將項目或種類從主要型錄複製到銷售型錄。 |
Library Logger | 觸發 Script |
當日誌程式不是安全執行緒時,裝置用來註銷 events.Currently 日誌的日誌程式公用程式。 |
本章提供 Product Center 和 WebSphere Commerce 的配置。
已安裝 Commerce 伺服器
已順利建立 WebSphere Product Center 實例
已順利發佈需要定義的資料之 Commerce 商店
FTP 伺服器可以使用具備寫入權的共用資料夾來傾出 XML 載入檔案
將 command.xml、SQLLoad.dtd、SQLLoad.xml 以及 store.xml 檔複製到一個暫時資料夾。例如 C:\test
將 wpcwcpolicy.xml 和 wpcwcUserGroup.xml 檔複製到 <WC_installDir>\xml\policies\xml 目錄
將 "WCPWC.jar" 檔複製到 <WAS_installdir>\installedApps\<cell_name>\WC_<instance_name>.ear 目錄
將 WPCWCProperties.properties 內容檔複製到 <WAS_installdir>\installedApps\<cell_name>\WC_<instance_name>.ear\Stores.war\WEB-INF\classes 目錄
使用下列步驟在 WebSphere Commerce 中配置整合指令。
1) 將複製到 C:\test 目錄下的 SQLLoad.xml 檔載入資料庫中,方 法是在同一個視窗中先執行 idresolver 指令,接著執行 massloader 指令,如下所示:
idresgen -dbname <dbname> -dbuser <dbuser> -dbpwd <passwd> -infile C:\test\ SQLLoad.xml –outfile C:\test\ SQLLoadout.xml –method mixed
massload -dbname <dbname> -dbuser <dbuser> -dbpwd <passwd> -infile C:\test\ SQLLoadout.xml –method sqlimport
附註:在 SQLLoad.dtd 檔中,確定 wcs.dtd 的路徑已適當設定
比方說,如果 wcs.dtd 存在於 D:\WebSphere\CommerceServer56\schema\xml 目錄中,則路徑應該如下所示來指定:
<!ENTITY % wcs.dtd SYSTEM "D:\WebSphere\CommerceServer56\schema\xml\wcs.dtd">
2) 載入已複製到 <WC_installDir>\xml\policies\xml 目錄下的 wpcwcUserGroup.xml 檔。 做法是,開啟命令提示字元視窗,切換至 <WC_installDir>\bin 目錄,然後如下所示執行 acpload 指令:
acugload <database name> <database user> <password> wpcwcUserGroup.xml <schema name>
其中
dbname 是資料庫的名稱
dbuser 是連接資料庫的使用者名稱
dbpwd 是連接資料庫的使用者密碼
schemaname 是目標資料庫綱目的名稱
3) 載入已複製到 <WC_installDir>\xml\policies\xml 目錄下的 wpcwcpolicy.xml 檔。 做法是,開啟命令提示字元視窗,切換至 <WC_installDir>\bin 目錄,然後如下所示執行 acpload 指令:
acpload <dbname> <dbuser> <dbpwd> wpcwcpolicy.xml <schemaname>
其中
dbname 是資料庫的名稱
dbuser 是連接資料庫的使用者名稱
dbpwd 是連接資料庫的使用者密碼
schemaname 是目標資料庫綱目的名稱
4) 開啟存在於 <WAS_installdir>\installedApps\<cell_name>\WC_<instance_name>.ear\Stores.war\META-INF 目錄下的 MANIFEST.MF 檔,然後將 WPCWC.jar 檔新增至類別路徑尾端。
5) 開啟位於 <WAS_installdir>\installedApps\<cell_name>\WC_<instance_name>.ear\Stores.war\WEB-INF\classes 中的 WPCWCProperties.properties 檔,並對下列值做適當修改
dbname 是資料庫的名稱
dbuser 是連接資料庫的使用者名稱
dbpwd 是連接資料庫的使用者密碼
idresinfiledir 是 Product Center 將透過 FTP 傳送輸入檔的所在目錄例如:C:/WPC-WC/testing
massloadinfile 是 IdResolver 程序將會產生的輸出檔,該檔也會成為 massloader 程序的輸入檔
例如:C:/WPC-WC/testing/idresout.xml
schemaname 是目標資料庫綱目的名稱
customizer 是必須提供給其他資料庫(如 Oracle)的自訂程式檔。
例如:OracleConnectionCustomizer.propertiespropfilename 是 IdResolveKeys.properties 內容檔的路徑
例如:C:/WebSphere/CommerceServer56/properties/IdResolveKeys.properties
附註:
1. 將下列項目新增至 <WC_installDir>\properties 目錄中 IdResolveKeys.properties 檔的結尾。
ATTRIBUTE=@LANGUAGE_ID@NAME@FIELD1:LANGUAGE_ID NAME FIELD1
2. 請不要修改 mixedmethod、sqlmethod、deletemethod 及 optimize 的其他內容。
3. 確定 wcs.dtd 位於 idresinfiledir 所指定的目錄中。
本節說明如何將 WebSphere Commerce 中的資訊擷取到 Commerce 商店。
在 Commerce 中透過具有管理專用權的「組織管理主控台」建立一個新的使用者(屬於根組織)。指派 WPCAdministrator 角色給該使用者。
使用下列步驟來從 WebSphere Commerce 中擷取 Meta 資料資訊:
1) 將 zip 檔解壓縮到本端目錄
2) 將 Export_MetaData_Filter.xml 過濾檔複製到暫時目錄。例如 C:\test。
3) 開啟 Export_MetaData_Filter.xml 檔來進行下列變更,然後存檔:
搜尋字串 ConsumerDirect,然後以所考量的適當商店 ID 取代 ConsumerDirect
搜尋字串 7000000000000000002,然後以所考量之商店的 member_id 適當值取代 member_id 值 7000000000000000002
4) 開啟命令提示字元視窗,並切換至 <WC_installdir>\bin 目錄
5) 從 <WC_installdir>\bin 執行 massextract 工具,如下所示:
massextract -dbname <dbname> -dbuser <username> -dbpwd <password> -filter
C:\test\Export_MetaData_Filter.xml -outfile <outfile> -schemaname <schemaname>
其中
dbname 是資料庫的名稱
username 是連接資料庫的使用者名稱
password 是連接資料庫的使用者密碼
outfile 是擷取的資料將儲存在其中的 xml 輸出檔名稱
schemaname 是目標資料庫綱目的名稱
Meta 資料資訊將會在上述 <outfile> 的給定值所定義的檔案中產生。
編輯前一節中所產生的 <outfile>。移至位於檔案結尾的下列元素, 以「建立新的使用者」一節中所建立的正確密碼相關資訊取代 logonPwd。
<userId
logonid = “<logonId of the user >”
logonpassword =”<logonPwd of the user>” />
這個編輯過的輸出檔將會是提供給 Product Center 的 Meta 資料資訊。
1. 開啟 <WAS_installdir>\installedApps\<cell_name>\WC_<instance_name>.ear\Stores.war\WEB-INF\classes 中的 WPCWCProperties.properties 檔,並移至內容名稱 ConsumerDirectImgDir。
2. 這個名稱必須根據已發佈的商店來進行變更。在這個例子中,ConsumerDirect 是已發佈的商店 ID,因此名稱為 ConsumerDirectImgDir。
3. 如果已發佈的商店 ID 為 ToolTech,則這個內容名稱是指定為 ToolTechImgDir,而非 ConsumerDirectImgDir。
4. ConsumerDirectImgDir 這個內容名稱的值有指定存放商店影像的路徑。此路徑相對於 StoreDirectory。比方說,如果 Commerce 機器上的商店路徑為:
<WAS_installdir>/installedApps/<cell_name>/WC_<instance_name>.ear/Stores.war/ConsumerDirect
並且影像要放置在該路徑的影像目錄中,其內容應該如下所示:
ConsumerDirectImgDir = images
1. 從 WPC_WC_Version_X.zip 檔中,將 PreviewUtils.zip 檔解壓縮到暫時資料夾。
2. 將 PreviewUtils.zip 的內容解壓縮到 WAS_HOME\installedApps\<node_name>\<cellname.ear>\Stores.war
預覽方式有兩種:
1. 使用 Commerce 中的管理主控台介面來發佈 ConsumerDirect 商店
2. 將 samples.zip 中的 JSP 解壓縮到 WAS_HOME\installedApps\<node_name>\<cellname.ear>\Stores.war\ConsumerDirect。
例如 C:\WebSphere\AppServer\installedApps\vdev\WC_demo.ear\Stores.war\ConsumerDirect
3. 重新啟動 Commerce 伺服器
方式 B(需要 JSP 開發):修改任何其他商店的商店 JSP
假設:JSP 中的 Databean 已利用其 keyId 載入。
可運作預覽的邏輯:
a) 與接收自 Product Center 的資料相對應的 Data Bean 是在資料結構中 的 Commerce Server 端快取。這個資料結構儲存在雜湊對映 (HashMap) 中。您可以利用傳入階段作業的 PreviewBeanId 值來從 HashMap 中擷取這個資料結構。若要從這個資料結構中擷取 Data Bean,您可以利用傳 入要求中的 Data Bean 主鍵值來達到這個目的。JSP 會使用這些 DataBean(其中包含合併的資訊),而不是建構自己的 Data Bean。
b) 可建立 JSP 來使用這些 DataBean,方法是讓 JSP 執行程序,將這些 Data Bean 載入頁面範圍內。這個 JSP 應該靜態併入所有需要預覽功能的 JSP 中。將變數載入頁面範圍時所使用的變數/索引鍵名稱最好與要在 JSP 中使 用 Data Bean 的變數名稱相同。(這是為了在使用 JSTL 時方便開發)
c) 預覽期間不啟用的某些功能(如訂購項目等等)應該有條件地刪去/取代為適當的訊息。
有關實作方式,請參閱 PreviewHelper 目錄中的 PreviewDatabeanEnvironmentSetup.jsp。
1) 從 HashMap 中取得預覽 Bean ID
HttpSession session1 = requst.getSession();
String prvw_Bean_Id = (String)
session1.getAttribute(MappingConstants.PRVW_DATA_BEAN_ID);
2) 使用這個 ID 取得資料結構:
if (prvw_Bean_Id != null) {
CommDataHashBucket wpcComMapDataBucket = CommDataHashBucket.getCommDataHashBucket();
WPCCommerceMapDataStructure wpcComDataStructure =
wpcComMapDataBucket.getComDataStructure(prvw_Bean_Id);
HashMap catlgObjMap =
wpcComDataStructure.getCatalogObjectsMap();
1) 型錄 Data Bean:
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) 種類 Data Bean:
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) 針對其他任何產品相關的 Data Bean
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;
}
if (cPrvwDb != null) {
pageContext.setAttribute("catalog",cPrvwDb,1);
}
用來將它放置到頁面範圍中的變數名稱應該與用來在「商店 JSP」中建立其實例的變數名稱相同。這必須應用到所有種類的「型錄物件」。
在用於顯示型錄物件的「現有 JSP」中靜態併入這個 JSP。
例如:<%@ include file="../../PreviewHelper/PreviewDatabeanEnvironmentSetup.jsp" %>
1) 如果是使用 JSTL:不需要做任何變更
2) 如果是使用一般 JSP 編碼,請執行如下程式碼片段所示的類似動作:
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");
}
若要處理這些狀況,請檢查 PreviewBeanId 的值,如果有設定它,請採取適 當的動作,例如顯示訊息來陳述已停用的動作。如下列程式碼片段所示:
<c:when test="${!empty PreviewBeanId}">
<span class="text"><fmt:message key="SKU_NOT_BUYABLE" bundle="${storeText}" /></span><br /><br />
</c:when>
將下面所示的對應項目填入 WPCWCproperties.properties 檔中。這些項目就是要用於預覽 Product Center 中所建立各種型錄物件的頁面。索引鍵為「商店 ID」和「型錄物件顯示」的組合。(在下面範例中:「商店 ID」是 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 來進行 WebSphere Commerce 整合作業。
1. 執行 src/db/schema/cmp/create_cmp.sh --code=carmel 指令,在 WPC 環境下建立名為 carmel 的公司
2. 現在請從下列指定位置,利用 FTP 取得 commerce_carmelV1.0.zip 檔
伺服器:<請參考封面備註>
使用者名稱:<請參考封面備註>
密碼:<請參考封面備註>
位置:<請參考封面備註>
3. 在某個本端目錄下將該 zip 檔解壓縮。這個 .zip 檔包含下面列示的項目
COMMERCE_CARMELLKP.ZIP
COMMERCE_CARMELNONLKP.ZIP
readme.txt
4. 對匯入/匯出工具中的一項錯誤,其暫行解決方案是先建立無任何內容的屬性集合 WCSKUAttrValColl。
5. 先匯入 COMMERCE_CARMELLKP.ZIP,再利用 WPC 匯入環境功能將 COMMERCE_CARMELNONLKP.ZIP 匯入步驟 1 所建立的 carmel 公司。
6. 請 Commerce 團隊協助您對下面指定的 WCConfigLkpTbl 查閱表格的查閱表格欄位填寫詳細資料,至於這個查閱表格中的其他值,請保留現狀:
a. WC1_STORE_ID |
已發佈的商店 ID |
b. WC1_MEMBER_ID |
Commerce 成員 ID |
c. WC1_MASTER_CATALOG_ID |
已發佈的商店之主要型錄 ID |
d. WC1_LANGUAGE_ID |
固定是 1,請勿變更此值 |
e. WC1_ITEM_TYPE_ID |
請勿變更此值 |
f. WC1_ITEM_SPC_ID |
請勿變更此值 |
g. WC1_BASE_ITEM_ID |
請勿變更此值 |
h. WC1_FFMCENTER_ID |
請 Commerce 團隊協助您填寫此值 |
i. WC1_QUANTITY_ID |
請勿變更此值 |
j. WC1_TRADE_POSCN_ID |
請 Commerce 團隊協助您填寫此值 |
k. WC1_SALES_CATALOG_ID |
在 Commerce 實例中必須建立一個銷售型錄,且該型錄的 ID 必須在此指定,請 Commerce 團隊協助您完成此動作 |
l. WC1_FTP_HOST_NAME |
執行 Commerce Server 的主機 IP |
m. WC1_FTP_PORT |
FTP 埠(此值通常不變更),視 Commerce Server 主機中的 FTP 伺服器配置而定 |
n. WC1_FTP_USER_ID |
Commerce Server 主機 FTP 伺服器的 FTP 使用者名稱,請 Commerce 團隊協助您填寫此值 |
o. WC1_FTP_PASSWORD |
Commerce Server 主機 FTP 伺服器的 FTP 密碼,請 Commerce 團隊協助您填寫此值 |
p. WC1_FTP_PATH |
massload 工具將從中挑選利用 FTP 傳送的檔案之路徑,請 Commerce 團隊協助您填寫此值 |
q. WC1_SALES_HIERARCHY_NAME |
這個值不應該變更,它是在 Commerce 中所建立的銷售/導覽型錄之預先定義的銷售階層,這是步驟 k 的一部分 |
r. WC1_SERVER_NAME |
執行 Commerce Server 的伺服器名稱 |
s. WC1_LAST_UPLOAD_TIME |
第一次請保留此值為空值,以便啟動初始載入,此後這個索引鍵就會有該報告上次執行時間戳記的值,如果是空值,則會執行初始載入 |
t. DEFAULT_LOCALE |
這個屬性必須有整合組件的預設語言環境。這必須在部署時設定且在後面的階段不應該變更, 這個語言環境也必須是公司屬性的一部分並作為 WCCatentryCtg、WCSKUCtg 規格的一部分 |
u. WC1_LOGON_CMD |
這必須是新 Commerce 登入指令的完整 URL http://<serverName_where_Commerce_installed>/webapp/wcs/stores/servlet/WPCWCLogOn? |
v. WC1_LOGON_CMD_USER |
基於安全目的而建立的使用者(請洽詢 Commerce 團隊) |
w. WC1_LOGON_CMD_USER_PASSWORD |
在 v. 中建立之使用者的密碼 |
7. 查閱表格 "WCCurrencyLkpTbl" 中必須填入 Commerce 支援的貨幣,每個貨幣的確切三字元值必須針對索引鍵和值填入。 例如,USD 作為索引鍵和值。 請 Commerce 團隊協助您取得各個 Commerce 版本所支援的貨幣清單。
8. 若要執行初始載入/差異上傳,請執行 Product Center 報告 DataExportToCommerce。根據上述 欄位的值,將執行初始載入或差異載入。
9. 請確定在 Product Center 安裝的主機中,有 Commerce Server IP 可作為 /etc/hosts 檔案的一部分。
10. 由於「匯入/匯出」工具中的錯誤,所以必須以手動方式設定階層 WCPdtHier 的屬性集合 WCPdtHierAttrColl。
11. 請確定在「首頁」>「我的設定」中,「項目和種類資料顯示畫面的語 言環境」的值是設為適當的語言環境,以便使用者能夠在預覽特性中以預期的語言環境查看內容。
12. 請確定屬性頁面中 WCCatentryCtg 的鏈結屬性 catentry 已適當鏈結至 WCSKUCtg 屬性 catentry_id,這是因為發生匯入/匯出錯誤,所以未設定這個鏈結屬性
13. 裝載 public_html 目錄。
14. 請確定型錄屬性具有值為 Master 和 MyMasterCatalog 的 ID 和名稱的項目
1. 在 Commerce 中建立銷售型錄
2. 建立規格為 WCCgrySalesHSpec 的種類樹
3. 將這個種類樹當作次要階層附加至型錄 WCCatentryCtg
4. 在查閱表格 SalesLookupTable 中建立新項目
SalesCatalogName - 這必須是步驟 2 中所建立的種類樹名稱
SalesCatalogId - 這應該從步驟 1 所建立銷售型錄的 Commerce db 實例中的型錄表格提取,欄位應該是 catalog_id
catalogIdentifier - 這應該從步驟 1 所建立銷售型錄的 Commerce db 實例中的型錄表格提取,欄位應該是 identifier
5. 在 Last Sequence Register 查閱表格中建立新項目
Hierarchy Name - 這應該是銷售階層名稱
Last Sequence - 500000
6. 從資料模型管理員 -> Scripting -> Script 主控台 -> 項目預覽 Script 複製 "Copy Items 或 Category" 的內容,然後以現行銷售種類樹名稱加上 "Copy Items 或 Category" 的名稱來建立一個新的項目預覽 Script,使其具有唯一性
7. 從 WCSalesHr 的 post save 和 post process 事件複製 Script 內容,並也針對新建的銷售階層貼上相同的內容
對 Commerce 而言,「第一個」型錄輸送視為「完整匯出」,而後續部分僅 將 Product Center 中變更或刪除的物件匯出至 Commerce 作為差異輸送的一部分。
Product Center 會產生遵循 Commerce 所定義之 DTD (WCS.dtd) 的 XML。為移除物件狀 態的任何不一致,差異處理程序一定會先刪除 XML,再進行更新。
若要啟動「完整匯出」,請移至「產品管理員」>「報告」>「報告主控台」。選取 DataExportToCommerce 報告並啟動它。
WCConfigLkpTbl 查閱表格中的 WC1_LAST_UPLOAD_TIME 查閱值,決定型錄輸送為完整匯出或差異匯出。如果 這個值是空白,表示為完整匯出,這會根據 Master/SKU 型錄的現行狀態來計算 XML,並將相同的項目匯出至 Commerce
一旦產生 XML(檔名中附加時間戳記,如 WC-WPC-FullExport-2005-03-10-18.26.42.000026.xml),則會依據查閱值 WC1_FTP_PATH,利用 FTP 將它傳送到目錄
會啟動 Commerce 指令 http://2fdtxp90.in.ibm.com/webapp/wcs/stores/servlet/WPCWCLogOn?,其值為 WCCmd = Publish,且 xml 檔的名稱為 loadFile 值。
Commerce 會在內部呼叫 Idresolver 和集體載入工具,將此資料上傳至資料庫
若要啟動「完整匯出」,請移至「產品管理員」>「報告」>「報告主控台」。選取 DataExportToCommerce 報告並啟動它。
WCConfigLkpTbl 查閱表格中的 WC1_LAST_UPLOAD_TIME 查閱值,決定型 錄輸送為完整匯出或差異匯出。如果這個欄位有某個值,表示為差異匯出,報告 Script 會先從活動日誌中計算 上次執行報告後所刪除的所有物件數,然後再建置 XML
一旦產生 XML(檔名中附加時間戳記,如 WC-WPC-DeltaExport-Delete-2005-03-10-18.50.10.000050.xml),則會依據查閱值 WC1_FTP_PATH,利用 FTP 將它傳送到目錄。
會啟動 Commerce 指令 http://2fdtxp90.in.ibm.com/webapp/wcs/stores/servlet/WPCWCLogOn?,其值為 WCCmd = Delete 且 xml 檔的名稱為 loadFile 值。
Commerce 會在內部呼叫 Idresolver 和集體載入工具,將此資料上傳至資料庫
若要啟動「完整匯出」,請移至「產品管理員」>「報告」>「報告主控台」。選取 DataExportToCommerce 報告並啟動它。
WCConfigLkpTbl 查閱表格中的 WC1_LAST_UPLOAD_TIME 查閱值,決定型錄輸送為完整匯出或差異匯出。如果 這個欄位有某個值,表示為差異匯出,報告 Script 會先從活動日誌中計算上次執行報告後所刪除的所有物件數,然後再建置 XML
一旦產生 XML(檔名中附加時間戳記,如 WC-WPC-DeltaExport-Update-2005-03-10-19.20.44.000020.xml),則會依據查閱值 WC1_FTP_PATH,利用 FTP 將它傳送到目錄。
會啟動 Commerce 指令 http://2fdtxp90.in.ibm.com/webapp/wcs/stores/servlet/WPCWCLogOn?,其值為 WCCmd = Publish,且 xml 檔的名稱為 loadFile 值。
Commerce 會在內部呼叫 Idresolver 和集體載入工具,將此資料上傳至資料庫。
由於整合的主要目標是要共用 Product Center 中可用的資料,且基於此 目的而從 Product Center 中產生的 XML 資料模型是集體上傳文件(這是 Commerce 中不同表 格的直接表示法),因此瞭解 Commerce 內部物件以及物件要儲存在哪一個表格,及哪些表格在不 同 Commerce 物件之間存在著關係,應該會有所幫助。
商店 |
我們可以將它視為主要儲存器,裡面儲存的所有資料彼此相關。 相同 Commerce 應用程式中可能有多個商店,且不止一個商店具有相同資訊。 所有商店資訊將儲存在 Commerce 表格 store 和 storeent 中。 |
型錄 |
這些型錄類似 Product Center 型錄。這些型錄會附加到至少一個商店。型錄相關資訊將會儲存 在兩個不同的表格中:catalog 和 catalogddsc。型錄和商店之間的關係會儲存在 storecat 中。 |
種類 |
這些種類類似 Product Center 中的種類。這些種類將位於型錄下。 種類相關資訊將儲存在兩個表格中:catgroup 和 catgrpdesc。 不同種類之間的關係將儲存在 catgrprel 表格中。種類和型錄之間的關係將儲存在 cattogrp 表格中,種類和商店之間的關係是儲存在 storecgrp 表格中。 |
產品 |
這些產品將附加至種類之下。所有產品相關資訊將儲存在三個不同的表格中: baseitem / catentry / catentdesc。產品、軟體組、靜態套件、動態套件、項目, 所有這些物件將儲存在同一組表格 catentry / catentdesc 中。如果 catentry 的 catenttype_id 欄位值與 productBean 相同,則現行物件為產品。還有,產品、靜態套件、動態套件相關 資訊將儲存在另一個叫作 baseitem 的表格中,如果 itemtype_id 欄位值與「項目」相同,則 現行物件為「產品」。 Storecent 表格將儲存商店和產品之間的關係。 種類和產品之間的關係將儲存在表格 catgpenrel 中。 |
屬性 |
這些屬性將附加至產品中,屬性相關資訊將儲存在表格屬性中,包 括屬性和產品之間的關係。 |
項目 |
這些項目類似 Product Center 中的項目。項目將附加至產品之下。 與項目相關的資訊會儲存在兩個表格中:catentry 和 catentdesc。項目和產品均儲存在相同表格中。 catenttype_id 是用來區分產品和項目的 id。 若為項目值,catenttype_id 將為 itemBean。類似產品,項目也與特定商店有關,其資訊將儲存在與產品 storecent 表格相同的位置。 Catentrel 表格維護產品和項目之間的關係。 |
屬性值 |
這些屬性值將附加至項目下,並將保存已附加至產品 (這些項目將 附加至此) 的屬性值。 屬性值相關資訊將儲存在 attrvalue 表格中,包括項目和屬性值之間的關係。 |
軟體組 |
軟體組是一個物件群組,可由不同的項目 / 產品 / 靜態套件 / 動態套件物件集合而成。 這個軟體組將儲存在兩個表格中:catentry 和 catentdesc。 這個物件的 catenttype _id 為 BundleBean。 |
靜態套件 |
靜態套件類似軟體組,但軟體組可以取消關聯,靜 態套件不能取消關聯,且靜態套件只能包含 SKU。 靜態套件的 Catenttype_id 為 StaticBean。除了 catentry 和 catentdesc 表格之外,與靜態套件相 關資訊的一部分也會儲存在 baseitem 表格中,如果欄位 itemtype_id 的值為 STKT,則現行物 件為靜態套件。 |
動態套件 |
類似靜態套件,其主要差異在於它可以保存產品配置器 URL (可在 本端環境取得項目資訊),但會由指定的 URL 中的產品配置器來解析。 除了 catentry 和 catentdesc 表格之外,與靜態套件相關資訊的一部分也會儲存在 baseitem 表格中,如果欄位 itemtype_id 的值為 DNKT,則現行物件為動態套件。 在 catentry 表格中,這個物件的 catentrytype_id 為 DynamicKitBean。 |
所有 Commerce 相關的 Product Center 物件均有預先附加 WC,以免與其他物件發生衝突。
下表為上表的彙總。 請參閱下表後面的驗證一節,以取得一組適用的驗證。
物件 / 特性 |
Product Center 表示法 | Commerce 表示法 |
商店 |
下列值將儲存為 Product Center 查閱表格中的鍵值對
|
商店相關資訊是儲存在表格 STORE 和 STOREENT 中。每一個商店與一個主要 型錄和多個銷售型錄相關聯 |
型錄 |
主要型錄在 Product Center 中是以兩個型錄和兩個階層
來代表
1. Catentry 型錄 任何型錄特定屬性將儲存為 Product Center 中的型錄屬性的一部分。若為 Commerce 特定屬性,我們將使用自 訂型錄屬性定義特性來指定索引鍵和型錄屬性的個別值。 階層相關屬性也會以相同方式儲存。Catentry 型錄將含有 WC 物件產品、軟體組、靜態套件和動態套件的表示法 |
所有型錄特定資料將儲存在這些表格中:catalog、
catalogdsc、storecat。可與主要型錄相關聯的不同物件為種類、產品、項目、軟體組、靜態
套件和動態套件。
這些資訊是儲存在下列表格中
1. catgroup 2. catgrpdesc 3. cattogrp 4. storecgrp 5. catgrprel 6. baseitem 7. catentry 8. catentdesc 9. catgpenrel 10. catentrel 11. attribute 12. attrvalue |
種類 |
類似 Product Center 種類。產品階層將用來儲存種類相關詳 細資料。 在產品 sku 階層中,我們要確定使用者不能在產品種類之下建立任何種類,且在葉節點種類以外 的任何其他種類之下建立的項目都不是產品。 | 所有種類相關資訊是儲存在下列表格中
1. catgroup 2. catgrpdesc 3. cattogrp 4. storecgrp 5. catgrprel |
產品 |
產品有它自己的屬性及針對其項目層次之所有產品定義的特定屬性組。
由於它在 Product Center 中沒有直接表示法,所以產品將定義在 catentry 型錄中,對於
catentrytype_id 欄位,使用者將選取「產品」值。在該型錄的 post save 中,將在產品 SKU
階層中建立一個種類,而在 catentry 型錄中,對這個產品所指定的已定義屬性將建立成為次要
規格並附加至產品 SKU 階層的新建種類,作為項目種類規格。此外,此階層規格中的一種關係
屬性將與 catentry 型錄中的個別項目相關。
使用者不需要個別新增此產品種類。
使用者在 catentry 型錄中建立產品時,將自動建立此種類並且可以馬上新增項目。
產品不得含有關係屬性的值,如果使用者有輸入值,將發生驗證錯誤
|
產品資訊會儲存成為這些表格的一部分:baseitem、 catentry、cateentrydesc 表格。在產品的基本項目 ID 中,itemtype_id 欄位將具有 ITEM 的值, 而在 catentry 表格中,catenttype_id 欄位具有 ProductBean 的值 |
SKU |
所有 SKU 相關詳細資料將儲存在 SKU 型錄中。 此型錄與產品 sku 階層相關聯,其中所有產品都含有葉節點種類,該種類中的屬性均以項目種 類規格附加至 catentry 型錄的 post save 中。 在新增 SKU 之後,將以所鏈結產品的個別屬性值預先填入它,使用者可變更它並依據其要求加 以儲存。 | 所有 SKU 相關詳細資料將儲存在 catentry、cateentrydesc 表格中。如果 catentry 表格中的 catenttype_id 含有與 ItemBean 相同的值,則現行項目為 SKU |
軟體組 |
在 catentry 型錄中,具有「軟體組」之值的 catenttype_id 欄位將代表 Commerce 的軟體組物件。這個規格將有一個鏈結屬性,它是多次出現的屬性,且附加至 SKU 型錄。 它的作用是將 SKU 型錄中的不同 SKU 加以分組。這些軟體組具有敘述性而非已定義的屬性 | 所有軟體組相關詳細資料將儲存在 catentry、 cateentrydesc 表格中。如果 catentry 表格中的 catenttype_id 欄位具有 BundleBean 的值 ,則現行項目為軟體組 |
靜態套件 |
Catentry 型錄將代表 Commerce 靜態套件物件,且 catentrytype_id 的值必須為 StaticKit。這個型錄將附加至產品階層。 現行規格將含有一個鏈結屬性,它是多次出現屬性,將鏈結至 SKU 型錄。 | 所有靜態套件相關詳細資料將儲存在 baseitem、catentry、cateentrydesc 表格中。如果 catentry 表格中的 catenttype_id 欄位具有 StaticBean 的值,則現行項目為軟體組。如果 baseitem 中的 itemtype_id 欄位具有 STKT 的值,則現行物件代表靜態套件 |
動態套件 |
Catentry 型錄將代表 Commerce 動態套件物件,且 catentrytype_id 欄位的值必須為 DynamicKit。這個型錄將附加至產品階層。 現行型錄規格將有一個鏈結屬性,它是多次出現的屬性,且附加 SKU 型錄。 除了這個之外,還有一個 URL 類型的多次出現屬性將用來代表產品配置器 URL | 所有動態套件相關詳細資料將儲存在 baseitem、 catentry、cateentrydesc 表格中。如果 catentry 表格中的 catenttype_id 欄位具有 DynamicKitBean 的值,則現行項目為軟體組。如果 baseitem 中的 itemtype_id 欄位具有 DNKT 的值,則現行物件代表靜態套件 |
ATP |
如果表格 store 中的 ALLOCATIONGOODFOR 欄位含有 1 這
個值,則啟用此特性。
在 Product Cenetr 中沒有計算,不然需要使用者項目來代表這個特性。
由 Commerce 團隊提供的預先定義靜態值是用來建立 XML 片段,以填入 Commerce 的個別表格中。
|
Commerce 的下列表格是用來代表 ATP feature1、itemversn2、distarrang3、storeitem4、storeitmffc5、inventory6、itemspc7、versionspc8、itemffmctr |
商品 |
此特性是使用商品特定屬性組來實作的,這些屬性定義在 catentry 型錄的現行規格中。 有兩個重要的屬性商品類型屬性可具有像 X-SELL、UPSELL、ACCESSORY、REPLACEMENT 的值,其他 屬性則具有關係屬性,讓使用者可選取 cantentry 型錄或 SKU 型錄,並使個別的 WC 物件產生關 聯 | 下列表格組與 commerce1 中的商品相關:massoctype2、massoc3、massoccece |
銷售 |
此特性的代表方式為:讓一個階層裡面有不同種類,可以
直接由使用者建立,也可以讓使用者從產品階層中選擇同一組種類及其子項。
這只能提供到種類為止的資訊。為了區分銷售階層和其他階層,我們會新增一個階層屬性 HIERARCHY_TYPE,其值為 SALES。
產品、SKU、軟體組、靜態套件和動態套件資訊不能代表為銷售階層的一部分。
使用者可以要求的銷售階層不限數量。使用者除了建立自己的種類之外,也可以選擇從主要型錄
或從其他銷售型錄中複製結構。基於此目的,我們會在銷售階層中新增項目預覽 Script,讓使用者可以選擇從
現行種類的其他銷售型錄或主要型錄中複製結構。
|
會建立一個正常型錄,且 storecat 中的 mastercatalog 欄位設為 0。 |
項目預覽 |
項目預覽 Script 將用於此特性,在選取此特性時,將呼叫 Commerce 中的一個 URL 及必要的項目資訊。 這個項目資訊同樣是現行項目的集體上傳 XML,它可能是種類、產品、軟體組、靜態套件或動態 套件。 除了呼叫 WC 的 URL 之外,我們還會傳遞 WC 物件的類型。 | |
新增 |
任何新增作業都包括新增影像和屬性,在匯出期間,屬性 資訊將傳送成為集體上傳 XML 結構的一部分,影像將以 ZIP 壓縮後連同集體載入 XML 文件一 起傳送 | |
修改 |
類似新增。所有屬性中的任何變更都會觸發傳送所有屬性,而不是只傳送部分資訊 | |
刪除 |
在 Product Center 中執行刪除,設定 Commerce 表格 中的 markfordelete 欄位,會觸發個別 Commerce 表格中的更新動作,並且呼叫 Websphere Commerce 中的一 個指令 URL,該指令將處理進一步動作,例如要完成此動作時需要執行的 SQL | |
區域化 |
具有 language_id 的所有屬性在 Product Center 中都會 定義成區域化屬性。在 Product Center 設定中,使用者可啟用他想要啟用的所有語言環境 | 語言環境是使用不同表格中的 language_id 欄位支援。 現在 Commerce 支援的語言環境有:en_US、ja_JP、fr_FR、de_DE、it_IT、es_ES、pt_BR、zh_CN、zh_TW、ko_KR |
貨幣 |
在 Product Center 設定中,使用者可配置使用者想要的 所有貨幣 | 現在 Commerce 支援的貨幣有:BRL、CNY、EUR、JPY、KRW、TWD、USD |
當使用者在 catentry 型錄中儲存項目作為後置處理 Script 的一部分時,將套用下列基本 驗證組。
Commerce 表格定義會直接轉換成 XML 標示,其表格名稱與元素名稱相同,且不同的表格欄位定 義為元素屬性。 屬性值是在那些表格欄位中需要填寫的實際值。 單就主鍵而言,會預先附加 @ 符號,以便在 Commerce 表格中儲存這些值之前使用 Commerce 的主 鍵產生規則來重建主鍵。
在實作期間,可以新增這個表格的一或多個延伸範圍,必要時多新增一些欄位。 發生這類狀況時,擴充元表格會以外部鍵的形式鏈結到延伸表格中的對應記錄。
Product Center 和 Commerce 之間的資料轉送將採用 XML 文件的格式。 這些產生的文件將放到 Product Center 與 Commerce 都知道的一個共同位置,且 Commerce 將從中挑選文件並處理它們。
附註:錯誤處理是以手動方式處理,此為資料交換的一部分。 Commerce 到 Product Center 不會有任何通訊;通訊一律是從 Product Center 到 Commerce 進行的。
從 Product Center 產生的 XML 文件必須與此 DTD 相容。 依據此 DTD 產生的 XML 文件是綱目層次中的 Commerce 資料模型的直接表示。
關於 Commerce 中的 Product Center 項目預覽功能,將在 Product Center 中新增使用自訂工具項目 預覽功能表。在選取項目之後,使用者可因應要求來選擇功能表項目。 現在,在 Commerce 為此項目預覽功能提供的靜態網頁中可顯示的項目詳細資料,將使用 HTTP Post 方法傳遞。 現在將在 Commerce 端進行相同的資料剖析,並顯示在 Commerce 靜態網頁的適當位置中。 靜態網頁的外觀如何、使用者可以從該網頁瀏覽哪些其他地方、使用者在該靜態網頁內如何受到 控制,這些都取決於 Commerce 團隊的決定。
Product Center 團隊的需求是要有一個 URL 讓它執行 HTTP Post 呼叫,還有一些要顯示在靜 態網頁中的必要資料。
在所有國家中,IBM 不見得有提供本件中所提及的各項產品、服務或功能。 請洽詢當地的 IBM 業務代表,以取得當地目前提供的產品和服務之相關資訊。這份文件在提及 IBM 的產品、程式或服務時,不表示或暗示只能使用 IBM 的產品、程式或服務。 只要未侵犯 IBM 的智慧財產權,任何功能相當的產品、程式或服務都可以取代 IBM 的產品、程式或服務。 不過,任何非 IBM 的產品、程式或服務,使用者必須自行負責作業的評估和驗證責任。
這份文件所說明的主題內容,IBM 可能擁有其專利或專利申請案。 提供這份文件不代表提供這些專利的授權。您可以書面提出授權查詢,來函請寄到:
IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.
下列段落若與該國之法律條款抵觸,即視為不適用:
INTERNATIONAL BUSINESS MACHINES CORPORATION 係以「現狀」提供,而不提供任何明示或默示之保證,其中包括且不限於可商用性或符合特定用途之保證。有些地區在特定交易上,不允許排除明示或暗示的保證,因此,這項聲明不一定適合您。
這項資訊中可能會有技術上或排版印刷上的訛誤。 因此,IBM 會定期修訂;並將修訂後的內容納入新版中。IBM 隨時會改進和/或變更本出版品所提及的產品和/或程式,不另行通知。
這份資訊中所提及的任何非 IBM 網站只供參考,IBM 不為這些網站提供保證。 這些網站所提供的素材不是 IBM 本產品的素材內容,如果要使用這些網站的素材,您必須自行承擔風險。
IBM 得以各種適當的方式使用或散佈由您提供的任何資訊,無需對您負責。
如果本程式的獲授權人為了 (i) 在個別建立的程式和其他程式(包括本程式)之間交換資訊, 以及 (ii) 相互使用所交換的資訊,因而需要相關的資訊,請洽詢:
IBM Burlingame Laboratory
Director IBM Burlingame Laboratory
577 Airport Blvd., Suite 800
Burlingame, CA 94010
U.S.A
這些資訊可依適當條款而取得,在某些情況下必須付費方得使用。
IBM 基於雙方之 IBM 國際程式授權合約(或任何同等合約)條款, 提供本文件所提及的授權程式與其所有適用的授權資料。
此處所包含的任何效能資料都是在受控制的環境下取得。因此,在其他作業環境下取得的結果可能大不相同。 某些測量是在開發層次系統下進行的, 因此不保證這些測量在一般可用系統上依然相同。再者,有些測量可能是經由推斷來預估。實際結果可能不同。本文件的使用者應驗證其特定環境所適用的資料。
本書所提及之非 IBM 產品資訊,取自產品的供應商,或其發佈的聲明或其他 公開管道。 IBM 並未測試過這些產品,也無法確認這些非 IBM 產品的執行效能、 相容性或任何對產品的其他主張是否完全無誤。 有關非 IBM 產品的性能問題應直接洽詢該產品供應商。
這份資訊含有日常商業運作所用的資料和報告範例。 為了要使它們儘可能完整,範例可能包括個人、公司、品牌和產品的名稱。 所有這些名稱都是虛構的,如有任何類似實際企業所用的名稱及地址之處,純屬巧合。
所有關於 IBM 未來動向或意圖的聲明都可能會隨時改變或撤銷,而不另行通知,它們僅代表 IBM 的目標與方針而已。
程式設計介面資訊之目的,是要協助您利用這個程式來建立應用軟體。
通用程式設計介面可讓您撰寫應用軟體,以取得本程式工具的服務。
不過,這份資訊也可能包含診斷、修正和調整資訊。提供診斷、修正和調整資訊,是要協助您進行應用軟體的除錯。
警告:請勿將這份診斷、修正和調整資訊當作程式設計介面使用,因為它隨時會改變。
下列詞彙是 International Business Machines Corporation 在美國和/或其他國家或地區的商標或註冊商標:
IBM
IBM 標誌
AIX
CrossWorlds
DB2
DB2 Universal Database
Domino
Lotus
Lotus Notes
MQIntegrator
MQSeries
Tivoli
WebSphere
Microsoft、Windows、Windows NT 和 Windows 標誌是 Microsoft Corporation 在美國和/或其他國家或地區的商標或註冊商標。
MMX、Pentium 和 ProShare 是 Intel Corporation 在美國和/或其他國家或地區的商標或註冊商標。
Java 和所有以 Java 為基礎的商標是 Sun Microsystems, Inc. 在美國和/或其他國家或地區的商標或註冊商標。
其他公司、產品和服務名稱,可能是其他公司的商標或服務標誌。
IBM WebSphere Product Center 包含適用於下列附加條款的「排除元件」(依照相關的授權資訊文件所定義)。
本軟體是依照國際程式授權合約的條款,遵循其「排除元件」規定而授權給 貴客戶。
IBM 必須向 貴客戶提供與本軟體相關的下列注意事項:
i.) IBM WebSphere Product Center 包括 IBM 依照 Apache 2.0 授權合約條款,自 Apache Software Foundation 獲得授權的下列軟體:
- 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 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 [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 包括 IBM 依照下列條款,自 Scott Hudson、Frank Flannery 和 C. Scott Ananian 獲得授權的下列軟體:
- 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 包括 IBM 依照下列條款,自 Elliot Joel Berk 和 C. Scott Ananian 獲得授權的下列軟體:
- 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 包括 IBM 依照下列條款,自 International Business Machines Corporation 和其他公司獲得授權的下列軟體:
- ICU4J v2.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.
本軟體僅 "依現狀" 提供,不含任何明示或默示之保證,包括且不限於可商用性、特定目的之適用性及無侵權之保證。不論在何種情況之下,包括契約責任、過失責任或其他侵權行為責任,著作權持有人或本聲明所包含的著作權人均不為使用或執行本軟體時所產生或相關之任何索賠,或任何間接或衍生之損害,或任何為了無法使用、資料毀損或所失利益而負責。
除非本聲明有所規定,否則,在未取得著作權人書面授權之前,不得利用著作權人姓名做廣告,或以其他方式對本軟體之銷售、使用或其他商業往來做促銷。
-----------------------------------------------------------------------------
此處所指之所有商標和註冊商標均分別為其擁有者的資產。