




已阅读5页,还剩56页未读, 继续免费阅读
(计算机应用技术专业论文)有状态通知服务在民航综合信息平台的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京航空航天大学硕士学位论文 i 摘摘 要要 面向服务体系结构(service oriented architecture,soa)对现代软件开发模式 产生了深远的影响,它通过服务的发布、发现以及绑定等机制为其他的应用程序 提供服务。soa具有松散耦合、粗粒度、可互操作等优点。通过采用soa架构的 设计思想,可以减少系统间的耦合性,提高可重用性,因而能够较好的整合企业 遗留系统,消除信息化中存在的“信息孤岛” ,并提高系统的灵活性、敏捷性和 可扩展性。 web服务凭借自身良好的封装性、平台和语言无关性成为soa的主要实现技 术, 但标准web服务缺乏对服务状态的管理机制, 同时其请求/响应的消息交换模 式无法满足对动态通知服务的需求。web服务资源框架(wsrf)通过将资源引入 到服务中解决了web服务在交互中不能保持状态的问题。web服务通知规范 (wsn)通过发布/订阅模式制定了web服务环境中创建事件驱动服务的流程。 本文首先介绍了soa的概念、架构及其设计原则。阐述了它能为企业级应用 整合带来技术和业务效益。对于soa的主要实现技术web服务,分析了服务为何 是无状态的原因,详细介绍了wsrf和wsn规范。针对民航综合信息平台对事件 驱动服务的需求,使用web服务对航班状态资源建模,通过在web服务中引入资 源属性,设计了基于有状态服务的航班动态通知服务,论述了通知服务的消息交 换模型, 并对涉及到的设计模式以及航班状态资源生命周期管理等关键问题进行 了详细阐述,最后基于globus平台实现了该服务。 关键词:关键词:面向服务体系结构,web服务,web服务资源框架,web服务通知规范, 民航综合信息平台 有状态通知服务在民航综合信息平台的设计与实现 ii abstract service oriented architecture (soa) has a profound impact on modern software development model, and it provides the services for other application programs through the mechanisms such as publishing, finding and binding. soa is a coarse-grained, loosely coupled service structure. through the use of the soa framework, the coupling between systems can be reduced and the software reusing can be improved, therefore the remaining system can achieve a better integration and the information island can be eliminated and it can also upgrade the system flexibility and expandability. web service relies on the platform and language irrelevant becomes the main realization technology of soa, but it lacks the management mechanism of state and can not meet the requirement of notification service with its request/correspond information exchange model. the web service resource framework (wsrf) solved the question that web service can not have the stateful resource. ws-notification (wsn) used publishing/subscription pattern to formulate in the web service environment to found the event-driven services. this paper particularly introduces the concept, the architecture and the design principle of soa at first. it point out the advantage of soa to enterprise application and what benefit it can brings to the enterprise on technology and business. then, this paper analyzes why web service is stateless and introduces the wsrf and wsn specification. against civil aviation information platform for event-driven service demand, through research web service resources framework and web services notification, this paper modes flights resource with web services, designs the flight notification service base on stateful service, introduces the message exchange model of the service. it also introduces the design patterns with related and fight resource life circle management. finally this paper realizes a prototype system verified the feasibility of the program. keywords: soa, web services, wsrf, ws-notification, civil aviation information platform 有状态通知服务在民航综合信息平台的设计与实现 vi 图、表清单 图 2.1 soa 的基本架构模型.6 图 2.2 网格服务示意图.11 图 2.3ws-resource 运行环境 .13 图 2.4 直接通知方式.17 图 2.5 代理通知方式.18 图 3.1 民航综合信息平台总体架构.21 图 3.2 soa 核心服务子系统架构图.22 图 3.3 短信用户订阅过程.22 图 3.4 自动通告发送流程.23 图 3.5web 服务与状态资源的关系 .25 图 3.6web 服务端点引用 .25 图 3.7 有资格的端点引用.26 图 3.8 工厂服务,实例服务,资源与客户端之间的关系.27 图 4.1 系统消息交换示意图.30 图 4.2 通知服务总体结构图.30 图 4.3 航班动态通知序列图.31 图 4.4 订阅流程.32 图 4.5 通知的实现流程.32 图 4.6 消息生产者结构图.33 图 4.7 服务接口模式.33 图 4.8 服务网关模式.34 图 4.9 航班状态管理流程图.35 图 4.10 航班状态数据判断过程.35 图 4.11 数据查询服务结构图.36 图 4.12 数据查询服务流程.36 图 4.13 通知信息接收 web 服务流程图 .37 图 5.1 客户端存根和服务端存根由 wsdl 生成.40 图 5.2 航班状态资源类图.42 图 5.3 服务、resource home 与 resource 的关系.43 图 5.4 通知服务工厂模式实现图.44 南京航空航天大学硕士学位论文 vii 图 5.5 航班状态资源创建过程.44 图 5.6 航班状态资源调用过程.45 图 5.7 服务发布.49 图 5.8 订阅过程.50 图 5.9 收到通知过程.50 有状态通知服务在民航综合信息平台的设计与实现 viii 注释表 soa: service oriented architecture, 面向服务体系结构 wsrf: web services resource framework, web 服务资源框架 wsn : web services notification, web 服务通知规范 xml: extensible markup language, 可扩展标记语言 soap: simple object access protocol, 简单对象访问协议 wsdl: web service description language, web 服务描述语言 uddi: universal description discovery and integration, 统一描述、发现和集成协 议 ogsa: open grid services architecture, 开放网格服务体系结构 wsrp: web services resource properties, web 服务资源属 承诺书 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立 进行研究工作所取得的成果。尽我所知,除文中已经注明引用的内容 外,本学位论文的研究成果不包含任何他人享有著作权的内容。对本 论文所涉及的研究工作做出贡献的其他个人和集体, 均已在文中以明 确方式标明。 本人授权南京航空航天大学可以有权保留送交论文的复印件, 允 许论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数 据库进行检索,可以采用影印、缩印或其他复制手段保存论文。 (保密的学位论文在解密后适用本承诺书) 作者签名: 日 期: 南京航空航天大学硕士学位论文 1 第一章 绪论 1.1 提出背景 在全球经济竞争的新环境下, 随着企业内部业务越来越复杂, 其应用软件也 越来越复杂,企业要实现一项业务,往往需要整合多个基于各种异构数据源的业 务系统和外部系统。对遗留系统的整合往往成为企业面临的一大难题,尤其是如 何把这些遗留系统中不同的数据源有效的整合到新的业务平台中一直是一个棘 手的问题。面向服务的架构,作为下一代软件架构整合标准,就是在这种情况下 被提出来的。 soa(service-oriented architecture,面向服务的体系结构)是指为了解决在 internet 环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现 的一种软件系统架构。 soa 是一个组件模型, 它将应用程序的不同功能单元 (称 为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的 方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这 使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互1。 web(html/http)技术有效的解决了人与信息系统的交互和沟通问题,极 大的促进了 b2c 模式的发展。web 服务技术则是有效的解决信息系统之间的交 互和沟通问题,促进 b2b/eai 的发展。soa 则是采用面向服务的商业建模技术 和 web 服务技术,实现系统之间的整合与协同。web 服务和 soa 的本质思路在 于使得信息系统个体在能够沟通的基础上形成协同工作。 作为 soa 的主要实现技术 web 服务其消息交换模式是基于请求/响应模式 的2,这种模式只能解决企业中的一部分应用,不能满足复杂的消息交换模式的 需求。 随着应用范围的扩大以及更复杂的应用需求, web 服务支持复杂的消息交 换模式势在必行。 发布/订阅是一种事件驱动的消息交换模式,能把分布式应用中各组件有机 的联系起来。例如在一些系统中需要以主动通知给客户端的情况。在 web 服务 中使用发布/订阅的消息交换模式能很好的解决企业应用集成和分布式应用交互 中的事件驱动消息交换问题。 在这种情况下,通常需要使用有状态的服务,监控事件的状态。使用有状态 服务能够对一些状态数据进行维护,通过在服务中引入资源属性来表示事物状 态。这种方式的通知服务能够很好的解决事件状态这一问题。然而传统的 web 有状态通知服务在民航综合信息平台的设计与实现 2 服务技术是无状态的。 状态是指当前活动的特定数据3, 无状态是指 web 服务本 身不保留客户的任何信息,服务的调用也不依赖于前一个调用。因此需要解决如 何将有状态资源加入到 web 服务中的问题。 1.2 研究现状 早在 1996 年就有人提出 soa 的概念, 但当时的技术不足以从真正意义上支 持实现 soa。随着网络技术的不断发展,特别是 web 服务技术的出现,soa 才 被再次提出,各大 it 厂商和科研机构均对此表现出极大的兴趣,然而 soa 还远 未达到完善的地步。 对于 web 服务中如何解决有状态服务的问题, 在网格社区中为了解决 ogsi 和 web 服务之间的矛盾,web 服务资源框架(wsrf)被提了出来。ibm、bea 与 microsoft 首先联合发布了 ws-addressing 协议。 基于该规范, globus 联盟和 ibm 推出了 web 服务资源框架 wsrf。在 wsrf 中资源是有状态的,服务是无状态 的。wsrf 的目的在于,定义了一个通用的架构,使用 web 服务对有状态属性 资源进行存取,并包含描述状态属性的机制和如何将其延伸到 web 服务中的方 式4。 对 于 事 件 驱 动 的 通 知 服 务 , 目 前 提 出 了 两 个 规 范 , 分 别 是 ws-notification(wsn)规范和 ws-eventing 规范,分别由 ibm 和 microsoft 组织 提出。wsn 规范是与 wsrf 一同开发的,它定义了一种基于主题的发布/订阅模 式进行通知的标准 web 服务方法。目前 wsrf 和 wsn 规范已经被 oasis (organization for the advancement of structured information standards,结构信息 标准化促进组织)收入5。 wsrf 和 wsn 规范目前都处于不断的发展之中。对其本身而言,由于提出 不久,其规范还有待在实践中得到进一步应用证明,并逐步得到完善。 目前,在国内方面,soa 及其相关实现技术(包括 wsrf 和 wsn 等)的研究 在还处于起步阶段。科研机构的理论研究成果并不多。大部分还是对 wsn 规范 和 wsrf 规范进行简单的翻译和综述。 1.3 研究意义 soa 是指为了解决在 internet 环境下业务集成的需要, 通过连接能完成特定 任务的独立功能实体实现的一种软件系统架构, 它最主要的应用场合在于解决在 internet 环境下的不同商业应用之间的业务集成问题。soa 是对现有体系结构的 南京航空航天大学硕士学位论文 3 继承和发展 ,较好的解决了可重用和可维护性的问题,并消除了不同协议和软 硬件平台带来的整合问题。 本文主要研究的是 soa 领域的一种事件驱动型服务,事件驱动服务能提供 实时业务动态所需的功能,它将 web 服务的请求响应与事件驱动架构的发布/订 阅相结合6,使得企业对事件处理变得十分灵活。本文对 soa 相关实现技术的 研究具有较强的理论与实践意义,同时结合民航综合信息平台的实际需求,对事 件驱动的 soa 进行了具体的应用。本文具有以下研究意义: 1soa 对软件体系结构的研究具有重要的理论意义。它是对现有体系结构 的继承和发展,是对原有软件体系结构提供更高的抽象、封装和模块化的过程。 2事件驱动的 soa 是客观世界的现实需求,事件驱动型的 soa 提供了实 时响应动态业务所需的所有功能。它是 soa 请求响应模式与事件的订阅/发布模 式的结合。对开发基于 soa 的分布式企业级应用有很强的现实指导意义。 1.4 本文的主要工作与结构安排 1) 本文的主要工作如下: 详细介绍了 soa 的概念、 框架, 对 web 服务资源框架和 web 服务通知规范 进行了详细的阐述。 针对民航信息平台核心服务子系统,在借鉴 wsrf 和 wsn 规范的基础上, 使用 web 服务对航班状态建模,将航班状态资源引入到 web 服务中,并使用发 布/订阅模式解决了短信平台对事件驱动服务的需求,构建一种主动通知服务系 统,并对应用中涉及的设计模式等问题进行了讨论。 利用 globus toolkit 4 工具包搭建实验平台,在民航综合信息平台原型系统 开发中完成了服务的实现,验证了方案的可行性。 2)论文的结构安排 第一章 绪论。简要介绍了有状态通知服务的背景,讨论了 soa 相关技术的 研究现状和研究意义。最后,给出了本文的主要内容。 第二章 有状态通知服务的相关技术分析。本章首先介绍了 soa 的定义、架 构及其设计原则并介绍了 soa 的主要实现技术web 服务,分析了服务为何 是无状态的原因。重点介绍了 wsrf 规范与 wsn 规范,以及这两种规范内在的 联系。 第三章 有状态通知服务建模。本章首先简要对民航综合信息平台做了总体 分析。针对短信平台需要一种事件驱动的通知服务的问题,使用 web 服务对航 班状态建模,重点介绍了 web 服务与资源的关系,以及如何与之交互。 有状态通知服务在民航综合信息平台的设计与实现 4 第四章 有状态通知服务在民航综合信息平台的设计。本章在上一章的基础 上,设计了基于订阅/发布模式的通知服务,对系统的消息交换模型进行了详细 的介绍,并介绍了平台的相关设计。 第五章 航班动态通知服务的实现。本章介绍了航班动态通知服务的实现, 重点对服务的接口定义, 工厂模式的实现做了详细的介绍。 最后给出了实验结果。 第六章 总结与展望。介绍了论文的工作情况,以及以后的研究方向。 1.5 课题来源 基金项目: 国家 863 计划 “新一代国家空中交通管理系统”所属课题 (2006aa12a106) 南京航空航天大学硕士学位论文 5 第二章 有状态通知服务的相关技术分析 2.1 soa 概述 传统的企业架构由技术和业务两个层次构成, 技术层与业务层之间并不能直 接通信,这就使得信息技术无法实时满足业务需求。soa 通过在两层之间定义 了一个新的层次服务层,解决了这一问题。它将分布在网络中的软件资源看作 是各种服务,这些服务是从业务需求开始的,而非始于技术。因此,soa 摆脱 了面向技术的解决方案,与其它企业架构方法相比,soa 让信息技术变得更有 弹性,能够更快地响应业务需求,从而实现更好的业务灵活性,使得企业能够快 速应对变化并有效地做出响应。而这种灵活性的架构,意味着它不仅能够确保当 前业务的灵活性,而且可以满足企业未来的业务需求。 本章主要讲述了 soa 的基本概念、框架和操作。并有针对性地介绍了 soa 的实现技术,web 服务。最后讨论了服务的状态问题。 2.1.1 soa 的基本概念 通常认为 soa 是一个组件模型,是一种构建系统的方法。它将应用程序的 不同功能单元服务(service),通过服务间定义良好的接口和契约(contract)联 系起来。将应用的功能以服务的形式提交给用户或其它服务。它可以根据需求通 过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是 soa 的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人 为依赖性。接口采用中立的方式定义,独立于具体实现服务的硬件平台、操作系 统和编程语言, 使得构建在这样的系统中的服务可以使用统一和标准的方式进行 通信。这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务 之间的松耦合789。 从这个定义中,可以看出8 : 1. soa 不是一种语言,也不是一种具体的技术,更不是一种产品,而是一 种软件系统架构。 2. 服务是面向服务的体系结构的核心,服务是执行可重复任务的可发现资 源,由外部化的服务规范进行描述。在面向服务的体系结构中,服务是被精确定 义、封装完善、独立于其它服务所处环境和状态并应用于业务流程的一种可重用 组件。 有状态通知服务在民航综合信息平台的设计与实现 6 2.1.2 soa 的架构及特点 soa 的基本体系架构由以下四部分组成7: 1服务提供者(service provider) 服务提供者是一个可通过网络寻址的实体,它接受和执行来自消费者的请 求。它将自己的服务和接口契约发布到服务注册中心,以便服务使用者可以发现 和访问该服务。它主要实现以下功能: a) 定义可提供的服务功能 b) 设计并实现这些功能 c) 发布服务 2注册机制(register) 服务注册机制是一个包含可用服务的网络可寻址的目录,它是接收并存储 服务契约的实体,供服务消费者定位服务之用。主要实现以下功能: a) 增加、删除或修改己发布服务提供的服务数据 b) 按用户的请求从注册表中查询服务数据 3服务消费者(service consumer) 服务消费者可以是一个请求服务的应用、服务或者其它类型的软件模块,它 从注册机制中查找其需要的服务,并通过传输机制来绑定该服务,然后通过传递 契约规定格式的请求来执行服务功能。该部分主要完成以下功能 : a) 通过服务注册机制发现所需服务 b) 通过规定的协议来与要访问的服务通信 4服务契约(contract) 服务契约是服务消费者和服务提供者间交互方式的规范, 指明了服务请求和 响应的消息格式。 soa 的基本架构如图 2-1 所示: 服务提供者服务消费者 注册机制 服务 契约 注册服务查找服务 绑定并执行 图 2.1 soa 的基本架构模型 服务的提供者与服务的消费者是彼此分开的, 注册机制中的服务信息位于两 南京航空航天大学硕士学位论文 7 者之间,它将服务提供者所提供的服务按一定的标准组织并分类,并向消费者发 布服务接口,消费者使用查询功能发现提供者。服务提供者与服务消费者通过事 先定义好的契约进行交互。 通过 soa 的架构我们发现 soa 中的三种基本操作: 1查找(find)服务 服务消费者依据服务契约来查找和定位服务, 查找服务的操作由用户或者其 它的服务发起。 2注册(register)服务 服务提供者将服务的信息发布到服务注册机制中, 服务的信息包括与该服务 交互所需的所有内容,如网络位置、传输协议以及消息格式等。 3绑定并执行(bind and execute)服务 一旦服务请求发现合适的服务, 它将根据服务描述中的信息在运行时直接调 用服务。 通过以上分析我们将 soa 的特点归纳如下 1编码灵活性 可基于模块化的低层服务、 采用不同组合方式创建高层服务, 从而实现重用, 这些都体现了编码的灵活性。 2明确开发人员角色 开发人员可以集中精力在服务层,应用层开发人员则无须特别了解其实现, 而将精力放在解决高价值的业务问题上。 3更易维护 服务提供者和服务使用者的松散耦合关系及对开放标准的采用确保了该特 性的实现。 4更好的伸缩性 依靠服务设计、开发和部署所采用的架构模型实现伸缩性。服务提供者可以 彼此独立调整,以满足服务需求。 5更高的可用性 该特性在服务提供者和服务使用者的松散耦合关系上得以体现。 使用者无须 了解提供者的实现细节,这样服务提供者就可以在集群环境中灵活部署,使用者 可以被转接到可用的例程上。 soa 可以看作是 b/s 模型、xml/web service 技术之后的自然延伸。soa 将能够帮助我们站在一个新的高度理解企业级架构中的各种组件的开发、 部署形 式, 它将帮助企业系统架构者以更迅速、 更可靠、 更具重用性架构整个业务系统。 较之以往,以 soa 架构的系统能够更加从容地面对业务的急剧变化。 有状态通知服务在民航综合信息平台的设计与实现 8 2.1.3 面向服务的设计原则 那么如何才能构建面向服务的应用系统呢,答案就在面向服务之中。已经有 一系列公认的原则应用到 soa 内组成服务的每个逻辑单元中,面向服务的设计 原则一般可归纳如下310: 1服务是可复用的 面向服务鼓励所有服务设计的复用性,无论是否服务具有复用性需求。通过 应用设计标准使得每个服务都有潜在的复用性, 能够适应未来需求而不增加开发 负担。 2服务共享一个契约 契约是指服务端点、每个服务操作、每个操作的输入输出、服务和操作的规 则特征。服务的交互应该建立在服务的策略和基于协约的行为上。 3服务是松散耦合的 松散耦合是一个服务获得另一个服务的同时依旧保持服务的独立性的条件, 通过使用服务契约来达到松耦合,允许服务在预定义的参数内交互。 4服务是底层逻辑的抽象 服务像“黑匣子”一样运行,外部组件既不知道也不必关心它们如何执行, 而仅仅关心它们是否返回期望的结果。 底层处理实现对所有不相关的服务都实行 隐藏。 5服务是可组合的 服务在设计之初就设计为可以被其他服务所组合, 可降低未来出现其他服务 使用同样功能的成本。 6服务是自治的 自治是需要服务所暴露的逻辑范围位于一个清晰的边界内, 边界清晰是服务 自治的关键。自治是服务可自我管理其代表的所有业务逻辑操作,不一定非要要 直接服务操作底层业务逻辑。允许服务对所有的处理进行自我管理,消除对其他 服务的依赖 7服务是无状态的 服务应该尽量少的保留管理状态信息量,因为这些信息量都是特定的数据。 对于服务而言,无状态是复用性和可扩展性的首要条件。 8服务是可发现的 服务可发现机制可以避免多于服务的开发,提供一个可发现的机制。这样还 可以提供服务的复用性。随着生命周期的进展,服务可以对其进行发现;这由服 务元数据、注册中心提供支持。 南京航空航天大学硕士学位论文 9 2.2 web 服务 2.2.1 web 服务概述 web 服务是一个崭新的分布式计算技术,在 internet 或 intranet 上通过使用 标准的 xml 协议和信息格式来展示商业应用服务,使用标准的 xml 协议使得 web 服务独立于开发平台。 web 服务以技术栈的形式规范了各类关键技术, 形成 了一系列标准,这些标准包括 soap、wsdl 、uddi 等11。web 服务利用这 些标准提供了一个松散耦合的分布式计算环境, 提供了以往任何一种技术都不可 能提供的不同平台之间的互操作性,而且可以使企业降低开发成本、更快地部署 解决方案以及开拓新机遇。 1xml 可扩展标记语言(extensible markup language,xml)是用于描述数据和交换 数据的一种标准方式。 它定义了结构化描述信息的标准格式, 使数据在不同平台、 不同系统之间可以使用不同的编程语言来实现互操作。xml 和 web 服务的关系 有如 tcp/ip 和 internet 的关系,不过后者着重于网络的互联,而 xml 将实现数 据的共享。 2soap 简单对象访问协议(simple object access protocol,soap)是在分散或分布式 的环境中,通过 xml 编码进行通讯的一种网络协议,它以 xml 形式提供了一 个简单的、轻量级的可以在松散的、分布的环境中对等地交换结构化和类型化信 息的机制。soap 本身并不定义任何应用语义,如编程模型或特定语义实现,它 实现了不论服务形式采用何种软件、 使用何种硬件都能够跨越这一传统的界限以 web 的形式无缝地将他们集成在一起这一目标,该目标的核心是互操作性,即 不同系统能够无缝地进行通信和共享数据,这也是 web 服务追求的目标12。 3wsdl web 服务描述语言 (web service description language,wsdl)是定义如何 用 xml 语法描述 web 服务的规范。 它通过在服务提供者和请求者之间交换的消 息来描述 web 服务,可看作是 web 服务和外界沟通的桥梁。wsdl 文档指定应 用程序提供的 web 服务信息,如 web 服务提供的功能、web 服务地址和客户端 如何向这些服务传输消息。应用程序寻找满足特定需求的服务时,可以利用这个 信息选择合适的 web 服务。发布 web 服务时,web 服务管理员可以在 xml 注 册表或其它 wsdl 储存库中发布 web 服务的 wsdl 文档链接。 然后可在应用程 序搜索注册来定位 web 服务时使用这个 wsdl 文档。客户机访问 xml 注册表 中包含的 wsdl 文档, 取得 web 服务的信息和生成具有适当结构的 soap 消息, 有状态通知服务在民航综合信息平台的设计与实现 10 与服务通信。最后,客户机用 wsdl 文档中的信息调用 web 服务13。 4uddi 统一描述、发现和集成协议 (universal description discovery and integration, uddi)是一套基于 web 的、分布式的、为 web 服务提供信息注册中心的实现标 准规范,它用以结构化的方式来注册、管理企业信息以及相关的服务信息。通过 uddi 软件人员可以出版或是搜寻企业以及 web 服务信息,籍以达到资源共享 和集成的目的14。 uddi 商业注册信息都存储在 uddi 商业注册中心。通过使用 uddi 的发现 服务,企业可以单独注册那些希望能被企业发现的 web 服务。企业可以通过 uddi 商业注册中心的 web 界面,或使用实现了 uddi programmers api 标准所 描述的编程接口工具,将信息加入到 uddi 的商业注册中心。 2.2.2 soa 与 web 服务的关系 在理解 soa 和 web 服务的关系上,经常发生混淆。v. natis 就这个问题是 这样解释的: “web 服务是技术规范,而 soa 是设计原则。特别是 web 服务中 的 wsdl,是一个 soa 配套的接口定义标准:这是 web 服务和 soa 的根本联 系15。 ”从本质上来说,soa 是一种架构模式,而 web 服务是利用一组标准实 现的服务。web 服务是实现 soa 的方式之一。用 web 服务来实现 soa 的好处 是可以通过一个中立平台来获得服务, 而且随着越来越多的软件商支持越来越多 的 web 服务规范,web 服务将会取得更好的通用性。 尽管 web service 是目前的一种对 soa 比较好的实现方式,但是 soa 并不 局限于 web service。其他使用 wsdl 直接实现服务接口并且通过 xml 消息进 行通信的协议也可以包括在 soa 之中。corba 和 ibm 的 mq 系统通过使用能 够处理 wsdl 的新特征也可以参与到 soa 中来。 2.2.3 服务的状态分析 http 协议是一种无状态的协议。每发送一次请求,得到一个响应,服务器 不知道某个特定的请求是客户端发出的第一个还是第几个请求, 即使这个请求是 多个请求中的一个,需要按顺序处理,服务器对此也一无所知。由于 http 是无 状态的,因此当 web 服务出现的时候,也是无状态的。虽然可以通过在信息中 插入标识来引入状态,但是通常认为无状态的服务是一种较好的工程实践16 通常,无状态的服务可以增强可靠性和可扩展性。 (例如,在失败之后,服 务可以重启,而不用关心之前的交互。可以根据系统的负载创建或销毁新的服务 实例。 )服务应设计为可伸缩且可部署到高可用性的基础结构中。此原则的一个 推论就是,服务不应为有状态的。也就是说,它不应依赖于使用者和提供者间长 南京航空航天大学硕士学位论文 11 期存在的关系,操作调用也不应隐式地依赖于前一个调用。 然而, 有些情况下则需要使用有状态的服务 服务会根据交换的消息来 操作有状态的资源。这些场景也包括服务之间的交互。因此,引入 web 服务资 源框架来解决服务操作有状态资源的问题。 2.3 wsrf 与 wsn 的提出背景 2.3.1 ogsa(开放网格服务体系结构) globus 联盟在全球网格论坛 ggf 上提出了开放网格服务体系结构 ogsa 的 思想。ogsa 是面向服务的体系结构,提出的目的主要是为了实现网格体系结构 的标准化。ogsa 包括两大关键技术,即网格技术和 web service 技术,它是在 网格五层沙漏结构的基础上,结合 web service 技术提出来的1718。 ogsa 最基本的思想就是以“服务”为中心。 在 ogsa 框架中, 将一切抽象为 服务,包括各种计算资源、存储资源、网络、程序、数据库等等,简而言之,一 切都是服务。这种观念,有利于通过统一的标准接口来管理和使用网格。这一结 构的意义就在于它将网格从科学和工程计算为中心的学术研究领域, 扩展到更广 泛的以分布式系统服务集成为主要特征的社会经济活动领域。 ogsa 定义了网格服务 (grid service) 的概念, 网格服务是一种 web service, 该服务提供了一组接口,这些接口的定义明确并且遵守特定的管理,解决服务发 现、动态服务创建、生命周期管理、通知等问题。在 ogsa 中,将一切都看作 网格服务,因此网格就是可扩展的网格服务的集合。网格服务可以以不同的方式 聚集起来满足虚拟组织的需要, 虚拟组织自身也可以部分地根据他们操作和共享 的服务来定义。简单地说,网格服务接口/行为服务数据。图 2.2 是对网格服 务的简单描述。 主机环境/运行时 (c,j2ee,.net) 实现 服务数 据元素 服务数 据元素 服务数 据元素 网格服务其它接口 (必须的)(可选的) 图 2.2 网格服务示意图 有状态通知服务在民航综合信息平台的设计与实现 12 ogsa 以服务为中心,具有如下好处: 网格中一切都是服务,通过提供一组相对统一的核心接口,所有的网格服务 都基于这些接口实现,可以很容易地构造出具有层次结构的、更高级别的服务, 这些服务可以跨越不同的抽象层次,以一种统一的方式来看待。 2.3.2 web 服务与网格服务的结合 在 ogsa 刚提出不久,ggf 及时推出了 ogsi(open grid services infrastructure,开放网格服务基础架构)草案,并成立了 ogsi 工作组,负责该 草案的进一步完善和规范化。ogsi 是作为 ogsa 核心规范提出的,其 1.0 版于 2003 年 7 月正式发布。ogsi 规范通过扩展 web 服务定义语言 wsdl 和 xml schema 的使用,来解决具有状态属性的 web 服务问题。它提出了网格服务的概 念,并针对网格服务定义了一套标准化的接口,主要包括:服务实例的创建、命 名和生命周期管理、服务状态数据的声明和查看、服务数据的异步通知、服务实 例集合的表达和管理、以及一般的服务调用错误的处理等。 ogsi 通过封装资源的状态,将具有状态的资源建模为 web 服务,这种做法 引起了“web 服务没有状态和实例”的争议,同时某些 web 服务的实现不能满 足网格服务的动态创建和销毁的需求。ogsi 单个规范中的内容太多,所有接口 和操作都与服务数据有关,缺乏通用性,而且 ogsi 规范没有对资源和服务进行 区分。ogsi 使用目前的 web 服务和 xml 工具不能良好工作,因为它过多地采 用了 xml 模式,带来移植性差的问题。另外,由于 ogsi 过分强调网格服务和 web 服务的差别,导致了两者之间不能更好地融合在一起。上述原因促使了 wsrf(web service resource framework,web 服务资源框架)的出现。 为了解决 ogsi 和 web 服务之间存在的矛盾,ibm、bea 与微软联合发布 了 ws-addressing 协议。 基于该协议规范, globus 联盟和 ibm 迅速推出了 wsrf。 wsrf 采用了与网络服务完全不同的定义,它规定资源是有状态的,服务是无状 态的。为了充分兼容现有的 web 服务,wsrf 使用 wsdl 1.1 定义 ogsi 中的各 项能力,避免对扩展工具的要求,原有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年职业技能保安员保安员(初级)-保安员(中级)参考题库含答案解析
- 2025年职业技能保健调理师高级工-基础知识参考题库含答案解析
- 2025年特种作业类金属非金属矿山安全作业-金属非金属矿山安全检查作业参考题库含答案解析
- 2025年咖啡连锁经营项目提案报告
- 2025年特种作业类危险化学品安全作业重氮化工艺作业-烷基化工艺作业参考题库含答案解析
- 2025年广东省深圳市光明区中考二模英语试题含答案
- 省委公务员培训课件
- 2025年建筑工程类环境影响评价工程师案例分析-案例分析参考题库含答案解析
- 2025年建筑工程类注册安全工程师安全生产法律法规-安全生产技术基础参考题库含答案解析
- 木子老师批改数学试卷
- 德育副校长工作总结课件
- 业财一体化课件
- 2025当兵心理测试题及答案
- 2025年官方兽医牧运通考试题库附参考答案详解(考试直接用)
- 2025年兵团辅警考试题库
- 2025年湖南省直机关遴选公务员考试笔试试卷【附答案】
- 家电广告效果评估报告
- 锐澳RIO抖音dp运营方案
- 2025年乒乓裁判考试题及答案
- 输电线路路经复测安全、技术交底
- lpr利率管理办法
评论
0/150
提交评论