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.

목차

제 1 장 개요

제 2 장 아키텍처

응용프로그램 설계
Product Center 사용자 정의 스크립트

제 3 장 WebSphere Commerce와 통합

Commerce 구성
Commerce로 WC 데이터 내보내기

미리보기 설정

Product Center 구성

제 4 장 비즈니스 프로세스

전체 내보내기
델타 내보내기 삭제

델타 내보내기 갱신

부록 A - 데이터 모델 참조

Commerce 오브젝트
Commerce 관련 Product Center 오브젝트

주의사항

제 1 장 - 개요

Commerce 통합은 고객이 B2B(Business to Business) 및 B2C(Business to Consumer) e-commerce 웹 사이트에 대한 제품 정보에 맞는 포괄적이고 매우 생산적인 작성 환경을 설정할 수 있는 기초를 제공합니다. WebSphere Product Center(이하 Product Center)의 게시용으로 사용할 제품 정보를 정확하고 충분하게 준비하는 기능이 크게 개선되어 e-commerce 구현의 가치를 극대화할 수 있습니다. 

e-commerce 플랫폼과 연결하면 기능으로 여러 사용자가 다양한 Commerce 프로세스에 대한 기여도를 조정하는 도구가 제공됩니다. 또한 대량의 복잡한 제품 정보의 총계, 확장, 관리 및 승인 작업을 상당히 간소화하는 기능도 제공됩니다.  

지원되는 비즈니스 프로세스로는 신제품 소개, 관련 제품 판매, 상위 제품 판매 및 판촉물 작성, 제품 폐기, 항목 정보 동기화, 항목 및 해당 속성을 웹 사이트에 대량 업로드, e-commerce 제품 정보를 웹 사이트 이외의 여러 소비자 접점에 분배하는 기능이 있습니다. 

Commerce Server 통합에는 다음 기능이 포함됩니다.

요구사항

제한사항

Product Center에 정의되어 있고 Commerce로 로드된 제품 데이터에는 기본 인벤토리가 들어 있습니다. 사용자는 이 기본 인벤토리를 변경하기 위해 Commerce 제품군 단축키를 사용해야 할 경우도 있습니다.

제 2 장 - 아키텍처

Product Center와 Commerce 사이의 데이터 교환은 XML 문서를 기반으로 합니다. Commerce 팀은 최신 대규모 업로드 도구로 DTD를 제공합니다. Product Center 스크립트를 사용하여 XML 문서를 작성하는데, 이 문서는 Commerce DTD에 대비하여 확인할 수 있습니다. 그런 다음, 이 문서를 Commerce 응용프로그램에서 문서를 선택하고 처리하도록 FTP를 통해 미리 정의한 위치로 보냅니다. XML 문서 처리 중 오류가 발생하는 경우에는 수동으로 처리해야 합니다. 

Commerce에 대한 첫 번째 카탈로그 피드는 전체 내보내기로 간주되며, 그 다음에는 Product Center에서 변경되거나 삭제된 오브젝트만 델타 피드의 일부로서 Commerce에 내보내집니다.

Product Center에서는 Commerce에서 정의한 DTD(WCS.dtd)에 첨부되는 XML을 생성합니다. 항상 델타 프로세스에는 오브젝트 상태의 불일치를 제거하기 위해서 먼저 xml을 삭제한 다음 갱신하는 수행 작업이 포함됩니다.

 

WebSphere Product Center와 WebSphere Commerce의 통합에 따라 다음 목적이 달성됩니다.

참고: 데이터 모델 참조에 대한 세부사항은 부록 A를 참조하십시오.

응용프로그램 설계

다음 오브젝트는 Product Center 통합 패키지에 포함되어 있습니다.

WCCatentryCtg – Product Center의 마스터 카탈로그

WCSKUCtg – 제품에 속한 SKU

WCSalesHr – 영업 카탈로그

ActivityLog– 활동 로그 카탈로그

Product Center 사용자 정의 스크립트

여러 개의 Product Center 스크립트를 통해 Product Center에서 Commerce의 데이터-모델 표시를 보조하게 됩니다. 다음 표는 이러한 스크립트를 설명합니다.

스크립트 이름 스크립트 유형 설명/기능
WCCatentry 사후 처리 스크립트  카탈로그 스크립트 - 사후 처리

중복된 부품 번호, 정의 속성과 관련된 유효성 검증 등의 기본 데이터 모델 유효성 검증을 수행합니다.

CatentryCtg 저장 후 WCSKUCtgPostSave

저장된 항목이 제품인지 확인한 후 해당 제품을 SKU 카탈로그에 카테고리로 작성하고 보조 스펙으로서 정의 속성을 첨부합니다.

WCSKUCtgPostSave  WCSKUCtgPostSave

