已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Soa概念和思想 中央软件部总体技术部2008 02 18 2 目录 3 软件设计的发展历程 面向过程的编程 以C语言为最典型的代表 是一种紧密耦合的软件设计技术 面向对象的编程 将面向过程相关的函数封装起来 消除全局变量 使用接口对外提供具体功能 形成能够独立调用的对象 实现对象可重用 可扩展 可继承 面向组件的编程 对面向对象程序进一步封装 提供实现远程调用的接口和位置透明的能力 如Jee Corba Net平台 但他们有一共同的缺点 实现技术的不透明性 面向服务的编程 在面向组件编程的基础上 进一步提供粗力度 松耦合以及技术透明的组件 从而提高系统的扩展性和重用性 4 什么是SOA SOA是一个Diagram 不是一个具体的架构 就像经常说的OOD一样 描述的是一组设计原则 什么是设计原则 Representsahighlyrecommendedguidelineforshapingsolutionlogicinacertainway 看看OOD中的例子 单一责任原则 SRP 开闭原则 OCP 替换原则 LSP 依赖倒置原则 DIP 等等 SOA也定义了类似的原则 5 驱动SOA的动力 SOA的重点就是找出解决上述问题的方法 6 服务的概念 Aservicecanessentiallyactasacontainerofrelatedcapabilities Itiscomprisedofabodyoflogicdesignedtocarryoutthesecapabilitiesandaservicecontractthatexpresseswhichofitscapabilitiesaremadeavailableforpublicinvocation 举例子 ATM取款机服务所包含的capabilities1 取款功能2 余额查询功能3 存款功能 7 服务契约 Acontractforaserviceestablishesthetermsofengagement providingtechnicalconstraintsandrequirementsaswellasanysemanticinformationtheserviceownerwishestomakepublic 主要包含四个部分 1 功能描述 定义business驱动的接口而不是technical驱动的接口 2 使用这些功能所需要的交互的数据信息的描述3 策略信息 技术约束 QOS等 4 其他非技术文档 SLA等 8 服务契约 Acontractforaserviceestablishesthetermsofengagement providingtechnicalconstraintsandrequirementsaswellasanysemanticinformationtheserviceownerwishestomakepublic 9 服务耦合 LogictoContract耦合 先设计物理契约 然后再实现底层的逻辑导致从实现逻辑到契约之间的单向的紧耦合这是一个正面的设计方式 ContracttoLogic耦合 现有底层的实现逻辑 而后推导出最终的物理契约导致从契约到实现逻辑之间的单向的紧耦合这是一个负面的设计方式 ContracttoTechnology耦合物理契约本身的设计 暴露了实现逻辑所使用的技术细节导致从契约到实现逻辑之间的单向的紧耦合这是一个负面的设计方式 ContracttoImplementation耦合物理契约的设计 暴露了实现逻辑内部的数据模型和数据结构这是一个负面的设计方式 10 服务消费者耦合 Consumer to ImplementationCoupling耦合 消费者绕过契约 直接访问服务的实现逻辑这是一个负面的设计方式 Consumer to ContractCoupling耦合 消费者通过契约来访问服务这是一个正面的设计方式 但是服务和契约之间的耦合最终会导致消费者和服务之间的耦合 11 服务重用 LogictoContract耦合 ContracttoLogic耦合 ContracttoTechnology耦合 ContracttoImplementation耦合 12 服务抽象 为什么抽象是必须的 1 容易导致ContracttoImplementation耦合2 降低了服务自己升级 演化的能力 服务抽象的几个方面 1 TechnologyInformation 技术实现和底层逻辑 2 FunctionalInformation 功能接口 3 ProgrammaticLogicInformation 4 QualityofServiceInformation 服务的行为和约束 13 服务抽象 为什么抽象是必须的 1 容易导致ContracttoImplementation耦合2 降低了服务自己升级 演化的能力 服务抽象的几个方面 1 TechnologyInformation 技术实现和底层逻辑 2 FunctionalInformation 功能接口 3 ProgrammaticLogicInformation 实现逻辑 算法 4 QualityofServiceInformation 服务的行为和约束 14 服务无状态性 尽可能利用各种手段 ContracttoLogic耦合 ContracttoTechnology耦合 ContracttoImplementation耦合 15 服务自治 自治的本意 一个系统能够自我决定自己的行为 演化而不受外部的因素的制约的能力 服务自治所带来的两个好处 1 系统行为的可预见性2 系统的可靠性 两种主要的服务自治类型 1 运行时 在运行情况下 服务控制自己逻辑的能力持续的执行性能高度的可靠性行为的可预见性2 设计时 设计系统时的关注点服务是否能够自由的升级 变更 Thegreatertheamountofdesign timeautonomy thegreatertheamountofattainableruntimeautonomy 16 服务自治 17 服务可发现性 LogictoContract耦合 ContracttoLogic耦合 Contract
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46428.1-2025金属材料板状、棒状微型试样第1部分:疲劳试验方法
- 服务器服务合同范本
- 济南市12319热线服务中心招考聘用制(非事业编)工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 服装统一购买协议书
- 江苏省如皋市事业单位招聘易考易错模拟试题(共500题)试卷后附参考答案
- 冷库安装协议书范本
- 儿童拍摄安全协议书
- 印章使用协议书范本
- 养老捐赠协议书范本
- 广州欧美同学会2025年下半年招考事业编制管理人员易考易错模拟试题(共500题)试卷后附参考答案
- 中职《电工电子技术与技能》核心考试题库(附答案)
- 建房补充协议合同范本
- 2025-2030中国冰雪装备器材行业市场发展分析及发展趋势与投资前景研究报告
- 实验室管理年度工作总结
- JJF(皖) 183-2024 大米全景品质分析仪校准规范
- (高清版)DB36∕T 1324-2020 公路建设项目档案管理规范
- 酒店安全风险分级管控和隐患排查双重预防
- 【MOOC】证券投资学-中南财经政法大学 中国大学慕课MOOC答案
- 《经济学基础》电子教案
- 建筑工程财务流程制度(6篇)
- 苯扎溴铵在水产养殖中应用前景
评论
0/150
提交评论