既然我们已经分别介绍了面向服务的普遍原则。我们就能研究它们应用的其它方面。在文章的最后部分,我们将讨论这些原则是怎样相互联系并相互影响的。它们之间的关系非常具体并形成了面向服务范例独特的动力。
我们简要的看一下这些特定的原则是怎样通过使用抽取层来让这些原则的应用超越服务层面的。 这些原则是怎样联系起来的? 要深入理解服务定向,认清应用这些普遍原则的原因和后果非常重要。通过研究原则间的相互关系,我们不仅要保证每个服务支持或被其它服务支持得以实现,同时要对什么能令服务定向和其它设计范例相区别进行评估。 拿服务重用性这个基本原则为例,在图3中你会看到这些椭圆符号代表的原则和箭头表示的关系。
……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
既然我们已经分别介绍了面向服务的普遍原则。我们就能研究它们应用的其它方面。在文章的最后部分,我们将讨论这些原则是怎样相互联系并相互影响的。它们之间的关系非常具体并形成了面向服务范例独特的动力。我们简要的看一下这些特定的原则是怎样通过使用抽取层来让这些原则的应用超越服务层面的。
这些原则是怎样联系起来的?
要深入理解服务定向,认清应用这些普遍原则的原因和后果非常重要。通过研究原则间的相互关系,我们不仅要保证每个服务支持或被其它服务支持得以实现,同时要对什么能令服务定向和其它设计范例相区别进行评估。
拿服务重用性这个基本原则为例,在图3中你会看到这些椭圆符号代表的原则和箭头表示的关系。服务重用被放在了中心,因为这是我们目前感兴趣的关系。指向该原则的箭头代表其它原则产生的影响。从符号指出的箭头指明了实施可重用的自动化逻辑怎样影响到另一项原则的实现。
在该示意图里,明显可以看出有多少其他原则影响并支持服务在现实中能够实现的重用。实现重用不仅取决于设计,还和服务在现实世界的实施有关,该实施是服务定向的核心目标,也是实现SOA利益的关键.因此一些其他的原则显露出来支持这个目标。
我们仔细研究一下这些关系。
·服务独立性形成了一个有利于重用的执行环境,因为服务实现了高度的独立和自治。服务的依赖性越小,可重用性的范围就越广。
·服务无状态性支持重用,因为它能最大限度地提供服务并促进一个普通服务设计,这个普通服务设计推迟对状态管理服务范围以外的对特定活动处理。
·服务抽取性促进重用,因为它确定了黑匣子的概念。专有数据处理详细资料被隐藏起来和潜在消费者只知道有一个由普通公共接口代表的存取点。
·服务的可发现性促进重用,因为这可以让那些建立用户的人去寻找,发现和评估提供重用功能的服务。
·服务松耦合建立一种内在的独立性,该独立性把一个服务从即时联系中解放出来,这就使实现重用更为简单。
·主要是由于重用,服务组合性才得以实现。当这些被组合的服务是为了重用而建立时,通过将现有服务组合,自动化要求就能够得以实现。(从技术角度来说,可以建立一个服务,该服务的唯一目的就是被其它服务组合,但是我们普遍强调重用。)
研究原则间的关系可能很复杂。这不仅是一个原则是否被应用的问题,同样也是其被应用程度的问题。
在该系列文章的前面,我们知道,每一项原则可以落实到某一个程度。这可以使量度一个原则实际实现的程度及其可以在何种程度上影响到其它原则十分具有挑战性,。不过,根据第一手的经验,我可以告诉你,反复浏览面向服务的分析与设计过程可以使我们熟悉服务定向,并最终明智的判断这些原则在何种层次上相互联系。
抽取,松耦合和服务层
学习这些关系使得我们要考虑到一个既定服务的单个原则的应用以外的东西。但是,要在整个企业范围成功的应用服务定向,需要进一步研究超越现实服务界限的一些特定的原则。
我们已在由六部分组成的业务分析和SOA系列文章的第二部分介绍了服务模型。简要的说,作为一个整体,服务模式,用预先定义的设计特点为各类常见的服务建立样板。在业务分析和SOA的文章中,我们的重点是有业务环境的服务模式,其中包括:
·以实体为中心的业务服务
·任务为中心的业务服务
·过程服务
另一个我们应该简要介绍的模型本意不是以业务为中心的。我们将其看作是一个应用或一个基础设施服务,这个基础设施服务普遍代表一个处理逻辑的实体,该逻辑用于解决跨领域问题。常见的例子包括通知,事件日志,异常处理和数据格式转换
如图4所示的情况,涉及三个服务层,底层是把先前所描述的服务模式称作实体应用服务。
使用服务模型使我们能在大范围内实现功能抽取的概念。基于同样模型的一组服务和其有共同的特点可以在企业里集体抽取一个域。这样就能有效的建立一个服务抽取层。
这些抽取层不用局限于先前我们提到的那些服务模型。一个机构可以定义自己的一套服务模型。每一项服务模型都可以具体到它喜欢如何分割逻辑企业域。举例来说,一个商业服务模式,可以专为一个公司业务部门所建立(如人力资源部或销售部)。基于该模型的服务就会有功能边界,这些功能边界被局限到机构的那个部门,并且共同封装一个和该部门相对应的域。所有的这些任务将服务可抽取性这个原则提升到了一个新的层面,因为我们应用的服务超越了单一服务界限,代表服务的集合。
使用域级别的抽取,让我们也可以应用远远超出服务界限的松耦合。封装域的服务层代表企业内部的功能逻辑体,这些功能逻辑体为了能让普通业务流程和任务自动化,需要相互作用。就我们所知,松耦合通过让服务相对独立的演进令SOA受益。一旦应用于企业领域,服务抽取层在一个机构的所有部门建立了松耦合。因此,在支持高效、跨域交互作用时,能够准许域更加独立地演进。
结论
在目前市场里,围绕“SOA”一词的使用有很多歧义。了解那些被认为是"以服务为本"的事物的真正含义是什么,比以往更加重要。对服务定向设计范例和其原则的丰富知识,可以帮助我们更好的理解。这使杠杆作用面向服务的计算机处理技术为了支持你的战略目标可以提供些什么,并能使评估“面向服务”的产品和平台的合法性所需的清晰度得以实现。
我希望您能喜欢我们对服务定向的范式的介绍。若需要对我们讨论的有关原则有更详细的了解,希望您访问www.serviceorientation.org 。
相关推荐
-
BEST:简化面向服务和软件工程
面向服务虽说不是新词,但如果你对面向服务的理解只是认为简单的编写代码的话,那就大错物特错了。
-
NetWeaver和SOA的差别和特点
SAP NetWeaver是目前支持所有SAP应用的基础产品,是最佳的企业应用软件的研发平台、同时又为企业搭建一个基于NetWeaver的面向服务的IT架构。
-
云设施大行其道 SOA该如何构架?
相对于传统的IT架构而言,为云来搭建一个SOA的基础设施是个大为不同的挑战。这一点也不奇怪。但在对这种新的SOA设施进行定义、建模和设计时,哪一种架构概念……
-
Gartner:SOA将成为架构师进军云计算的基石
SOA已经成为现代IT固有的一部分,而且未来在云计算和事件驱动应用中也将成为一股潜在的力量。但是,根据Gartner专家所述,在很多方面,SOA主观上或多或少……