활동 로그 카탈로그에 입력 항목을 작성합니다.

WCCatentryCtg 입력 미리보기 스크립트  입력 미리보기

미리보기용으로 요청된 항목에 대해 XML을 빌드하고 그 XML 데이터를 HTTP Post로 업로드하며 Commerce 미리보기 명령을 호출합니다.

WCSkuCtgEntryPreview 입력 미리보기 

위 내용과 같은 작업을 수행하고 SKU에 대한 미리보기를 수행합니다.

DataExportToCommerceScript  보고서 스크립트

사용자가 Commerce에 전체/델타 카탈로그 피드를 수행하도록 지원하는 보고서입니다. 이 스크립트는 일부 트리거 스크립트와 함께 사용됨으로써 델타의 경우, ActivityLog 카탈로그에서 내보낼 항목을 계산하여 XML을 빌드하고 FTP를 통해 미리 정의된 디렉토리(찾아보기 테이블에 설명)로 보내며 Commerce 명령을 호출합니다.

WC-Export.Wc.XmlFormat 트리거 스크립트

ASP/JSP와 같이, 이 스크립트는 XML 빌드에 있어서 중요한 요소가 됩니다. 이 스크립트에 모든 Commerce XML 노드는 트리거 스크립트에서 호출된 함수로서 설명되어 있습니다.

WC.Validation.Utility.Lib 트리거 스크립트

유효성 검증 트리거 스크립트로서, 널, 특수 문자 필터링, 고유성 유효성 검증 등 오브젝트에 대한 기본 유효성 검증을 수행합니다.

WCExportUtil.wpcs 트리거 스크립트 

기본 워크 호스 스크립트로서, 미리보기 도중 및 전체/델타 내보내기의 경우에 호출됩니다. 모든 비즈니스 로직을 처리하고 XML을 빌드합니다.

activityLogger.wpcs 트리거 스크립트

이 스크립트는 모든 활동 로그 카탈로그에 관련된 입력 항목을 처리합니다. 

WC.utility.Lib 트리거 스크립트

한 항목에 대해 변경되는 여러 어커런스 값, 보조 스펙 작성, 카탈로그 항목에 대한 SKU 관계 삭제 등과 같은 유틸리티 기능을 갖습니다.

CopyItemsandCategory 트리거 스크립트 

이 스크립트는 마스타 카탈로그에서 영업 카탈로그로 항목 또는 카테고리를 복사하는 데 사용됩니다.

라이브러리 로거  트리거 스크립트

 이벤트 로그를 보유하도록 dev에서 사용하는 로거 유틸리티입니다. 현재 로거로 주석 처리된 부분은 스레드 보안이 적용되지 않습니다.

 

제 3 장 - WebSphere Commerce와 통합

이 장에서는 Product Center와 WebSphere Commerce의 구성에 대해 설명합니다. 


Commerce 구성

전제조건

Commerce 통합 설정

통합 명령 구성

다음 단계를 사용하여 WebSphere Commerce에서 통합 명령을 구성할 수 있습니다.

1) 이전 섹션에 지시된 대로 임시 폴더에서 SQLLoad.xml 파일을 데이터베이스에 로드하십시오. 아래에 표시된 바와 같이 같은 창에서 idresolver(idresgent) 명령과 massloader(massload) 명령을 차례로 실행하는 방법을 사용합니다. 

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>

여기서 

d bname은 데이터베이스의 이름입니다.
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과 같은 기타 데이터베이스에 제공되어야 할 Customizer 파일입니다.
    예: OracleConnectionCustomizer.properties

propfilename은 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에서 지정한 디렉토리에 있는지 확인하십시오.


Commerce로 WC 데이터 내보내기

이 섹션에서는 WebSphere Commerce에서 Commerce 저장으로 정보를 추출하는 방법을 설명합니다.

새 사용자 작성

관리 특권이 있는 조직 관리 콘솔을 통해 Commerce에서 새 사용자(루트 조직에 속함)를 작성할 수 있습니다. 사용자에게 WPCAdministrator 역할을 지정하십시오.

메타데이터 추출

다음 단계를 사용하여 WebSphere Commerce에서 메타데이터 정보를 추출할 수 있습니다.

1) 로컬 디렉토리에 zip 파일의 압축을 푸십시오.

2) Export_MetaData_Filter.xml 필터 파일을 임시 디렉토리에 복사하십시오. 예를 들어, C:\test를 임시 디렉토리로 사용할 수 있습니다.

3) Export_MetaData_Filter.xml 파일을 열어 다음과 같은 변경 사항을 수행하고 파일을 저장하십시오.

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:은 대상 데이터베이스 스키마의 이름입니다.

메타데이터 정보는 위의 <outfile>에 제공된 값에서 정의한 대로 파일에 생성됩니다.

생성된 outfile 편집

