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 閱讀(198) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2009年9月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          留言簿(5)

          隨筆檔案(57)

          相冊

          友情鏈接

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 沽源县| 平乡县| 郧西县| 大竹县| 巴南区| 建平县| 通城县| 蒙山县| 比如县| 宕昌县| 左云县| 平邑县| 孝感市| 色达县| 东源县| 马龙县| 宾阳县| 砀山县| 黔南| 阜康市| 潞西市| 宁明县| 德惠市| 武山县| 万盛区| 丹东市| 山阳县| 珲春市| 大名县| 隆回县| 乌鲁木齐市| 呼玛县| 仁布县| 嘉善县| 柳州市| 娄底市| 韩城市| 日喀则市| 凤山市| 沈阳市| 东丰县|