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。
posted on 2009-09-01 14:29
Aaron.Chu 閱讀(189)
評論(0) 編輯 收藏