이전 섹션에서 생성된 <outfile>을 편집할 수 있습니다. 해당 파일의 끝에 있는 다음 요소로 이동하고 logonPwd 대신 "새 사용자 작성" 섹션에서 작성한 정확한 암호 정보를 사용하십시오.

<userId
logonid = “<logonId of the user >”
logonpassword =”<logonPwd of the user>” />

편집된 outfile은 Product Center에 제공된 메타데이터 정보가 됩니다.

Product Center에서 Commerce로 이미지 파일을 복사하도록 구성 

1. <WAS_installdir>\installedApps\<cell_name>\WC_<instance_name>.ear\Stores.war\WEB-INF\classes에서 WPCWCProperties.properties 파일을 열고 ConsumerDirectImgDir 등록 정보 이름으로 이동하십시오.

2. 이 이름은 게시된 저장에 따라 변경되어야 합니다. 이러한 경우, ConsumerDirect가 게시된 저장의 식별자이므로 이름은 ConsumerDirectImgDir가 됩니다.

3. 게시된 저장의 식별자가 ToolTech일 때는 이 등록 정보 이름이 ConsumerDirectImgDir가 아닌 ToolTechImgDir로 제공됩니다.

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에 추출하십시오.

미리보기에는 두 가지 방법이 있습니다.

          미리보기 방법 A: ConsumerDirect 저장에 기존의 샘플 JSP 사용

1. Commerce의 관리 콘솔 인터페이스를 사용하여 ConsumerDirect 저장을 게시하십시오.

2. samples.zip의 압축을 풀어 WAS_HOME\installedApps\<node_name>\<cellname.ear>\Stores.war\ConsumerDirect에 JSP를 추출하십시오. 

예를 들어, C:\WebSphere\AppServer\installedApps\vdev\WC_demo.ear\Stores.war\ConsumerDirect 디렉토리를 사용할 수 있습니다.

3. Commerce Server를 다시 시작하십시오.

미리보기 방법 B(JSP 개발 필요): 다른 저장에 대한 저장 JSP 수정 

가정 : JSP의 Databean이 keyId를 사용하여 지정되어 있습니다.

수행할 미리보기의 논리:

a) Product Center에서 받은 데이터에 해당하는 데이터 Bean은 데이터 구조의 Commerce Server 끝에 캐시되어 있습니다. 이 데이터 구조는 HashMap에 들어 있습니다. 이 데이터 구조는 세션에서 전달된 PreviewBeanId 값을 사용하여 HashMap에서 검색할 수 있고, 데이터 Bean은 요청에서 전달된 1차 키 값을 사용하여 이 데이터 구조에서 검색할 수 있습니다. JSP에서는 자체적으로 Databean을 만드는 대신 이러한 데이터 Bean(병합된 정보 포함)을 사용합니다. 

b) JSP가 있는 데이터 Bean을 사용하도록 JSP를 구성할 수 있으며, 이 경우 데이터 Bean에 있는 JSP는 페이지 범위로 데이터 Bean을 로드하는 프로세스를 수행합니다. 이 JSP는 정적으로 모든 JSP에 포함되어 있어야 하며, 이를 위해 미리보기 기능이 필요합니다. 변수를 페이지 범위로 로드하는 데 사용된 변수/키의 이름은 JSP에서 사용되는 데이터 Bean의 변수 이름과 같아야 합니다. (이렇게 하면 JSTL을 사용할 때 쉽게 개발할 수 있습니다.)

c) 미리보기 도중 사용할 수 없게 되어 있는 일부 기능(항목 주문 등)에 조건을 지정하여 지우거나 적합한 메시지로 바꾸어야 합니다. 

코드 일부를 사용한 방법의 설명:

Commerce Server에서 데이터 Bean 검색 

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();

데이터 Bean 검색

1) 카탈로그 데이터 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) 카테고리 데이터 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) 기타 제품 관련 데이터 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;

}

이러한 데이터 Bean을 페이지 범위로 로드 

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

페이지 범위에 두는 데 사용한 변수의 이름은 저장 JSP에서 인스턴스화하는 데 사용한 이름과 같아야 합니다. 이 작업은 모든 카탈로그 오브젝트 종류에 대해 수행되어야 합니다.

카탈로그 오브젝트를 표시하는 데 사용된 기존의 JSP에 이 JSP를 정적으로 포함하십시오.

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

이 데이터 Bean이 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에서 작성한 여러 카탈로그 오브젝트에 대한 미리보기용으로 사용할 페이지입니다. 키는 저장 식별자 및 카탈로그 오브젝트 표시의 조합이 됩니다. (아래 예에서 저장 식별자는 ConsumerDirect입니다.)

######### JSP의 카탈로그 표시 ###############
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 통합을 위한 Product Center를 구성할 수 있습니다.

