面向服务的软件体系结构

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7
面向服务的软件体系结构
SOA服务和Web服务之间的区别在于设计。SOA 概念并没有确 切地定义服务具体如何交互,而仅仅定义了服务如何相互理解以及 如何交互。其中的区别也就是定义如何执行流程的战略与如何执行 流程的战术之间的区别。而另一方面,Web服务在需要交互的服务 之间如何传递消息有具体的指导原则;从战术上实现SOA模型最常见 的方式是通过HTTP传递的SOAP消息。因而,从本质上讲,Web 服务 是实现SOA的具体方式之一。
2
面向服务的软件体系结构
3
Biblioteka Baidu
面向服务的软件体系结构
对松耦合系统的需求来源于业务应用程序需要 根据业务的变动变得更加灵活,以适应不断变化的环 境,比如经常改变的政策、业务级别、业务重点、合 作伙伴关系、行业地位以及其他与业务有关的因素, 这些因素甚至会影响业务的性质。我们称能够灵活地 适应环境变化的业务为按需(On Demand)业务,在按需 业务中,一旦需要,就可以对完成或执行任务的方式 进行必要的更改。
4
面向服务的软件体系结构
虽然面向服务的体系结构不是一个新鲜事物,但它却是更传 统的面向对象的模型的替代模型,面向对象的模型是紧耦合的,已 经存在二十多年了。虽然基于 SOA的系统并不排除使用面向对象的 设计来构建单个服务,但是其整体设计却是面向服务的。由于它考 虑到了系统内的对象,所以虽然SOA是基于对象的,但是作为一个 整体,它却不是面向对象的。不同之处在于接口本身。SOA系统原 型的一个典型例子是通用对象请求代理体系结构(Common Object Request Broker Architecture,CORBA),它已经出现很长时间了, 其定义的概念与SOA相似。
面向服务的软件体系结构
面向服务的体系结构(SOA)是一个组件模型,它 将应用程序的不同功能单元(称为服务)通过这些服务 之间定义良好的接口和契约联系起来。接口是采用中 立的方式进行定义的,它应该独立于实现服务的硬件 平台、操作系统和编程语言。这使得构建在各种各样 的系统中的服务可以以一种统一和通用的方式进行交 互。
5
面向服务的软件体系结构
然而,现在的SOA已经有所不同了,因为它依赖于一些更新 的进展,这些进展是以可扩展标记语言(eXtensible Markup Language,XML)为基础的。通过使用基于XML的语言(称为Web服务 描述语言,Web Services Definition Language,WSDL)来描述接 口,服务已经转到更动态且更灵活的接口系统中,非以前 CORBA中 的接口描述语言(Interface Definition Language,IDL)可比了。
环境之中。
在使用阶段,根据前面所讲的SOA和软件模型来装配应用程序,并
且测试其软件质量以及非功能性需求,比如性能、可伸缩性等等。应用程
序现在已经准备完毕并且可交付用户。
最后的管理阶段是一个长期的过程,在这个阶段中,可以监控并
管理安全性和使用,以及在许多与可能已经为 SOA制订好的服务级协定或
策略相对应的方面比较其性能。
12
面向服务的软件体系结构
面向服务的体系结构提供了一种方法,通过这种方法,可以构建 分布式系统来将应用程序功能作为服务提供给终端用户应用程序或其他服 务。其组成元素可以分成功能元素和服务质量元素。
面向服务的体系结构的元素 :体系结构堆栈分成两半,左边的 一半集中于体系结构的功能性方面,而右边的一半集中于体系结构的 服务质量方面。
1
面向服务的软件体系结构
这种具有中立的接口定义(没有强制绑定到特定 的实现上)的特征称为服务之间的松耦合。松耦合系统 的好处有两点,一点是它的灵活性;另一点是,当组成 整个应用程序的每个服务的内部结构和实现逐渐地发 生改变时,它能够继续存在。而与此相对,紧耦合意 味着应用程序的不同组件之间的接口与其功能和结构 是紧密相连的,因而当需要对部分或整个应用程序进 行某种形式的更改时,它们就显得非常脆弱。
6
面向服务的软件体系结构
SOA本身应该是“如何将软件组织在一起”的抽象概念。它 依赖于用 XML 和 Web 服务实现并以软件的形式存在的更加具体的 观念和技术。此外,它还需要安全性、策略管理、可靠消息传递以 及会计系统的支持,从而有效地工作。您还可以通过分布式事务处 理和分布式软件状态管理来进一步地改善它。
11
面向服务的软件体系结构
从IT专业人员的角度来看(与业务层相比),要创建SOA应用程序,
通常将经历四个阶段:构建、部署、使用和管理。
在构建阶段中,您可以定义业务模型或流程、软件模型和SOA模型。
之后,就可以创建一组服务,这组服务可以与已发布的通用接口一起重用。
在部署阶段,提取创建的服务,并把它们放在一个可执行、可管理的
9
面向服务的软件体系结构
利用SOA的好处不仅仅在于它是一个软件开发流程,而 且还是一个业务开发流程。采用SOA有四个层次,您的实现可 以跨越从创建特定的软件服务到将您的业务模型全面转换到按 需系统的过程。
10
面向服务的软件体系结构
第一个层次是最简单的,因为它只需创建单独的服务。 在第二个层次中,您不仅可以创建服务,而且可以开始 将业务功能集成到SOA中。这涉及多个层次的集成,其中包括 应用程序集成、信息集成、流程集成和整个系统的集成。 第三个层次涉及将您的企业IT基础设施转换到 SOA模型, 而采用SOA的第四个层次集中于转换您的业务模型,以使之成 为随需应变的模型。
8
面向服务的软件体系结构
既为了建立所有这些信息的适当控制,又为了应用安全性、策略、 可靠性以及会计方面的要求,在SOA体系结构的框架中加入了一个新的软 件对象。这个对象就是企业服务总线(ESB),它使用许多可能的消息传递 协议来负责适当的控制、流甚至还可能是服务之间所有消息的传输。虽然 ESB并不是绝对必需的,但它却是在SOA中正确管理您的业务流程至关重要 的组件。ESB本身可以是单个引擎,甚至还可以是由许多同级和下级ESB组 成的分布式系统,这些 ESB一起工作,以保持SOA系统的运行。在概念上, 它是从早期比如消息队列和分布式事务计算这些计算机科学概念所建立的 存储转发机制发展而来的。
相关文档
最新文档