面向服务的软件体系结构SOA

上传人:油条 文档编号:46580128 上传时间:2018-06-27 格式:PDF 页数:125 大小:5.30MB
返回 下载 相关 举报
面向服务的软件体系结构SOA_第1页
第1页 / 共125页
面向服务的软件体系结构SOA_第2页
第2页 / 共125页
面向服务的软件体系结构SOA_第3页
第3页 / 共125页
面向服务的软件体系结构SOA_第4页
第4页 / 共125页
面向服务的软件体系结构SOA_第5页
第5页 / 共125页
点击查看更多>>
资源描述

《面向服务的软件体系结构SOA》由会员分享,可在线阅读,更多相关《面向服务的软件体系结构SOA(125页珍藏版)》请在金锄头文库上搜索。

1、中国地质大学(武汉)信息工程学院2010-9-301第3章-面向服务的软件体系结构SOA?3.1 SOA的背景 ?3.2 什么是SOA ?3.3 Web Service ?3.4 Enterprise Service Bus(ESB) ?3.5 如何构建SOA系统面向服务架构风格 Service Oriented Architechture中国地质大学(武汉)信息工程学院2010-9-3023.1 SOA背景中国地质大学(武汉)信息工程学院2010-9-303从企业的发展谈起中国地质大学(武汉)信息工程学院新方法的商业驱动力?企业压力之下的两个基本的主题 异构 变化cutting costs

2、& maximizing the utilization of existing technologyBetter More competitive More responsiveConflictHeterogeneityChange中国地质大学(武汉)信息工程学院软件体系结构的发展中国地质大学(武汉)信息工程学院2010-9-306软件构架的发展历程回顾中国地质大学(武汉)信息工程学院2010-9-307PC Architecture DOSSpreadsheets Word ProcessorsPC 80年代中Internet 90年代中Applications 80年代末到90年代中We

3、b Apps 00年代中 - . . .TodaySpeech/WritingXML/SOAP HTTP/HTML SMTPEmail Clients Web BrowsersWi-Fi/BroadbandDevicesWeb ServicesRights ManagementTrusted Computing HardwareMouse GUI LANs革新的浪潮中国地质大学(武汉)信息工程学院2010-9-308没有企业是孤岛客户供应商员工合作伙伴供应商供应商员工客户合作伙伴合作伙伴是业务流程和人 将参与者和能力 (是业务流程和人 将参与者和能力 (Capabilities) 编织在一起)

4、 编织在一起中国地质大学(武汉)信息工程学院2010-9-309互联的软件? 松耦合的设备、应用程序、数据等的组成部分松耦合的设备、应用程序、数据等的组成部分 ? Web services 和和 XML ? 自适应的自适应的 ? 面向流程的面向流程的中国地质大学(武汉)信息工程学院2010-9-3010中国地质大学(武汉)信息工程学院?为了减少异构性、互操作性和不断改变的 要求的问题,这样的体系结构应该提供平 台来构建具有下列特征的应用程序服务 松散耦合 位置透明 协议独立中国地质大学(武汉)信息工程学院候选解决方案? 面向对象的分析和设计 通过封装对象的某些方面,以简化复杂业务场景的分 析

5、为了降低复杂性,可以抽象对象的某些特征,这样就 可以只捕获重要或本质的方面。 ? 基于构件的开发 通过内聚一些更细粒度的对象来提供定义良好的功能 一旦组织在更高层次上实现了基于完全独立的功能构 件的体系结构,就可以将支持企业的应用程序划分成 一组粒度越来越大的构件。可以将构件看作是打包、 管理和公开服务的机制中国地质大学(武汉)信息工程学院候选解决方案?面向服务的设计 服务通常实现为粗粒度的可发现软件实体,它 作为单个实例存在,并且通过松散耦合的基于 消息通信模型来与应用程序和其他服务交互中国地质大学(武汉)信息工程学院候选解决方案?分层应用系统体系结构中国地质大学(武汉)信息工程学院对新型体