1. src/db/schema/cmp/create_cmp.sh --code=carmel 명령을 실행하여 WPC 환경에서 carmel이라는 회사를 작성하십시오.

2. 이제 아래 지정된 위치에서 FTP를 사용하여 commerce_carmelV1.0.zip 파일을 받으십시오.

서버 : <커버 노트 참조>
사용자 이름 : <커버 노트 참조>
암호 : <커버 노트 참조>
위치 : <커버 노트 참조>

3. zip 파일의 압축을 로컬 디렉토리에 푸십시오. 이 .zip 파일에는 다음 파일이 포함됩니다.

4. 가져오기/내보내기 도구에서 버그를 처리하는 작업으로 먼저, WCSKUAttrValColl이라는 속성 콜렉션을 작성하되 그 안에 아무 내용도 작성하지 마십시오.

5. WPC 가져오기 환경 기능을 사용하여 1단계에서 작성한 carmel 회사에 COMMERCE_CARMELLKP.ZIP 파일과 COMMERCE_CARMELNONLKP.ZIP 파일을 차례로 가져오십시오.

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 상자의 FTP 서버에 대한 FTP 사용자 이름. 이 값을 입력하려면 Commerce 팀으로부터 도움말을 얻으십시오.

o. WC1_FTP_PASSWORD 

Commerce 상자의 FTP 서버에 대한 FTP 암호. 이 값을 입력하려면 Commerce 팀으로부터 도움말을 얻으십시오.

p. WC1_FTP_PATH 

massload 도구에서 FTP 처리된 파일을 선택하는 경로. 이 값을 입력하려면 Commerce 팀으로부터 도움말을 얻으십시오.

q. WC1_SALES_HIERARCHY_NAME 

이 값은 수정하지 말아야 합니다. k단계의 일부로서 Commerce에서 작성한 영엽/탐색 카탈로그에 미리 정의된 영업 계층 구조입니다.

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에서 지원되는 통화가 입력되어 있어야 하며, 각 통화의 정확한 3 문자 값이 키와 값에 모두 입력되어야 합니다. 예를 들어, 키에 USD를 사용하고 값에도 USD를 사용합니다.   Commerce 팀으로부터 도움말을 얻어 각 Commerce 버전에서 지원되는 통화의 목록을 확인하십시오.

8. 초기 로드/델타 업로드를 실행하려면 Product Center 보고서 DataExportToCommerce를 수행하십시오. 위에서 언급한 필드의 값에 따라 초기 로드 또는 델타 로드가 수행됩니다.

9. Commerce Server IP가 Product Center 설치 상자에서 /etc/hosts 파일의 일부로 사용 가능한 상태인지 확인하십시오.

10. 가져오기/내보내기 도구의 버그 때문에, WCPdtHier 계층 구조의 속성 콜렉션인 WCPdtHierAttrColl를 수동으로 설정해야 합니다.

11. 홈> 내 설정에서 "항목 및 카테고리 데이터 표시용 로케일"의 값이 적합한 로케일로 설정되어 있는지 확인하십시오. 이렇게 해야 로케일에서 사용자가 예상한 미리보기 기능의 내용을 볼 수 있습니다.

12. 속성 페이지에 WCCatentryCtg의 링크 속성 catentry가 WCSKUCtg라는 속성 catentry_id로 적절하게 링크되어 있는지 확인하십시오. 가져오기/내보내기 버그 때문에 이 링크 속성이 설정되어 있지 않습니다.

13. public_html 디렉토리를 마운트하십시오.

14. 카탈로그 속성에 마스터 및 MyMasterCatalog로서 값이 있는 이름과 식별자에 대해 입력 항목이 있는지 확인하십시오.

영업 계층 구조 추가 단계

1. Commerce에 영업 카탈로그를 작성하십시오.

2. WCCgrySalesHSpec이라는 스펙이 있는 카테고리 트리를 작성하십시오.

3. 이 트리를 WCCatentryCtg 카탈로그에 보조 계층 구조로 첨부하십시오.

4. SalesLookupTable 찾아보기 테이블에 새 입력 항목을 만드십시오.

5. 마지막 순서 등록 찾아보기 테이블에 새 입력 항목을 만드십시오.

6. 델타 모델 관리자 -> 스크립팅 -> 스크립트 콘솔-> 입력 미리보기 스크립트에서 "Copy Items or Category"의 내용을 복사한 다음, "Copy Items or Category"에 부가된 현재 영업 카테고리 트리 이름으로 새 입력 미리보기 스크립트에 고유한 이름을 작성하십시오.

7. WCSalesHr에 대한 저장 후 및 사후 처리 이벤트에서 스크립트 내용을 복사하고 새로 작성한 영업 계층 구조에 대해 같은 내용을 붙여넣으십시오.

 

