概念和思想.pptVIP

  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 概念和思想 中央软件部总体技术部 2008-02-18 * 目录 * 软件设计的发展历程 面向过程的编程:以C语言为最典型的代表,是一种紧密耦合的软件设计技术 面向对象的编程:将面向过程相关的函数封装起来,消除全局变量,使用接口对外提供具体功能,形成能够独立调用的对象,实现对象可重用,可扩展,可继承。 面向组件的编程:对面向对象程序进一步封装,提供实现远程调用的接口和位置透明的能力,如Jee/Corba/.Net平台。但他们有一共同的缺点,实现技术的不透明性。 面向服务的编程:在面向组件编程的基础上,进一步提供粗力度,松耦合以 及技术透明的组件,从而提高系统的扩展性和重用性。 * 什么是SOA SOA是一个Diagram,不是一个具体的架构,就像经常说的OOD一样,描述 的是一组设计原则 什么是设计原则: Represents a highly recommended guideline for shaping solution logic in a certain way 看看OOD中的例子: 单一责任原则(SRP) 开闭原则(OCP) 替换原则(LSP) 依赖倒置原则(DIP)等等。 SOA也定义了类似的原则 * 驱动SOA的动力 SOA的重点就是找出解决上述问题的方法 * 服务的概念 A service can essentially act as a container of related capabilities. It is comprised of a body of logic designed to carry out these capabilities and a service contract that expresses which of its capabilities are made available for public invocation 举例子:ATM取款机服务所包含的capabilities 1. 取款功能 2. 余额查询功能 3. 存款功能 * 服务契约 A contract for a service establishes the terms of engagement, providing technical constraints and requirements as well as any semantic information the service owner wishes to make public. 主要包含四个部分: 1. 功能描述(定义business驱动的接口而不是technical驱动的接口) 2. 使用这些功能所需要的交互的数据信息的描述 3. 策略信息(技术约束、QOS等) 4. 其他非技术文档(SLA等) * 服务契约 A contract for a service establishes the terms of engagement, providing technical constraints and requirements as well as any semantic information the service owner wishes to make public. * 服务耦合 Logic to Contract耦合: 先设计物理契约,然后再实现底层的逻辑 导致从实现逻辑到契约之间的单向的紧耦合 这是一个正面的设计方式 Contract to Logic耦合: 现有底层的实现逻辑,而后推导出最终的物理契约 导致从契约到实现逻辑之间的单向的紧耦合 这是一个负面的设计方式 Contract to Technology耦合 物理契约本身的设计,暴露了实现逻辑所使用的技术细节 导致从契约到实现逻辑之间的单向的紧耦合 这是一个负面的设计方式 Contract to Implementation耦合 物理契约的设计,暴露了实现逻辑内部的数据模型和数据结构 这是一个负面的设计方式 * 服务消费者耦合 Consumer-to-Implementation Coupling耦合: 消费者绕过契约,直接访问服务的实现逻辑 这是一个负面的设计方式 Consumer-to-Contract Coupling耦合: 消费者通过契约来访问服务 这是一个正面的设计方式 但是服务和契约之间的耦合最终会导致消费者和服务之间的耦合: * 服务重用 Logic to Contract耦合 Contra

文档评论(0)

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

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

1亿VIP精品文档

相关文档