0

我正在阅读有关 SOA 和制作 SOA 应用程序所需的四个原则。我尝试了不同的来源,但解释是曲折的。我正在寻找一些不那么抽象的东西。我的解释正确吗?

四大原则是:

  1. 服务有明确的边界
  2. 服务是自治的
  3. 服务共享模式和契约,而不是类
  4. 服务基于策略互操作

我的解释是:

  1. 客户可能使用的方法应易于使用且定义明确。
  2. 服务不得依赖于他人。一项服务的更改不得以任何方式影响另一项服务。
  3. 方案表示将要发送的数据,合同包含服务的定义方法。为了使系统松耦合,您共享方案和合同而不是类和对象。
  4. 使用服务的策略可能是需要特定类型的绑定,以便可以使用它。任何想要使用此服务的人都必须使用这种类型的绑定来连接它。
4

1 回答 1

0

在programmers.stackexchange.com 得到答案。我从 GlenH7 重新发布答案:

你的抽象非常接近,是的。

  1. 是的。封装良好是另一种看待这个问题的方式。
  2. 是的,但是...服务可以依赖其他服务来实现功能,尤其是在避免重复代码的情况下。我猜,这里的细微差别在于依赖的定义。
  3. 是的。服务执行计划的合同。用户提供 XYZ 数据,服务将根据合同提供 ABC 操作。
  4. 我认为服务是根据商业政策运作的。业务策略不应达到指定绑定的级别。从实施业务策略的角度来看,您可以看到某些服务将依赖于其他服务以在不复制代码的情况下履行其合同。在更广泛的层面上,业务政策只是一堆规则。希望与每个规则很好地互操作的规则。但就像人力资源一样,业务规则也有一个令人讨厌的习惯,即彼此不相处。服务是这些业务规则的实例化。从较低级别的角度来看,如果调用者不使用广告绑定,那么调用者将(显然)无法使用该服务。所以虽然你的陈述是正确的,但它有点重言式
于 2013-04-19T13:12:26.237 回答