已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 拆迁钩机租赁合同范本
- 2025广西来宾市地质勘察院招聘1名编外聘用人员考试笔试备考试题及答案解析
- 水电预埋劳务合同范本
- 2025河南郑州中原领航实验学校教师招聘笔试考试参考题库及答案解析
- 五年级语文下册教学工作计划范文
- 机械委托代销合同协议
- 位保洁安全合同范本
- 教育机构办学合同范本
- 2025新余市中医院机电设备维护管理员招聘1人笔试考试参考试题及答案解析
- 人教部编版七年级上册(道德与法治)学习伴成长教案
- 行政办事员五级(初级工)考试复习题及答案
- 2025届新高考高中语文统编教材经典篇目议论文素材汇编(必修上、下册)
- 工业控制技术 课件 0301-Y轴步进电机轴工艺对象组态
- 空气分离设备安装工程施工及验收规范
- YDT 5206-2023宽带光纤接入工程技术规范
- 水利安全生产风险防控“六项机制”右江模式经验分享
- 智能机器人技术的研究与发展
- 《传染病肝炎》课件
- 《小英雄雨来》读书分享会
- 显示屏改造方案
- 安全标准化13要素汇总表格
评论
0/150
提交评论