제4장 - 비즈니스 프로세스

Commerce에 대한 첫 번째 카탈로그 피드는 전체 내보내기로 간주되며, 그 다음에는 Product Center에서 변경되거나 삭제된 오브젝트만 델타 피드의 일부로서 Commerce에 내보내집니다.

Product Center에서는 Commerce에서 정의한 DTD(WCS.dtd)에 첨부되는 XML을 생성합니다. 항상 델타 프로세스에는 먼저 xml을 삭제한 다음 갱신하는 수행 작업이 포함되는데 이는 오브젝트 상태의 불일치를 제거하기 위해서입니다.

전체 내보내기 

델타 내보내기 – 삭제

델타 내보내기 – 갱신

부록 A - 데이터 모델 참조

Commerce 오브젝트

통합의 기본 목표는 Product Center에서 사용 가능한 데이터를 공유하는 것으로서, Product Center에서 이 목적으로 생성될 XML 데이터는 Commerce에서 다른 테이블의 직접 표시이자 Commerce 내부 오브젝트의 이해에 해당하는 대규모 업로드 문서입니다. 또한, DL XML 데이터의 테이블에는 오브젝트가 저장되고 다른 Commerce 오브젝트 사이의 관계가 포함되어 있으므로 유용하게 사용될 수 있습니다.

 

저장 

모든 데이터가 상호 연관되어 사용 가능하게 되는 마스터 컨테이너로 볼 수 있습니다. 동일한 Commerce 응용 프로그램에 여러 개의 저장을 둘 수 있으며 둘 이상의 저장에서 같은 정보를 사용할 수 있습니다. 모든 저장 정보는 store 및 storeent라는 Commerce 테이블에 저장됩니다.

카탈로그 

Product Center 카탈로그와 유사합니다. 카탈로그는 하나 이상의 저장에 첨부되며 카탈로그 관련 정보는 서로 다른 두 개의 catalog 테이블과 catalogddsc 테이블에 저장됩니다. 카탈로그와 저장 사이의 관계는 storecat에 저장됩니다. 

카테고리 

Product Center의 카테고리와 유사합니다. 카테고리는 카탈로그 아래에 있게 됩니다. 카테고리 관련 정보는 두 개의 catgroup 테이블과 catgrpdesc 테이블에 저장됩니다. 다른 카테고리 사이의 관계는 catgrprel 테이블에 저장됩니다. 카테고리와 카탈로그 사이의 관계는 cattogrp 테이블에 저장되고 카테고리와 저장 사이의 관계는 storecgrp 테이블에 저장됩니다.

제품 

 카테고리 아래에 첨부됩니다. 모든 제품 관련 정보는 서로 다른 baseitem, catentry 및 catentdesc 테이블에 저장됩니다. 제품, 번들, 정적 킷, 동적 킷, 항목 등 이 모든 오브젝트는 동일한 테이블 집합인 catentry/catentdesc에 저장됩니다. catentry의 catenttype_id 필드에 productBean 값이 있으면 현재 오브젝트는 제품이 됩니다. 제품, 정적 킷, 동적 킷 관련 정보는 baseitem라는 하나 이상의 테이블에 저장되는데, 여기서 itemtype_id 필드에 ITEM 값이 있으면 현재 오브젝트는 제품이 됩니다. Storecent 테이블에는 저장과 제품 사이의 관계가 저장됩니다. 카테고리와 제품 사이의 관계는 catgpenrel 테이블에 저장됩니다.

속성 

 제품에 첨부되고 속성 관련 정보는 속성과 제품 사이의 관계가 포함되어 있는 attribute테이블에 저장됩니다. 

항목 

 Product Center의 항목과 유사합니다. 항목은 제품 아래에 첨부됩니다. 항목 관련 정보는 두 개의 테이블 catentry 및 catentdesc에 저장됩니다. 항목과 제품 모두 같은 테이블에 저장됩니다. catenttype_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 오브젝트

모든 Commerce 관련 Product Center 오브젝트는 WC를 통해 사전 보류되므로 다른 오브젝트와 충돌을 일으키지 않습니다.

다음 테이블은 위의 이전 테이블을 요약한 것입니다. 적용 가능한 유효성 검증 세트에 대한 정보는 다음 테이블 뒤에 나오는 유효성 검증 섹션을 참조하십시오.

오브젝트/기능

Product Center 표시 Commerce 표시

저장

아래 값은 Product Center 찾아보기 테이블에서 키 쌍으로 저장됩니다.
  • store_id
  • member_id
  • ffmcenter_id
  • allocationgoodfor – 하나의 ATP가 사용 가능한 경우, ATP Product Center에 대해 정적 값을 더 많이 로드해야 하지만 그 외는 필요하지 않습니다.
  • identifier
  • tradeposcn_id
