我在SOA(面向服務架構),我有以下情形一個問題新學:縮放服務邊界(SOA)
在公司(MyCompany的),銷售團隊是有(這是一個技術權威業務能力 - 銷售就是業務能力)。該公司決定創建2個產品,稱Mycompany.Photos.com和Mycompany.Grocery.com。對於這兩個網站他們都需要銷售能力,即訂單接受能力
因此,銷售團隊必須爲這兩個網站工作。因爲,這兩個網站都需要銷售能力。
現在的問題是銷售團隊應該爲每個網站和2個不同的終端創建2個不同的數據庫嗎?
例如:
如果銷售團隊最初有一個隊列 「Mycompany.Sales.Endpoint」,它接收CreateOrderCommand。它處理CreateOrderCommand,在銷售數據庫中創建訂單併發布OrderAcceptedEvent。當他們只支持一個網站時。如果他們開始支持具有相同端點的兩個網站,那麼Sales將如何區分這個訂單是Mycompany.Grocery.com還是Mycompany.Photos?我們應該將Mycompany.Sales.Endpoint分成2個嗎?銷售團隊是否應該瞭解照片網站訂單和雜貨網站訂單?
一個答案,我能想到的是:
- 銷售團隊可以建立各2個不同的數據庫爲Mycompany.Grocery.com 和Mycompany.Photos.com
- 部署2個不同的業務組件(BC)爲每個網站。
對於MycompanyPhotos,銷售將有2個終端對Mycompany.Grocery.com BusinessComponent和「Mycompany.Photos.Sales.Endpoint」說「Mycompany.Grocery.Sales.Endpoint」 。
即使它們處於相同的銷售限制環境下,它是否可以有2個業務組件(BC)?我是否正確,這是我們規模的銷售團隊將支持這兩種產品的銷售能力嗎?
對於長信息我很抱歉。我找不到解釋這個問題的捷徑。
嗨@丹尼斯感謝您的回覆。我編輯了我的問題,並刪除了個人一對一的問題。但我仍然認爲這是一個有效的SOA問題。 –
服務不應該有「許多」業務組件 - 2可能是最應該有的。 –
@RupeshKumarTiwari這當然是一個很好的問題,但是討論在StackOverflow上比在論壇中更難,在論壇中你可以繼續提問並在單個線程中回答問題。我認爲論壇更適合這類問題。 –