Soa+概念和思想

Soa+概念和思想

ID:45076813

大小:934.00 KB

页数:23页

时间:2019-11-09

Soa+概念和思想_第1页
Soa+概念和思想_第2页
Soa+概念和思想_第3页
Soa+概念和思想_第4页
Soa+概念和思想_第5页
资源描述:

《Soa+概念和思想》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、SOA概念和思想中央软件部总体技术部2008-02-182目录3软件设计的发展历程面向过程的编程:以C语言为最典型的代表,是一种紧密耦合的软件设计技术面向对象的编程:将面向过程相关的函数封装起来,消除全局变量,使用接口对外提供具体功能,形成能够独立调用的对象,实现对象可重用,可扩展,可继承。面向组件的编程:对面向对象程序进一步封装,提供实现远程调用的接口和位置透明的能力,如Jee/Corba/.Net平台。但他们有一共同的缺点,实现技术的不透明性。面向服务的编程:在面向组件编程的基础上,进一步提供粗力度

2、,松耦合以及技术透明的组件,从而提高系统的扩展性和重用性。4什么是SOASOA是一个Diagram,不是一个具体的架构,就像经常说的OOD一样,描述的是一组设计原则什么是设计原则:Representsahighlyrecommendedguidelineforshapingsolutionlogicinacertainway看看OOD中的例子:单一责任原则(SRP)开闭原则(OCP)替换原则(LSP)依赖倒置原则(DIP)等等。SOA也定义了类似的原则5驱动SOA的动力SOA的重点就是找出解决上述问题的

3、方法6服务的概念Aservicecanessentiallyactasacontainerofrelatedcapabilities.Itiscomprisedofabodyoflogicdesignedtocarryoutthesecapabilitiesandaservicecontractthatexpresseswhichofitscapabilitiesaremadeavailableforpublicinvocation举例子:ATM取款机服务所包含的capabilities1.取款功能2.

4、余额查询功能3.存款功能7服务契约Acontractforaserviceestablishesthetermsofengagement,providingtechnicalconstraintsandrequirementsaswellasanysemanticinformationtheserviceownerwishestomakepublic.主要包含四个部分:1.功能描述(定义business驱动的接口而不是technical驱动的接口)2.使用这些功能所需要的交互的数据信息的描述3.策略信息

5、(技术约束、QOS等)4.其他非技术文档(SLA等)8服务契约Acontractforaserviceestablishesthetermsofengagement,providingtechnicalconstraintsandrequirementsaswellasanysemanticinformationtheserviceownerwishestomakepublic.9服务耦合LogictoContract耦合:先设计物理契约,然后再实现底层的逻辑导致从实现逻辑到契约之间的单向的紧耦合这是一

6、个正面的设计方式ContracttoLogic耦合:现有底层的实现逻辑,而后推导出最终的物理契约导致从契约到实现逻辑之间的单向的紧耦合这是一个负面的设计方式ContracttoTechnology耦合物理契约本身的设计,暴露了实现逻辑所使用的技术细节导致从契约到实现逻辑之间的单向的紧耦合这是一个负面的设计方式ContracttoImplementation耦合物理契约的设计,暴露了实现逻辑内部的数据模型和数据结构这是一个负面的设计方式10服务消费者耦合Consumer-to-Implementation

7、Coupling耦合:消费者绕过契约,直接访问服务的实现逻辑这是一个负面的设计方式Consumer-to-ContractCoupling耦合:消费者通过契约来访问服务这是一个正面的设计方式但是服务和契约之间的耦合最终会导致消费者和服务之间的耦合:11服务重用LogictoContract耦合ContracttoLogic耦合ContracttoTechnology耦合ContracttoImplementation耦合12服务抽象为什么抽象是必须的:1.容易导致ContracttoImplementa

8、tion耦合2.降低了服务自己升级、演化的能力服务抽象的几个方面:1.TechnologyInformation(技术实现和底层逻辑)2.FunctionalInformation(功能接口)3.ProgrammaticLogicInformation()4.QualityofServiceInformation(服务的行为和约束)13服务抽象为什么抽象是必须的:1.容易导致ContracttoImplementation耦合2.降低了服务

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。