本周SOA模式:可知环境

日期: 2009-02-15 作者:Thomas Erl翻译:杨君 来源:TechTarget中国 英文

如果一个服务是可重用服务的话,还应该称其为服务吗?就这一模式来说,答案是否定的。在服务建模和设计阶段,不可知服务(具有可重用特性,并且每个Agnostic Context都可以提供多功能逻辑)受到了广泛的关注。但是任何只关注不可知服务逻辑的做法都是不完全的。   可知逻辑代表既定业务流程或者任务的所有功能。

换句话说,可知逻辑本身是单一功能逻辑因此不能重用。可知逻辑最为普遍的形式和其它服务的组合有关。   当把众多服务合成为一体时,业务决策驱动功能的原始层通常会创建业务任务的工作流。因为这种类型的功能通常是针对某个具体的任务,因为被认为具有单一功能(或者可知),并进一步被分成独立的任务服务(由P……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

如果一个服务是可重用服务的话,还应该称其为服务吗?就这一模式来说,答案是否定的。在服务建模和设计阶段,不可知服务(具有可重用特性,并且每个Agnostic Context都可以提供多功能逻辑)受到了广泛的关注。但是任何只关注不可知服务逻辑的做法都是不完全的。

  可知逻辑代表既定业务流程或者任务的所有功能。换句话说,可知逻辑本身是单一功能逻辑因此不能重用。可知逻辑最为普遍的形式和其它服务的组合有关。

  当把众多服务合成为一体时,业务决策驱动功能的原始层通常会创建业务任务的工作流。因为这种类型的功能通常是针对某个具体的任务,因为被认为具有单一功能(或者可知),并进一步被分成独立的任务服务(由Process Abstraction相关模式创建的服务模型)。

  在大多数服务定向解决方案中,可知逻辑需要同不可知逻辑分开,但是为什么还要将其置入服务中呢?简单来说“不需要将其置入服务中。”“你可以把这个原始逻辑置入一个丰富客户,单片机系统当中,或者其它服务定向软件程序中,服务组合依然可以实现。Non-Agnostic Context不会要求你创建服务,只会告诉你这样做的好处。

  最近单一功能服务:理解Non-Agnostic Context及其实施策略这篇文章中刊登这些好处。文章作者:Herbjorn Wilhelmsen。在这里,我们并没有重复只是简要列举其中的一些好处:

  ·众多供应商
  ·不受变化影响
  ·治理集中(把所有这些放在一起)
  ·最佳服务组合
  ·分担用户计算机的任务
  ·业务调整(关注点分离)

  为了实现服务组合最佳化,现在我们简要看一下上述第四条。

  服务定向将组合这个概念提升到了一个新的高度。它不仅关注如何将分散的软件程序成功的组合成自含程序,同时还关注灵活和自适应组合。这意味着在设计服务时不仅要考虑到服务需要参与到大型组合中去,同时还有让其能增加扩展并重新配置现有组合,并且不管业务需求发生怎样的变化,还要参与到新的组合中去。

  有效重组这些服务(例如每个Capability Recomposition模式)取决于服务定向在机构层面最大限度启动业务灵活性的能力。服务定向的设计原则可以通过将服务塑造成高效组合成员实现这一目标。

  还有一种方法是从组合的角度来看待这个问题。一个服务组合就是一个机械实体,这个机械实体由分散移动部分构成,这些分散移动部分需要在运行时间合力工作,以便执行主要业务任务。那些无法通过服务定向严密考验的那部分组合会成为整个组合质量和性能的薄弱环节。

  在非服务定向程序和平台中置入可知逻辑会降低服务组合的效用和潜能,有时会令这些效用和潜能大打折扣。较为大型的、复杂组合更是如此,这些组合服务内部依赖相互的行为要求,并且服务性能要求也得到了扩大。

  Non-Agnostic Context模式可以解决这几个要求,因此单一功能逻辑可以被封装到服务中。这些服务得到调整和最佳化,以便参与现有的服务组合,以便帮助它们进一步改良。

相关推荐