저장 관련 정보가 STORE 및 STOREENT 테이블에 저장됩니다. 모든 저장은 마스터 카탈로그 하나 및 여러 개의 영업 카탈로그와 관련되어 있습니다.

카탈로그

마스터 카탈로그는 Product Center에서 두 개의 카탈로그와 두 개의 계층 구조로서 표시됩니다.

1. Catentry 카탈로그
2. SKU 카탈로그
3. 제품 계층 구조
4. 제품 SKU 계층 구조

카탈로그별로 특정한 속성은 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에서 이에 대한 표시를 하지 않기 때문에, 제품은 catentrytype_id 필드에 대한 제품으로 값을 선택한 catentry 카탈로그에 정의됩니다. 해당 카탈로그의 사후 저장에서 제품 SKU 계층 구조에 카테고리가 하나 작성되고 catenetry 카탈로그에서 이 제품에 대해 정의된 속성이 보조 스펙으로 작성되며 제품 SKU 계층 구조의 새로 만든 카테고리에 항목 카테고리 스펙으로 첨부됩니다. 또한, 이 계층 구조 스펙의 관계 속성은 catentry 카탈로그의 각 항목에 하나씩 관련됩니다. 사용자가 이 제품 카테고리를 별도로 추가해야 할 필요는 없습니다. catenetry 카탈로그에서 제품을 작성하는 순간, 이 카테고리가 자동으로 작성되어 항목을 추가할 준비를 마치게 됩니다. 제품은 관계 속성에 대한 값이 없으며, 사용자가 입력한 경우에는 유효성 검증 오류가 사라집니다.
제품 정보는 baseitem, catentry 및 cateentrydesc 테이블의 일부로서 저장됩니다. 제품의 기본 항목 식별자는 ITEM이라는 값을 갖는 itemtype_id 필드가 되며, catentry 테이블에서는 ProductBean이라는 값을 갖는 catenttype_id 필드가 됩니다.

SKU

모든 SKU 관련 세부사항은 SKU 카탈로그에 저장됩니다. 이 카탈로그는 모든 제품이 리프 카테고리가 되는 WPVNA SKU 계층 구조와 연관되어 있으며 여기서 이에 대한 속성은 catenetry 카테고리의 사후 저장에서 항목 카테고리 스펙으로서 첨부됩니다. SKU에서 추가되는 동안 링크된 제품에서 각 속성 값에 미리 지정되며 사용자는 원하는 대로 이를 변경하고 저장할 수 있습니다. 모든 SKU 관련 세부사항은 catentry 및 cateentrydesc 테이블에 저장됩니다. catentry 테이블의 catenttype_id 필드에 ItemBean 값이 있으면 현재 입력 항목은 SKU가 됩니다.

번들

catenetry 카탈로그에서 값이 Bundle인 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 값이 있으면 현재 오브젝트는 정적 킷이 됩니다.

동적 킷

catenetry 카탈로그는 Commerce의 동적 킷 오브젝트를 표시하게 되고 catentrytype_id의 값은 DynamicKit이어야 합니다. 이 카탈로그는 제품 계층 구조에 첨부됩니다. 현재 카탈로그 스펙에는 다중 어커런스 속성이고 SKU 카탈로그에 연결되는 하나의 링크 속성을 두게 됩니다. 이와 함께 URL 유형의 다중 어커런스 속성이 하나 더 사용되어 제품 구성자 URL을 표시하게 됩니다. 모든 동적 킷 관련 세부사항은 baseitem, catentry 및 cateentrydesc 테이블에 저장됩니다. catentry 테이블의 catenttype_id 필드에 DynamicKitBean 값이 있으면 현재 입력 항목은 번들이 되고 baseitem 테이블에 itemtype_id 필드에 DNKT 값이 있으면 현재 오브젝트는 동적 킷이 됩니다.

ATP

테이블 저장의 ALLOCATIONGOODFOR 필드에 값이 1이 있으면, 이 기능은 사용 가능하게 됩니다. Product Center에서 이 기능을 나타내는 데 필요한 계산 또는 사용자 입력이 없습니다. 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, 번들, 정적 킷 및 동적 킷 정보는 영업 계층 구조의 일부로 표시될 수 없습니다. 사용자에게 필요한 수만큼 영업 계층 구조를 둘 수 있습니다. 사용자가 카테고리를 직접 만들 수도 있고 마스터 카탈로그나 다른 영업 카탈로그에서 구조를 복사하도록 선택할 수도 있습니다. 이러한 목적을 위해 입력 미리보기 스크립트를 영업 계층 구조에 추가하여 사용자가 현재 카테고리 아래 마스터 카탈로그나 다른 영업 카탈로그에서 구조를 복사하도록 선택할 수 있게 할 예정입니다.

