Websphere Commerce Contract data model

Websphere Commerce Contract data model
Contract在B2B model中显得极为重要,从产品的显示,价格选择,到最后的支付等等,都跟Contract相关,Commerce中有关Contract的概念有 Business Account,Contract,Terms and Conditions,Participants等。
Business Account代表着store和customer organization的关系,每个buyer Organization拥有一个Business account,在account下可定义多个Contract,account中的内容主要包括:
1. Organization name,contact person name
2. 该Organization所属store的department和account representative,
3. purchase orders information
4. Invoice related info.
5. shipping method available
6. payment terms.
7. 该Organization的定制信息,可显示在store的页面上。

Contract 定义了organization在特定的时间段内以特定的价格购买特定的产品。当创建store的时候,系统就已经产生了个default conract,这个Contract不属于Business account,它适用于guest,unentitled和anon等没有customer Contract的用户,当用户拥有多个Contract的时候,系统会比较,选出一个最适合用户的合同。 Contract主要包括:
1. Participants:Contract的受众,可以是buyer/seller organization,以及contacts。
2. Terms and conditions:定义了Contract的实现细节,像产品目录选择,产品的价格,shipping,billing,order approval等。
相关文章:
TERMCOND database table column mapping
Case Study: WebSphere Commerce contract modeling

Contract Data Model图:

整 个data model的核心是contract,account和trading三张表,contract和account和 trading是唯一性关系,contract和account是trading的一种,这个设计跟member的设计一样,在member data model中,orgentity和user跟member也是唯一性关系。理解了这一点,整张图看起来就比较好理解了。
 Trading表
trading是所有的trading agreement的集合,包括account,contract,还包括RFQ,Auction等等,所有的这些aggreement type定义在TRDTYPE表中。
trdattach,attachment,termcond, tcsubtype,participant,policytc表: 这些表都是跟trading aggreement相关的,所以都跟trading表有关联。

Account表
跟 account关联的表是member和store,member表示该account的owner,store表示该account是属于哪个 store。前面曾经提到过每个Organization都可建立一个Business account,但要注意该Organization并不是acccount的owner,而只是一个participant,所有Business account的owner其实都是所属store的owner。
以下是一个为ecom china创建的Business account的片段,可以看到ecom china只是一个account holder,而真正的owner是ecom seller organizationecom,该owner也就是store的owner。

<Participant role = "AccountHolder" 
            createTime = "2009-06-12T09:17:21" updateTime = "2009-06-12T09:17:21">
        <ParticipantMember>
            <OrganizationRef distinguishName = "o=ecom china,o=ecom buyer organization,o=basics buyer organization,o=root organization"/>
        </ParticipantMember>
    </Participant>
<AccountUniqueKey name = "ecom China-10601">
        <AccountOwner>
            <OrganizationRef distinguishName = "ou=ecom seller organizationecom,o=ecom seller organization,o=basics seller organization,o=root organization"/>
        </AccountOwner>
    </AccountUniqueKey>

contract表
与contract相关的表有cntrstore,storecntr,catcntr,store.
在 创建一个store的时候,系统会创建一个usgae为‘reseller’的contract,这个contract是跟store本身相关的。 store表中CRTDBYCNTR_ID这个字段就指的是这个contract。该contract不是base contract也不是default contract。

cntrstore表中存放的是用来创建store的xml信息和创建store的contract的id。

storecntr存放的是在该store中成功部署的contracts。
catcntr存放contract允许的catalog。

你可能感兴趣的:(Websphere Commerce Contract data model)