【发布时间】:2017-09-07 04:38:34
【问题描述】:
Web 服务中的“功能上下文”是什么意思。
每个服务都被分配了自己独特的功能上下文,并且是 由一组与此上下文相关的功能组成
【问题讨论】:
标签: rest web-services soap soa
Web 服务中的“功能上下文”是什么意思。
每个服务都被分配了自己独特的功能上下文,并且是 由一组与此上下文相关的功能组成
【问题讨论】:
标签: rest web-services soap soa
简而言之,做一件事并把它做好。通常在 SOA 中,您将拥有许多不同的服务,每个服务都处理自己的上下文。例如,在销售系统中,您可能有客户、销售代表和订单服务。在银行架构中,您可以拥有客户、产品、金融工具和交易(借记、贷记)服务。
SOA 的一个有趣功能是,一旦您拥有大量不同的小型服务,您就可以开始通过编排其他服务来为架构添加功能。请允许我在这里打个比方。开始将服务视为乐高积木。它们是一体的,一种形状,仅此而已。你可以用积木建造房子、汽车或其他任何东西。
所以功能上下文是服务的主题/目标。例如,在银行业,我们会有客户服务。客户服务的能力意味着我们仅拥有与该服务相关的运营。例如创建客户、按区域查找客户列表、更新详细信息等。您永远不会通过客户服务创建新的金融工具。
这个想法是将问题域中的所有对象划分到它们自己的上下文中,并在该上下文中为这些对象开发功能。
不遵循这种设计模式可能会产生的一个问题是,您最终会得到具有奇怪操作的服务,例如让客户进行创建金融工具操作。这是不正确的,因为客户可能与金融工具(他们的储蓄账户、信用卡等)相关联,但它不是该工具的所有者。
基本上所有的意思是,如果您创建一个服务,它应该只处理一个关注领域,并且只有与这个关注点相关的操作。
请记住,没有什么可以告诉您这些上下文是什么。这是您根据上下文决定的设计过程的一部分。
【讨论】: