面向服务的软件体系结构.ppt_第1页
面向服务的软件体系结构.ppt_第2页
面向服务的软件体系结构.ppt_第3页
面向服务的软件体系结构.ppt_第4页
面向服务的软件体系结构.ppt_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 什么是面向服务的体系结构 面向服务的体系结构 SOA 是一个组件模型 它将应用程序的不同功能单元 称为服务 通过这些服务之间定义良好的接口和契约联系起来 接口是采用中立的方式进行定义的 它应该独立于实现服务的硬件平台 操作系统和编程语言 这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互 2 什么是面向服务的体系结构 这种具有中立的接口定义 没有强制绑定到特定的实现上 的特征称为服务之间的松耦合 松耦合系统的好处有两点 一点是它的灵活性 另一点是 当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时 它能够继续存在 而与此相对 紧耦合意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的 因而当需要对部分或整个应用程序进行某种形式的更改时 它们就显得非常脆弱 3 什么是面向服务的体系结构 4 什么是面向服务的体系结构 对松耦合系统的需求来源于业务应用程序需要根据业务的变动变得更加灵活 以适应不断变化的环境 比如经常改变的政策 业务级别 业务重点 合作伙伴关系 行业地位以及其他与业务有关的因素 这些因素甚至会影响业务的性质 我们称能够灵活地适应环境变化的业务为按需 OnDemand 业务 在按需业务中 一旦需要 就可以对完成或执行任务的方式进行必要的更改 5 什么是面向服务的体系结构 虽然面向服务的体系结构不是一个新鲜事物 但它却是更传统的面向对象的模型的替代模型 面向对象的模型是紧耦合的 已经存在二十多年了 虽然基于SOA的系统并不排除使用面向对象的设计来构建单个服务 但是其整体设计却是面向服务的 由于它考虑到了系统内的对象 所以虽然SOA是基于对象的 但是作为一个整体 它却不是面向对象的 不同之处在于接口本身 SOA系统原型的一个典型例子是通用对象请求代理体系结构 CommonObjectRequestBrokerArchitecture CORBA 它已经出现很长时间了 其定义的概念与SOA相似 6 什么是面向服务的体系结构 然而 现在的SOA已经有所不同了 因为它依赖于一些更新的进展 这些进展是以可扩展标记语言 eXtensibleMarkupLanguage XML 为基础的 通过使用基于XML的语言 称为Web服务描述语言 WebServicesDefinitionLanguage WSDL 来描述接口 服务已经转到更动态且更灵活的接口系统中 非以前CORBA中的接口描述语言 InterfaceDefinitionLanguage IDL 可比了 7 构成SOA的技术是什么 SOA本身应该是 如何将软件组织在一起 的抽象概念 它依赖于用XML和Web服务实现并以软件的形式存在的更加具体的观念和技术 此外 它还需要安全性 策略管理 可靠消息传递以及会计系统的支持 从而有效地工作 您还可以通过分布式事务处理和分布式软件状态管理来进一步地改善它 8 构成SOA的技术是什么 SOA服务和Web服务之间的区别在于设计 SOA概念并没有确切地定义服务具体如何交互 而仅仅定义了服务如何相互理解以及如何交互 其中的区别也就是定义如何执行流程的战略与如何执行流程的战术之间的区别 而另一方面 Web服务在需要交互的服务之间如何传递消息有具体的指导原则 从战术上实现SOA模型最常见的方式是通过HTTP传递的SOAP消息 因而 从本质上讲 Web服务是实现SOA的具体方式之一 9 构成SOA的技术是什么 既为了建立所有这些信息的适当控制 又为了应用安全性 策略 可靠性以及会计方面的要求 在SOA体系结构的框架中加入了一个新的软件对象 这个对象就是企业服务总线 ESB 它使用许多可能的消息传递协议来负责适当的控制 流甚至还可能是服务之间所有消息的传输 虽然ESB并不是绝对必需的 但它却是在SOA中正确管理您的业务流程至关重要的组件 ESB本身可以是单个引擎 甚至还可以是由许多同级和下级ESB组成的分布式系统 这些ESB一起工作 以保持SOA系统的运行 在概念上 它是从早期比如消息队列和分布式事务计算这些计算机科学概念所建立的存储转发机制发展而来的 10 如何构建SOA系统 利用SOA的好处不仅仅在于它是一个软件开发流程 而且还是一个业务开发流程 采用SOA有四个层次 您的实现可以跨越从创建特定的软件服务到将您的业务模型全面转换到按需系统的过程 11 如何构建SOA系统 第一个层次是最简单的 因为它只需创建单独的服务 在第二个层次中 您不仅可以创建服务 而且可以开始将业务功能集成到SOA中 这涉及多个层次的集成 其中包括应用程序集成 信息集成 流程集成和整个系统的集成 第三个层次涉及将您的企业IT基础设施转换到SOA模型 而采用SOA的第四个层次集中于转换您的业务模型 以使之成为随需应变的模型 12 如何构建SOA系统 从IT专业人员的角度来看 与业务层相比 要创建SOA应用程序 通常将经历四个阶段 构建 部署 使用和管理 在构建阶段中 您可以定义业务模型或流程 软件模型和SOA模型 之后 就可以创建一组服务 这组服务可以与已发布的通用接口一起重用 在部署阶段 提取创建的服务 并把它们放在一个可执行 可管理的环境之中 在使用阶段 根据前面所讲的SOA和软件模型来装配应用程序 并且测试其软件质量以及非功能性需求 比如性能 可伸缩性等等 应用程序现在已经准备完毕并且可交付用户 最后的管理阶段是一个长期的过程 在这个阶段中 可以监控并管理安全性和使用 以及在许多与可能已经为SOA制订好的服务级协定或策略相对应的方面比较其性能 13 近距离审视面向服务的体系结构 面向服务的体系结构提供了一种方法 通过这种方法 可以构建分布式系统来将应用程序功能作为服务提供给终端用户应用程序或其他服务 其组成元素可以分成功能元素和服务质量元素 面向服务的体系结构的元素 体系结构堆栈分成两半 左边的一半集中于体系结构的功能性方面 而右边的一半集中于体系结构的服务质量方面 14 近距离审视面向服务的体系结构 15 近距离审视面向服务的体系结构 功能性方面包括 传输是一种机制 用于将来自服务使用者的服务请求传送给服务提供者 并且将来自服务提供者的响应传送给服务使用者 服务通信协议是一种经过协商的机制 通过这种机制 服务提供者和服务使用者可以就将要请求的内容和将要返回的内容进行沟通 服务描述是一种经过协商的模式 用于描述服务是什么 应该如何调用服务以及成功地调用服务需要什么数据 服务描述实际可供使用的服务 业务流程是一个服务的集合 可以按照特定的顺序并使用一组特定的规则进行调用 以满足业务要求 注意 可以将业务流程本身看作是服务 这样就产生了业务流程可以由不同粒度的服务组成的观念 服务注册中心是一个服务和数据描述的存储库 服务提供者可以通过服务注册中心发布它们的服务 而服务使用者可以通过服务注册中心发现或查找可用的服务 服务注册中心可以给需要集中式存储库的服务提供其他的功能 16 近距离审视面向服务的体系结构 服务质量方面包括 策略是一组条件和规则 在这些条件和规则之下 服务提供者可以使服务可用于使用者 策略既有功能性方面 也有与服务质量有关的方面 因此 我们在功能和服务质量两个区中都有策略功能 安全性是规则集 可以应用于调用服务的服务使用者的身份验证 授权和访问控制 传输是属性集 可以应用于一组服务 以提供一致的结果 例如 如果要使用一组服务来完成一项业务功能 则所有的服务必须都完成 或者没有一个完成 管理是属性集 可以应用于管理提供的服务或使用的服务 17 实现面向服务体系结构的技术代表 HTTP协议 一个典型的SOA实现SOA与WebServices 18 HTTP协议 一个典型的SOA实现 每一项新技术都是在一些原有技术基础上发展出来的 正如XML根本思想来自于在20世纪60年代就已经出现的早期标记性语言一样 SOA虽然近几年才出现 但是它所表达的观念应该说在网络这种分布式系统结构出现不久就已经广泛应用了 例如我们最熟悉的HTTP协议就是一个非常典型的SOA架构设计 19 HTTP协议 一个典型的SOA实现 HTTP协议满足了SOA的三个基本特点 1 独立的功能实体作为服务器端的WEB服务器总是非常稳定地按照自己的内在逻辑运行 响应外部的请求 管理自己的资源和数据 2 大数据量低频率访问对于一个HTTP请求来说 客户端与服务器端之间访问的边界就是一个请求 一个响应 没有任何其它的信息往返 对于客户端来说 它发出的请求只是简单的告诉Web服务器它所需要的网页的位置 3 基于文本的消息传递迄今为止兼容性最好的系统可能就是HTTP协议支撑的大部分的web应用了 这里的关键就是所有内容都是以格式化的文本方式传递的 而由于不同的操作系统上对于相同的HTML的解释遵循相同的规范 因此不同操作系统下仍然能够看到一致的用户界面 20 SOA与WebServices 这里值得说明的是SOA不是WebServices 根据2003年4月的报道 这个问题是这样解释的 WebServices是技术规范 而SOA是设计原则 特别是WebServices中的WSDL 是一个SOA配套的接口定义标准 这是WebServices和SOA的根本联系 从本质上来说 SOA是一种架构模式 而WebServices是利用一组标准实现的服务 WebServices是实现SOA的方式之一 用WebServices来实现SOA的好处就是可以实现一个中立平台 来获得服务 而且随着越来越多的软件商支持越来越多的WEB服务规范 可以取得更好的通用性 21 结束语 SOA的概念并非什么新东西 SOA不同于现有的分布式技术之处在于大多数软件商接受它并有可以实现SOA的平台或

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论