6、系结构的要求对新型体系结构的要求? 不同系统和不同编程语言的互操作性?一 种适合各种系统和编程语言的通信协议被要求。 ? 一种与平台无关的、清晰明确的描述语言 为了使用其他提供者提供的服务,不仅需要对提供者 的系统进行访问,而且那些服务的接口必须用一种语 法清晰,平台无关的语言描述。 ? 服务的查找和获得 为了能够在系统设计时特别是运行时方便地进行集成, 我们需要一种机制用来查找和获得有效的服务,这些 服务应该基于他们的功能或者调用方式被很好地分类 了。中国地质大学(武汉)信息工程学院2010-9-30163.2 什么是SOA中国地质大学(武汉)信息工程学院定义? 面向服务的体系结构(serv

7、ice-oriented architecture,SOA )是一个构件模型,它将应用程序的不同功能单元(称 为服务)通过定义良好的接口和契约联系起来 接口是采用中立的方式进行定义的,它应该独立于实现服务的硬 件平台、操作系统和编程语言。这使得构建在各种这样的系统中 的服务可以以一种统一和通用的方式进行交互。 ? 服务(service)是封装成用于业务流程的可复用构件的应 用程序函数。它提供信息或简化业务数据从一个有效的、 一致的状态向另一个状态的转变 用于实现特定服务的流程并不重要,只要它响应命令并为请求提 供高质量的服务就可以了中国地质大学(武汉)信息工程学院2010-9-3018向面向服

8、务的体系结构的转变? 面向功能的面向功能的 ? 一成不变的一成不变的 ? 拖得很长的开发周期拖得很长的开发周期? 面向流程的面向流程的 ? 灵活的灵活的 ? 递增的开发和部署递增的开发和部署? 孤立的应用系统孤立的应用系统 ? 紧耦合紧耦合 ? 面向对象的面向对象的 ? 实现细节公开实现细节公开? 互连的解决方案互连的解决方案 ? 松耦合松耦合 ? 面向消息的面向消息的 ? 抽象的接口抽象的接口中国地质大学(武汉)信息工程学院2010-9-3019SOA服务的特征?可在网际间请求调用 ?具有良好的兼容性 ?粗粒度的操作 ?松散耦合的关联 ?基于接口的设计 ?具有透明的搜索和查询中国地质大学(武

9、汉)信息工程学院Elements of SOA中国地质大学(武汉)信息工程学院功能性元素? 传输是一种机制,用于将来自服务使用者的服务请求传送给服务提 供者,并且将来自服务提供者的响应传送给服务使用者。 ? 服务通信协议是一种经过协商的机制,通过这种机制,服务提供者 和服务使用者可以就将要请求的内容和将要返回的内容进行沟通。 ? 服务描述是一种经过协商的模式,用于描述服务是什么、应该如何 调用服务以及成功地调用服务需要什么数据。 ? 服务描述实际可供使用的服务。 ? 业务流程是一个服务的集合,可以按照特定的顺序并使用一组特定 的规则进行调用,以满足业务要求。注意,可以将业务流程本身看 作是服务

10、,这样就产生了业务流程可以由不同粒度的服务组成的观 念。 ? 服务注册中心是一个服务和数据描述的存储库,服务提供者可以通 过服务注册中心发布它们的服务,而服务使用者可以通过服务注册 中心发现或查找可用的服务。服务注册中心可以给需要集中式存储 库的服务提供其他的功能。中国地质大学(武汉)信息工程学院服务质量元素? 策略是一组条件和规则,在这些条件和规则之下,服务提 供者可以使服务可用于使用者。策略既有功能性方面,也 有与服务质量有关的方面;因此,我们在功能和服务质量 两个区中都有策略功能。 ? 安全性是规则集,可以应用于调用服务的服务使用者的身 份验证、授权和访问控制。 ? 传输是属性集,可以应

