首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扩展服务边界(SOA)

扩展服务边界(SOA)
EN

Stack Overflow用户
提问于 2017-04-19 17:26:51
回答 2查看 93关注 0票数 0

我是SOA (面向服务的体系结构)的新学习者,对于下面的场景,我有一个问题:

在一家公司(Mycompany)中,有销售团队(这是业务能力的技术权威-here Sales是业务能力)。Mycompany.Photos.com和Mycompany.Grocery.com表示,该公司决定生产2款产品。对于这两个网站,他们需要销售能力,即订单接受能力。

因此,销售团队必须为这两个网站工作。因为,这两个网站都需要销售能力。

现在的问题是销售团队应该为每个网站创建两个不同的数据库以及两个不同的端点吗?

例如:

如果销售团队最初有一个队列"Mycompany.Sales.Endpoint“并接收CreateOrderCommand。它处理CreateOrderCommand,在sales中创建订单并发布OrderAcceptedEvent。当时他们只支持一个网站。如果他们开始用相同的端点支持这两个网站,那么销售如何区分这个订单是否适用于Mycompany.Grocery.com或Mycompany.Photos?我们应该把Mycompany.Sales.Endpoint分成2种吗?销售团队应该知道照片网站订单和Grocery网站订单吗?

我能想到的一个答案是:

  1. 销售团队可以为Mycompany.Grocery.com和Mycompany.Photos.com分别创建两个不同的数据库
  2. 为每个网站部署2个不同的业务组件(BC)。
  3. 销售将有两个端点,如"Mycompany.Grocery.Sales.Endpoint“( Mycompany.Grocery.com BusinessComponent )和"Mycompany.Photos.Sales.Endpoint”( MycompanyPhotos )。 即使是在相同的销售范围内,它能有2个业务组件(BCs)吗?我说的对吗,这是我们规模销售团队支持这两种产品销售能力的方式吗?

我很抱歉这么长时间的留言。我找不到任何捷径来解释这件事。

EN

回答 2

Stack Overflow用户

发布于 2017-04-19 20:44:33

服务是业务能力的技术权威。

如果您应该能够区分订单与任何一个系统,但您不能,您可能正在为多个业务功能构建一个“技术权威”。

除此之外,服务可以有许多组件。与其专注于技术问题,不如专注于业务问题,看看你是否可以解释。但是,像Stackoverflow这样的平台,在问答中有1比1的比例,可能并不适合这样的问题。

票数 2
EN

Stack Overflow用户

发布于 2017-04-21 07:31:16

我认为更好的方式来思考这种情况--实际上你有两家公司--一家在食品业,一家有相应的能力来弥补,另一家在摄影行业。即使这两家“公司”碰巧共享相同的公司文件,你也不应该把它看作一个单一的实体。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43502357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档