![《面向服务的计算和web数据管理》课件第12章_第1页](http://file4.renrendoc.com/view9/M03/2C/1A/wKhkGWdlDjKAboKYAAN_2ww6g1A137.jpg)
![《面向服务的计算和web数据管理》课件第12章_第2页](http://file4.renrendoc.com/view9/M03/2C/1A/wKhkGWdlDjKAboKYAAN_2ww6g1A1372.jpg)
![《面向服务的计算和web数据管理》课件第12章_第3页](http://file4.renrendoc.com/view9/M03/2C/1A/wKhkGWdlDjKAboKYAAN_2ww6g1A1373.jpg)
![《面向服务的计算和web数据管理》课件第12章_第4页](http://file4.renrendoc.com/view9/M03/2C/1A/wKhkGWdlDjKAboKYAAN_2ww6g1A1374.jpg)
![《面向服务的计算和web数据管理》课件第12章_第5页](http://file4.renrendoc.com/view9/M03/2C/1A/wKhkGWdlDjKAboKYAAN_2ww6g1A1375.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第12章面向服务应用的体系结构12.1引言
12.2应用的体系结构
12.3面向服务应用的体系结构的例子
12.4讨论本章主要叙述SOAA(面向服务应用的体系结构)。SOAA类似于传统的软件体系结构,但由于它是面向服务的,所以具有自身的特性。特别地,SOAA可以是动态的,也就是说,在运行时使用已存在的服务可以组合和再组合应用。本章首先介绍SOAA的基本构成,并给出几种大家熟知的基于SOA的应用的体系结构。
和传统软件相比较,SOA软件具有以下特征:
①基于标准的互操作性;
②通过发现服务进行静态和动态组合;
③动态管理和编排。12.1引言对运行的服务必须进行控制并提供一些可用机制。一个是基于策略计算的策略管理服务,更具体地说,在开发期和运行期可以指定、检查和执行策略。另一个是编排,一个中心控制器协调过程的执行并负责服务的运行调度,服务是分布式的,跨越互连的网略,例如ESB(企业服务总线)。
正如第1章所说,有一些SOA的变种。例如,SOA允许工作流、数据、协作模板、用户接口、测试脚本等的发布和发现,如图12.1和图12.2所示。
图12.1SOAA关注SOA的应用部分图12.2使用体系结构模版的基于本体的动态组合SOA有以下变种:
(1)发布工作流和协作模板:典型的例子是CCSOA(以客户为中心的SOA),它的体系结构如图12.3。除了在SOA中发布服务规范,CCSOA还发布工作流和应用协作规范,并且可以发现、匹配和订阅。
(2)发布数据:典型的例子是DCSOA(以数据为中心的SOA),它的体系结构如图12.4所示。在DCSOA中,允许数据提供者在数据中介发布他们的数据。用RESTful服务可以很好地实现DCSOA。图12.3CCSOA的体系结构
图12.4DCSOA的体系结构
程序或计算系统的体系结构就是系统的结构。通常,它包含组件及组件间的关系。最通用的体系结构是层次体系结构,这种结构是处于外层的进程和服务调用内层的进程和服务。其他常用的体系结构包括以数据为中心的体系结构,虚拟机体系结构以及调用返回体系结构。12.2应用的体系结构
SOA应用有自己的体系结构和体系结构风格。IBM为WebSphere应用提出了一个五层体系结构模板,如图12.5所示:表示层、业务流程共同设计层、服务层、企业构件层和运行系统层。这个体系结构也包括两个支持机制,集成化体系结构以及服务质量、安全、管理和监控。这两个机制应用到每一层。这种体系结构风格实际上类似于传统的企业体系结构,它们经常是层次化的体系结构。
图12.5IBMWebsphere的层次化的SOAA
其他大家熟知的体系结构包括微软的WF项目、SAP的NetWeaver和不同企业的SOA应用,如企业SOA和面向服务的企业。表12.1概括了这些工作。表12.1SOAA的例子在传统的软件设计中,软件部署后体系结构就不能改变。在SOA中,基本的构建块是服务。服务被连接到类似总线的通信中枢,例如ESB。服务间的通信通过控制中心控制,它也被连接到通信中枢,如图12.6所示。这种体系结构用于描述IBMWebSphere的体系结构以及其他SOAA样式。
图12.6通用的面向服务应用的体系结构控制中心通常有一个组合管理员,它通过工作流规范指定和控制应用配置。应用配置/工作流规范定义了服务如何被连接在一起去实现指定的应用以及消息在服务间如何传输。对于这种体系结构,用户可以用不同的体系结构甚至不同的体系结构风格组合应用。
这种新方法允许新的服务加入到系统中,此外,通过简单地改变工作流规范而不改变基本的SOA框架,就可以用已存在的服务组合新的应用。
由于SOA的动态性,基于SOA应用的体系结构具有不同于传统软件体系结构的以下特征:动态体系结构、动态再组合、嵌入在运行的基础设施体系结构中的生命周期管理。12.2.1动态体系结构和动态组合
传统的软件体系结构是固定的。换句话说,一旦通过组件和组件间的连接,部署了体系结构,就不能改变。图12.7通过一个简单的例子说明了这一点。
图12.7传统体系结构的例子在这个例子中,使用了四个组件,其中构件1可以和构件2,3,4通信。同样,构件2可以和构件1,构件4通信。体系结构的拓扑结构在设计的时候就确定了,应用部署后,体系结构很难改变。例如,应用部署后,如果用户发现星型结构能更好地满足用户的需求,为了交付新的应用,应用构件者就需要返回到设计阶段,重新设计、实现、部署。
如图12.6所示,在SOA中,控制中心通常有一个组合管理员,它通过工作流规范指定和控制应用配置。应用配置/工作流规范定义了服务如何连接在一起构成用户希望的应用以及消息如何在服务间传输。使用这种体系结构,用户可以用不同的体系结构甚至不同的体系结构风格组合应用。对于有四个服务的简单系统,可组合成的体系结构如图12.8所示。
这种方法允许在不改变应用的前提下为应用添加新的服务。此外,通过简单地改变工作流规范而不改变基本的SOA框架,可用已有的服务组合新的应用。
图12.8不同应用体系结构配置12.2.2动态再组合
SOAA的另一个独一无二的特征是它能够动态再组合一个应用。不同于动态组合,动态再组合指的是运行时SOA应用能改变他自己的体系结构,包括替换服务或者改变互联服务的体系结构的拓扑结构。动态组合指的是SOA应用使用一组相同的服务组合成具有不同拓扑结构的应用的体系结构。动态组合发生在系统建模和组装阶段,而动态再组合发生在目标应用部署后。动态组合与动态再组合的不同之处在于动态再组合的建模和组装实际上是当已有的应用正在运行时进行重新建模和重新组装。传统的容错计算在应用中使用冗余模块,实际上就是用复制模块代替已失败的模块。它类似于动态再组合。然而,传统的容错机制在一个固定的体系结构中。换句话说,如果系统体系结构不是很好时,它可以替换一个失效的模块,但不能动态改变应用的体系结构以消除可靠性问题的根源。然而,通过SOA应用的动态再组合,两者都成为可能。为了进行改变,仅仅只需改变应用配置或工作流规范,则目标应用立即被组装、部署和管理。
虽然动态组合是SOA的一个关键特征,但因为动态再组合在运行时对已存在的应用快速更改,并且对再配置管理的影响很小,所以给SOA带来了更高的灵活性。12.2.3嵌入在运行基础设施中的生命周期管理
SOAA还有一个特征是为了促进动态软件组合,而嵌入在运行基础设施中的生命周期管理。在这种方式下,SOA应用的开发基础设施和运行基础设施被集成为一个统一的SOA基础设施。
(1)开发基础设施一般包括建模、分析、设计、体系结构、代码生成、验证和确认,例如测试和模型检查。
(2)运行基础设施一般包括代码部署、代码执行、策略实施、监控、通信和系统重新配置。
SOA环境将包含上面两个基础设施的特征。IBMSOA基础体系结构由以下几个阶段组成:建模、组装、部署和管理。此外,为了引导和监督目标SOA应用,将执行运行监控活动。四个阶段的活动按照循环方式执行。
(1)建模:收集需求并建立应用模型,用一组服务表示系统。
(2)组装:根据建立的模型,设计者或者创建需要的服务或者从服务中介查找现有的服务以开发应用。
(3)部署:配置运行环境满足应用的需求,同时部署应用到环境中并运行。
(4)管理:应用部署后,提供应用使用的服务并进行监控,收集必要的信息,以帮助预防、隔离、诊断、修复运行时可能发生的任何问题。
(5)监管和过程:整个过程需要使用国际标准,组织中的任何人都要遵守过程。
IBMSOA的基础生命周期把开发活动(建模和组装)和运行活动(部署和管理)集成为一个单一的过程,如图12.9所示。
图12.9IBMSOA基础生命周期基础生命周期也是一个模型驱动的应用开发过程。这个具有监管和过程的环形过程和目标SOA应用一起交付给用户。当需要改变应用体系结构时,用户只需重新制定系统模型,应用将被重新组装,重新部署和重新监控。
微软在它的WF项目中也采用了这种方法,WF也具有建模、体系结构、代码生成、代码部署和代码执行的能力。在WF中,SOA设计者从服务池中选择服务并指定体系结构说明服务间如何通信。体系结构框图完成后,不需要知道模块服务的细节,设计者就可以执行它,查看应用是否按照预想进行工作。稍后,通过改变模型或者体系结构,就可以容易地改变应用。另一个采用这种方法的应用是PESOI(处理嵌入式的面向服务的基础设施),它把开发和运行基础设施集成到被开发的应用中。这种方法有广泛的SOSE支持。在开发和运行时,有自动化工具支持SOSE活动,这些工具快速检查正确性和应用中的服务的质量。当开发应用时,相关的SOA应用开发基础设施被嵌入到目标应用并交付给用户。一个可能的PESOI体系结构如图12.10所示。
图12.10PESOI参考体系结构图12.11说明了用PESOI参考体系结构开发的应用体系结构模板。用来组合预想应用的服务被连接到通信中枢以及中心控制器的服务上。为服务建模能帮助用户建立目标应用的体系结构模型、过程模型和策略模型。通过V&V服务,验证和确认这些模型。动态组合管理器根据模型从服务库中挑选合适的服务组合预想应用。
图12.11PESOI应用体系结构系统组装和部署完成后,数据收集服务将一直监控应用服务。分析服务分析收集到的运行数据。如果故障处理条件被触发,就调用动态工作流规范服务修改系统组合规范以适应改变了的环境。如果在运行时无法解决问题,通过模型化服务检查或更改系统模型的方式让用户参与进来。
本节给出几个大的计算机企业或社区提出的或实施的面向服务应用的体系结构的例子。12.3面向服务应用的体系结构的例子12.3.1IBMWebSphere的体系结构
WebSphere集成化参考体系结构旨在提供一组服务帮助在企业环境里进行业务集成。关键的集成功能如图12.12所示。
图12.12WebSphere参考体系结构此体系结构的核心在于连接服务,它提供了支持和实例化ESB的基础设施。连接服务提供了三个主要的服务:传输服务、事件服务和仲裁服务。
(1)传输服务为消息传递提供了位于有线和无线网络之上的连接层,确保消息传递独立于通信协议。
(2)事件服务为企业系统提供了事件驱动的能力,因此系统能够对作为业务过程一部分的事件做出响应。
(3)仲裁服务协调服务间的通信,进行消息传输、消息路由和服务绑定。
连接到连接服务上的两类服务如图12.13所示。
图12.13ESB体系结构
(1)业务逻辑服务:伙伴服务、业务应用服务、应用和信息资源。
(2)控制服务:交互服务、过程服务和信息服务。
在三种类型的业务逻辑服务中,伙伴服务支持外部环境,例如外部伙伴、销售商和供应商,到传统系统的集成,它也进行不同协议和技术间的数据转换。业务应用服务支持把J2EE运行环境集成到业务组件中。应用和信息资源支持与第三方应用,例如ERP、CRM、异质数据源例如XML和RDBMS的交互。控制服务把人员、业务过程和信息集成在一起。为了开发和运行业务流程,控制服务恰当的控制企业的业务数据和交互流。交互服务以恰当的格式向用户交付需要的数据和功能。过程服务管理流和服务的交互。应用和信息服务提供了联合、复制、查询、分析和转换数据源的功能。
图的左边是开发服务,它提供了一个支持全部软件生命周期的开发平台,这个生命周期包括需求分析、建模、模块开发、测试以及代码维护。
业务创新和优化服务提供了业务流程持续改进的基础设施。
IT服务管理提供了安全、目录、系统管理和资源虚拟化。例如,安全和目录服务包括跨越企业的身份鉴定和授权。
最后,基础设施服务封装了计算平台和资源相关性。通过这些服务,用户不必优化服务质量,例如吞吐率、可用性和性能等。
应用服务在WEbSphere参考体系结构的右边,它们可以利用参考体系结构提供的服务。12.3.2企业服务总线
在SOA环境中,ESB(企业服务总线)定义了一组支持模块(服务)集成和通信的标准。本质上,ESB提供了支持不同SOAA的能力,它是SOA应用集成的基本模块。
图12.13是一个典型的例子——Sonic软件的SonicESB实现。ESB在建立企业SOA应用中非常流行,它为应用和服务提供了通信中枢和工作流控制。事实上,通过业务容器和适配器,各种应用和服务都可插入ESB。
服务托管在服务容器中,一个服务容器托管一组服务并把它们与外部资源绑定。
ESB中的服务不局限于Web服务,还包括建立在J2EE、.Net及遗产组件上的服务,这些服务直接部署在ESB中。
通信中枢提供了安全可靠的通信。通过通信中枢,可以访问其他网络上的服务,这些服务提供了统一的名字空间和联合的安全环境。
为了实现上面的目标,ESB需要具备以下特征:
(1)统一路由、消息和独立于协议和平台的数据交换机制;
(2)企业服务的管理和监控能力,通过这种能力允许组织管理和监控服务;
(3)处理业务服务和工作流;
(4)图形化的快速的SOAA开发和集成能力,即通过易用的图形化环境创建、编辑和服务集成,开发SOA企业应用。
(5)快速自动的应用生成和数据集成技术,一旦指定了模型和计算逻辑信息,SOA应用将被集成并被部署到相关领域。12.3.3SAP的NetWeaver
SAPNetWeaver提供了和传统应用的集成,例如SAPR/3、mySAP和微软的.Net平台和IBM的WebSphere平台上的SOA应用的集成。
NetWeaver提出了“ESA(企业服务体系结构)”概念,它为过程模型和服务应用提供了体系结构框架。基本上,NetWeaver/ESA可以被视为:
(1)当前应用或新的SAP应用的运行和集成平台;
(2)互操作和集成平台,关注和IBM的WebSphere以及微软的.Net技术的互操作性。
NetWeaver的体系结构如图12.14。图12.14SAPNetWeaverNetWeaver通过W3C、WSI(Web服务互操作)组织、JCP(Java社区过程)和OASIS建立的标准,提供了与其他应用的互操作和集成。
交换基础设施是NetWeaver的互操作性特征和业务流程管理的核心。交换基础设施提供了许多用于互操作性的适配器,包括和WebSphere业务集成互操作的JMS适配器(MQSeries)和微软的消息队列(MSMQ)以及BizTalk互操作的伙伴适配器。如图12.15所示,交换基础设施由集成目录和集成仓库组成。集成服务管理由不同服务组成的应用组件间的基于XML/SOAP的通信。集成目录包含了运行时所需的信息,例如集成脚本和业务过程。
SAPNetweaver的一个关键模块是业务流程管理(BMP),它由以下组件组成:
(1)集成构造器;
(2)集成仓库;
(3)集成目录;
(4)业务过程引擎。
集成构造器是SAP的过程建模工具,它支持BPEL,允许导入和导出过程定义,能够集成业务场景和业务过程。就如前面所说,场景和过程存储在集成仓库中。业务过程引擎是集成服务的一部分,它根据集成目录中定义的流控制过程步骤。图12.15NetWeaver交换基础设施——业务过程管理(BPM)12.3.4用户为中心的面向服务的体系结构
UCSOA(用户为中心的SOA)[chang2006]由Intel和亚利桑那州立大学联合开发,它是一个支持在CCSOA(客户为中心的SOA)之上的客户的新框架,UCSOA对SOA规范做了改进,提出了新的服务规范阶段,也就是,用户为中心的规范。以前,应用构建者是具备编程知识和技能的工程师。另一方面,用户可能不具备编程技能,但他们知道软件应具有的功能以及应如何使用软件。在用户为中心的规范方法中,需要一些技术支持不具有编程知识的最终用户说明他们想要的应用和服务。UCSOA的顶层架构是一个四层的体系结构,如图12.16所示。
(1)传统的SOA层:这一层提供了传统的SOA服务,如发布、发现、服务中介。
(2)CCSOA层:CCSOA不仅发布服务规范,而且发布应用模板和协作模式。在CCSOA中,为用户和服务提供者提供了各种解决方案。
(3)COI(兴趣社区)层:在这一层,分类存储和特定领域相关的通用解决方案。
(4)客户相关层:每一个客户有其特定的喜好和行为,因此会产生不同的应用。
图12.16UCSOA体系结构
本章首先介绍了SOAA存在的问题,接着回顾了几个已存在的SOAA。一个争论点是大多数的SOAA类似于传统的软件体系结构,如层次化体系结构,但实际上SOAA有自己独一无二的特性。SOAA经常使用ESB,应用体系结构在模型中说明,在控制器中控制。这样,在需要的时候SOAA可被改变和更新。SOAA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年学校食堂厨师岗位聘任协议
- 2025年度办公楼租赁合同全新版
- 2025年度体育场馆清洁工劳动合同范本(含设施清洁与保养)
- 2025年度租赁型公寓退房协议
- 二零二五年度电商企业客服外包智能服务系统合作协议
- 交通监控设施安装合同书样本
- 二手房交易合同定金协议范本
- 二手房按揭贷款购房合同
- 二手车辆买卖合同范本
- 个人股权转让合同范本标准
- 2024届清华大学强基计划数学学科笔试试题(附答案)
- 骨科手术的术后饮食和营养指导
- 旅游定制师入行培训方案
- 奥数培训班课件
- 2024年中国南方航空股份有限公司招聘笔试参考题库含答案解析
- 六年级上册数学应用题100题
- 个人代卖协议
- 赏析小说语言(二)
- 【立高食品公司的偿债能力现状及问题分析(论文9000字)】
- 10.《运动技能学习与控制》李强
- 冀教版数学七年级下册综合训练100题含答案
评论
0/150
提交评论