一软件架构设计思想2.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八节 面向服务架构(SOA) 面向服务的架构 (Service-Oriented Architecture SOA)是一种形式化的分离服务的架构风格,这是最近一两年出现在各种技术期刊上最多的词汇了。 面向服务的架构关注的是哪些是服务向用户提供的功能,哪些是需要这些功能的系统,这种分离,使用一种服务合约(Service Contract)的机制来完成的。 现在有很多架构设计师和设计开发人员简单的把SOA和Web Services技术等同起来,这是不准确的,事实上Web服务只不过是SOA的一种实现形式,这之间并没有什么必然联系。 本质上来说,SOA体现的是一种新的系统架构,SOA的出现,将为整个企业级软件架构设计带来巨大的影响。 一、SOA的优点 SOA对现代企业架构具有很大的好处,它为应用程序的集成提供了一条重要的新道路。 SOA框架的特点是以服务为中心,它把应用程序划分成具有明确定义接口的模块,从而得到服务和应用程序之间相当松散的耦合。 这样SOA中创建的系统,很大程度上提高了应用系统的可用性、互操作性、可维护性以及可靠性。 在这样的架构中,服务供应商和消费者是两个独立的实体。 这种服务供应商和消费者之间的松散耦合也有利于消费者,因为消费者可以有更多的服务供应商可供选择。 这种松散的耦合也有助于服务提供者,因为同一个服务可以被不同的消费者实现不同业务价值的应用程序,同时服务也更加容易修改,以满足不断变化的业务需求。 并且,通过SOA组装起来的应用系统,可以更加容易的修改,以满足不断变化的业务需求。 SOA的服务是有价的,这就可以极大的增加公司所拥有的数据和拥有资源的价值。 面向服务的架构的优点主要体现在以下几个方面: 降低应用开发费用。 降低维护费用。 增长的公司敏捷性。 生成对应用程序和设备的故障、中断更具免疫力的系统,提高整体的可靠性。 提供了一条应用系统的升级途径,对比使用单一的应用程序的时候,需要替换整个应用系统的标准升级方法,显然更为经济,更不容易失败。 我们来子细讨论一下这几方面的情况。 开发费用下降是一下原因: 代码复用的机会增加了。 大部分的代码都经过了详细测试。 表示层是唯一需要为不同客户定制的层次。 一旦SOA系统被建立起来,并且应用开发的员工培训完毕,就可以看到SOA基础设施的代码有许多地方是可以被复用的,创建新的应用程序成了简单的即插即用操作。这种即插即用操作的能力甚至可以制作专门的组件,通过这些组件之间的松散耦合来实现。 复用很大程度上可以降低开销,尤其是测试方面的代码量。 这是因为真正困难的事情,比如:通信、资源访问以及业务逻辑,都没有改变。 SOA 也可以减低开发新的应用带来的风险。这是因为新应用和原有的SOA服务是完全松散耦合的,组建之间的依赖关系相当小。 事实上,用户界面是变化最大也是对用户影响最大的部分。 SOA 架构在这方面的的优势是非常大的。一般来说,基于浏览器的GUI 通过SOA只能得到有限的好处,但是以Java Swing或者Windows界面作为客户界面,可以得到相当大的好处。 经过良好测试的SOA架构一般可以提供系统的不变部分,它可以对各种不同的客户应用提供服务,在SOA 框架下开发的应用程序耦合确实非常小,这使我们有把握的相信,系统的改变造成无法预期的副作用的风险大大降低了。 对企业来说,SOA带来的增值结果的原因在于,由于它更容易对新情况和新机会做出反应,所以它提高了公司的敏捷性。 二、SOA的特性 我们已经讨论了SOA 的好处,现在让我们看一下SOA 架构的概貌。 总的来说,SOA 有以下特性: 服务具有明确的接口(合约)与策略。 服务通常代表业务功能或者领域。 服务拥有模块化的设计。 服务被松散的耦合在一起。 服务是可以被发现的。 服务的位置对客户是透明的。 服务是独立于传输层的。 服务是独立于平台的。 SOA可以通过很多方式来实现,但最常用的SOA是用Web Service来实现,这主要应为Web Service的独立于平台的特性和其它特性更符合SOA 的规则。 很多文章把SOA和Web Service等同起来,这是不正确的,因为Web Service只不过是SOA在互联网的一种实现,但不是本身意义上的SOA,下面我们将讨论本身意义上的SOA完整定义。 1)服务具有明确的接口与策略 明确定义服务具有的接口(合约)是SOA 的核心定义。 所有的服务都必须发布一个合约,这个合约浓缩了服务和客户之间的协议,这个合约是消费者寻找服务的时候需要阅读的东西。这个合约包含了创建可以访问服务的客户所必需的所有信息,使用这个合约信息来访问服务,称之为绑定(binding)。 合约应该包含两部分内容,一个是接口,另一个是业务策略。 普通对象概念

文档评论(0)

kabudou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档