11、用于一组服务,以提供一致的结果 。例如,如果要使用一组服务来完成一项业务功能,则所 有的服务必须都完成,或者没有一个完成。 ? 管理是属性集,可以应用于管理提供的服务或使用的服务 。中国地质大学(武汉)信息工程学院2010-9-3023服务的概念SOA中的中的服务服务代表的是一个由代表的是一个由服务提供者向服务 的请求者发布的一些处理过程服务提供者向服务 的请求者发布的一些处理过程,这个过程在被请求 之后,导致服务请求者所需要的一个结果。在获得 服务的过程中服务请求者可以向任何能够提供此项 服务的服务提供者来请求服务,服务实现的过程对 于服务请求来说是透明的。,这个过程在被请求 之后,导致服务

12、请求者所需要的一个结果。在获得 服务的过程中服务请求者可以向任何能够提供此项 服务的服务提供者来请求服务,服务实现的过程对 于服务请求来说是透明的。中国地质大学(武汉)信息工程学院2010-9-3024服务的概念 -应用系统的多层逻辑结构 (Multi-Layer Logical Model)中国地质大学(武汉)信息工程学院2010-9-3025SOA应用系统架构中国地质大学(武汉)信息工程学院2010-9-3026SOA应用系统架构? 展现层(展现层(presentation):前图中的5区,通过portal等技术建立展现平 台,方便用户在这个界面上提出服务请求。 ? 业务处理建模(业务处理

13、建模(business process modeling):前图中的4区,SOA元模 型从MDA中继承了平台无关模型来对业务处理过程建模。这一部分独立 于服务设计和部署层。模型驱动架构MDA(Model Driven Architecture) 的主要缺陷是在模型设计阶段就对需求有完整的描述,而且没有需求变更 的反馈机制。SOA通过添加敏捷方法AM来应对需求变更的情况。 ? 服务层服务层(Services):前图中的3区,整个SOA的核心层,它承上启下,对 上响应业务模型,对下调用相关组件群完成业务需求,形成“业务驱动服 务、服务驱动技术”的SOA事务处理格局。服务可以根据粒度分层。虽然 细粒

14、度提供了更多的灵活性,但同时也意味着交互的模式可能更为复杂。 粗粒度降低了交互复杂性,但敏捷性却下降。 ? 企业组件层(企业组件层(enterprise components):前图中的2区,这里是相关组 件发挥作用的场所。这些组件是平台相关的。因为到了这一层,许多底层 软硬件平台的特性已经不再透明了。 ? 系统软件层(Operational System):前图中的1区,这一层包括操作系统、 数据库管理系统、CRM、ERP、商业智能(BI)等异构系统,是一个集成的 平台。 ? 除此之外,诸如QoS、安全性等(前图中7区)也是SOA架构的组成部分。中国地质大学(武汉)信息工程学院2010-9-

15、3027服务的概念-内部服务(Internal Service)中国地质大学(武汉)信息工程学院2010-9-3028服务的概念-内部服务(Internal Service)中国地质大学(武汉)信息工程学院2010-9-3029服务的概念-外部服务(External Service)中国地质大学(武汉)信息工程学院2010-9-3030服务的概念-Web Service中国地质大学(武汉)信息工程学院2010-9-3031SOA结构模型流程总线描述服务描述服务描述服务描述服务描述服务描述中国地质大学(武汉)信息工程学院2010-9-3032SOA工作角色?消息”是在两台计算机间传送的数据单位。

16、 消息可以非常简单,例如只包含文本字符 串;也可以更复杂,可能包含嵌入对象。响应消息请求消息服务请求者服务提供者服务请求者和提供者服务请求者和提供者中国地质大学(武汉)信息工程学院2010-9-3033SOA工作角色服务请求者服务提供者 和请求者服务提供者服务提供者聚合的服务请求者聚合的服务请求者中国地质大学(武汉)信息工程学院2010-9-3034SOA工作角色作为中介的服务代理查找发布绑定作为中介的服务代理查找发布绑定服务请求者服务请求者服务代理服务代理服务提供者服务提供者中国地质大学(武汉)信息工程学院2010-9-3035SOA工作角色中国地质大学(武汉)信息工程学院2010-9-3036XML简介 ? XML(Extensible Markup Language)是由W3C制定的一种 网络上的通用语言。 ? 同HTML一样, XML也是SGML(Standard General Markup Language)的一个子集。 ? 不同于HTML的是,XML不是一种预定义标

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号