표준 카탈로그가 하나 작성되고 storecat의 mastercatalog 필드는 0으로 설정됩니다.

항목 미리보기

입력 미리보기 스크립트를 이 기능에 사용하게 되는데, 이 기능을 선택하면 Commerce에서 URL 하나가 필요한 항목 정보와 함께 호출됩니다. 이 항목 정보는 현재 입력 항목에 대한 대랑 업로드 XML이 되며, 현재 입력 항목은 카테고리, 제품, 번들, 정적 킷 또는 동적 킷이 될 수 있습니다. WC의 URL을 호출함에 따라 WC 오브젝트의 유형도 전달하게 됩니다.  

추가

추가 작업을 사용하면 속성 뿐 아니라 이미지도 추가되는데, 내보내기 도중 속성 정보는 대량 업로드 XML 구조의 일부로서 전송되고 이미지는 zip으로 압축되어 대량 로드 XML 문서와 함께 전송됩니다.  

수정

추가와 유사합니다. 속성을 변경하면 모든 속성이 함께 전송되도록 트리거되며 부분 정보는 전송되지 않습니다.  

삭제

Product Center에서 삭제가 작성되면, 개별 Commerce 테이블에서 갱신 조치를 트리거하는 Commerce 테이블에서 markfordelete 필드가 설정됩니다. 명령이 모든 조치를 취할 수 있는 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 카탈로그에 항목을 저장하는 동안 적용됩니다. 

Commerce 테이블 정의는 요소 이름 및 요소 속성으로 정의된 다른 테이블 필드를 포함하는 XML 태그로 직접 변환됩니다. 속성 값은 이러한 테이블 필드에 입력할 필요가 있는 실제 값입니다. 1차 키에 대해서만 속성 값이 @ 기호와 함께 미리 지정되므로 Commerce의 1차 키 생성 규칙을 사용하여 1차 키를 다시 작성한 후 이 값을 Commerce 테이블에 저장합니다. 

구현 중에는 필요에 따라 이 테이블의 확장을 하나 이상 추가하고 필드도 더 추가할 수 있습니다. 이러한 경우에는 외래 키의 형태로 확장된 테이블의 해당 레코드에 연결되는 extender 테이블에 링크를 두게 됩니다. 

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 팀의 요구사항에는 정적 페이지에 표시해야 할 데이터와 함께 HTTP Post 호출을 수행할 수 있는 URL이 포함됩니다.

주의사항

IBM은 다른 국가에서 이 책에 기술된 제품, 서비스 또는 기능을 제공하지 않을 수도 있습니다. 현재 사용할 수 있는 제품 및 서비스에 대한 정보는 한국 IBM 담당자에 문의하십시오. 이 책에서 IBM 제품, 프로그램 또는 서비스를 언급했다고 해서 해당 IBM 제품, 프로그램 또는 서비스만을 사용할 수 있다는 것을 의미하지는 않습니다. IBM의 지적 재산권을 침해하지 않는 한, 기능상으로 동등한 제품, 프로그램 또는 서비스를 대신 사용할 수도 있습니다. 그러나 비 IBM 제품, 프로그램 또는 서비스 운영에 대한 평가 및 검증은 사용자의 책임입니다.

IBM은 이 책에서 다루고 있는 특정 내용에 대해 특허를 보유하고 있거나 현재 특허 출원 중일 수 있습니다. 이 책을 제공한다고 해서 특허에 대한 라이센스까지 부여하는 것은 아닙니다. 라이센스에 대한 의문사항은 다음으로 문의하십시오.

135-270
서울특별시 강남구 도곡동 467-12
군인공제회관빌딩, 한국 아이.비.엠 주식회사
고객만족센터
전화번호: 080-023-8080

다음 단락은 현지법과 상충하는 영국이나 기타 국가에서는 적용되지 않습니다.

IBM은 타인의 권리 비침해, 상품성 및 특정 목적에의 적합성에 대한 묵시적 보증을 포함하여(단, 이에 한하지 않음) 묵시적이든 명시적이든 어떠한 종류의 보증없이 이 책을 현상태대로 제공합니다. 일부 국가에서는 특정 거래에서 명시적 또는 묵시적 보증의 면책사항을 허용하지 않으므로, 이 사항이 적용되지 않을 수도 있습니다.

이 정보에는 기술적으로 부정확한 내용이나 인쇄상의 오류가 있을 수 있습니다. 이 정보는 주기적으로 변경되며, 이 변경사항은 최신판에 통합됩니다. IBM 이 책에서 설명한 제품 및/또는 프로그램을 사전 통고없이 언제든지 개선 및/또는 변경할 수 있습니다.

이 정보에서 비 IBM의 웹 사이트는 단지 편의상 제공된 것으로, 어떤 방식으로든 이들 웹 사이트를 옹호하고자 하는 것은 아닙니다. 해당 웹 사이트의 자료는 본 IBM 제품 자료의 일부가 아니므로 해당 웹 사이트 사용으로 인한 위험은 사용자 본인이 감수해야 합니다.

IBM은 귀하의 권리를 침해하지 않는 범위 내에서 적절하다고 생각하는 방식으로 귀하가 제공한 정보를 사용하거나 배포할 수 있습니다.

(1) 독립적으로 작성된 프로그램과 기타 프로그램(본 프로그램 포함) 간의 정보 교환 및 (2) 교환된 정보의 상호 이용을 목적으로 정보를 원하는 프로그램 라이센스 사용자는 다음 주소로 문의하십시오.

135-270
서울특별시 강남구 도곡동 467-12
군인공제회관빌딩
한국 아이.비.엠 주식회사
고객만족센터

이러한 정보는 해당 조항 및 조건에 따라(예를 들면, 사용료 지불 포함) 사용할 수 있습니다.

이 정보에 기술된 라이센스가 있는 프로그램 및 이 프로그램에 대해 사용 가능한 모든 라이센스가 있는 자료는 IBM이 IBM 기본 계약, IBM 프로그램 라이센스 계약(IPLA) 또는 이와 동등한 계약에 따라 제공한 것입니다.

본 문서에 포함된 모든 성능 데이터는 제한된 환경에서 산출된 것입니다. 따라서 다른 운영 환경에서 얻어진 결과는 상당히 다를 수 있습니다. 일부 성능은 개발 레벨 상태의 시스템에서 측정되었을 수 있으므로 이러한 측정치가 일반적으로 사용되고 있는 시스템에서도 동등하게 나타날 것이라고는 보증할 수 없습니다. 또한, 일부 성능은 추정치일 수도 있으므로 실제 결과는 다를 수 있습니다. 이 문서의 사용자는 해당 데이터를 사용자의 특정 환경에서 검증해야 합니다.

비 IBM 제품에 관한 정보는 해당 제품의 공급업체, 공개 자료 또는 기타 범용 소스로부터 얻은 것입니다. IBM에서는 이러한 제품들을 테스트하지 않았으므로, 비 IBM 제품과 관련된 성능의 정확성, 호환성 또는 기타 청구에 대해서는 확신할 수 없습니다. 비 IBM 제품의 성능에 대한 의문사항은 해당 제품의 공급업체에 문의하십시오.

이 정보에는 일상의 비즈니스 운영에서 사용되는 자료 및 보고서에 대한 예제가 들어 있습니다. 이들 예제에는 개념을 가능한 완벽하게 설명하기 위해 개인, 회사, 상표 및 제품의 이름이 사용될 수 있습니다. 이들 이름은 모두 가공의 것이며 실제 기업의 이름 및 주소와 유사하더라도 이는 전적으로 우연입니다.

IBM은 향후 방향 또는 의도에 관한 모든 언급은 별도의 통지없이 변경될 수 있습니다.

프로그래밍 인터페이스 정보

프로그래밍 인터페이스 정보(제공된 경우)는 이 프로그램을 사용하여 응용프로그램 소프트웨어를 작성하는 데 도움을 주기 위한 것입니다.

범용 프로그래밍 인터페이스를 사용하여 이 프로그램 도구 서비스를 확보하는 응용프로그램 소프트웨어를 작성할 수 있습니다.

그러나 이 정보에는 진단, 수정 및 성능 조정 정보가 포함될 수도 있습니다. 진단, 수정 및 성능 조정 정보는 사용자의 응용프로그램 소프트웨어를 디버그하는 데 도움을 주기 위해 제공됩니다.

경고: 이 진단, 수정 및 성능 조정 정보는 변경될 수 있으므로 프로그래밍 인터페이스로 사용하지 마십시오.

상표 및 서비스표

다음 용어는 미국 또는 기타 국가에서 사용되는 IBM 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에는 제외 구성요소가 포함되어 있으며(관련된 라이센스 정보 문서에 명시), 이에 대하여 다음 추가 조항을 적용합니다. 본 소프트웨어에는 제외 구성요소 조항에 의거하여 국제 프로그램 라이센스 계약(IPLA)의 조건에 따른 라이센스가 부여됩니다. 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 and C. Scott Ananian으로부터 라이센스를 취득한 다음 소프트웨어가 포함되어 있습니다. IBM WebSphere Product Center includes the following software that was licensed by IBM from Scott Hudson, Frank Flannery and C. Scott Ananian under the following terms and conditions:

- 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 and 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에는 다음 조건에 따라 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.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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.

Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder.

-----------------------------------------------------------------------------
상기 언급된 모든 상표 및 등록상표는 각 소유권자의 재산입니다.