




已阅读5页,还剩66页未读, 继续免费阅读
(信息与通信工程专业论文)基于web服务的soa在电子政务中的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着i t 技术的不断发展,企业信息化程度不断提高,企业应用的构建日趋复 杂。激烈的竞争环境对企业的r r 架构提出了两点要求:一方面必须能够充分利用 企业的现有资源,另一方面必须灵活快捷地应对市场的变化。 s o a ( s e r v i c e - o r i e n t e da r c h i t e c t u r e ,面向服务的架构) 是一种设计思想,也是一 种粗粒度、松耦合的系统架构模型。该架构模型能够为企业提供敏捷的、高效的 系统,来对不断变化的业务逻辑进行快速部署,使企业的信息系统成为一种可以 利用的战略资源。w e b 服务是当前实现s o a 的主流技术,它与s o a 的结合,为 企业带来了高效率的开发,高可靠性和高质量的服务,能够最大限度的获取业务 变更所带来的好处。 在经历了基础设施建设和应用系统建设热潮之后,电子政务建设目前面临的 一个迫切问题是信息资源整合。将s o a 应用于电子政务系统的集成,可以有效地 解决当前电子政务信息资源整合时所面临的“信息孤岛问题和异构系统的一体 化问题。针对电子政务系统集成中的问题,我们提出了基于w e bs e r v i c e 的s o a 实现方案。 论文对w e b 服务和s o a 的技术原理进行了详细的介绍,并对b p m 与s o a 之间的区别和联系进行了深入的研究和概括,然后详细分析了当前电子政务建设 和发展过程中所面临的突出问题,并从实际问题出发,采用s o a 和w e bs e r v i c e 技术为构建一个全新的电子政务系统提供了一种面向服务的、基于标准的、开放 的系统架构。然后以电子政务平台中的网上审批系统为例,用面向服务的分析与 设计方法提出了完整的系统解决方案。在对系统进行基于s o a 的设计与实现时, 我们全部采取开源的技术来实现包括基本服务的设计与实现、业务流程的编排与 部署以及通过企业服务总线对所有的服务进行集成在内的所有工作。这种开源的 实现方案,既能保证不受具体软件厂商技术的限制,又能最大限度地降低系统投 资风险和开发成本。 我们这种基于s o a 和w e bs e r v i c e s 技术的电子政务集成方案,实现了系统灵 活部署,同时避免了由于业务流程变更而重构系统甚至重新开发系统带来的不便, 能够迅速响应业务流程变更,从而极大地提高了该系统的适应性和敏捷性。 关键字:w e b 服务,b p m ,s o a ,电子政务,企业应用集成 a b s t r a c t a b s t r a c t w i t ht h ec o n t i n u o u sd e v e l o p m e n to fi tt e c h n o l o g y , e n t e r p r i s ei n f o r m a t i z a t i o nl e v e l i n c r e a s e sc o n s t a n t l ya n dt h ec o n s t r u c t i o no fe n t e r p r i s ea p p l i c a t i o nb e c o m e sm o r ea n d m o r ec o m p l i c a t e d c o m p e t i t i v ee n v i r o n m e n tr e q u i r e se n t e r p r i s ei tc o n s t r u c t i o nt h a to n t h eo n eh a n d ,m a k ef u l lu s eo ft h ee x i s t i n gr e s o u r c e s ,a n do nt h eo t h e rh a n d , m a k e f l e x i b l ea n di m m e d i a t er e s p o n s eo nt h ec h a n g eo ft h em a r k e t s e r v i c eo r i e n t e da r c h i t e c t u r ei sak i n do fd e s i g np h i l o s o p h ya n d r o u g h - g r a n u l a r i 哆 l o o s e l y - c o u p l e ds y s t e m a r c h i t e c t u r em o d e l t h i sa r c h i t e c t u r em o d e lc a nm a k e e n t e r p r i s e ss y s t e m sp r o m p ta n de f f i c i e n ts ot h a tt h e yc a nd e p l o yb u s i n e s sl o g i cr a p i d l y a c c o r d i n gt ot h ec h a n g ea n dt h ei n f o r m a t i o ns y s t e mc a nb e c o m eak i n do fs t r a t e g i c r e s o u r c e s w e bs e r v i c e si st h ec u r r e n tm a i ni m p l e m e n t a t i o no fs o a t e c h n o l o g ya n di ti s t h a ti t sc o o p e r a t i o nw i 血s o am a k et h e e f f i c i e n t 、r e l i a b l ea n dh i g h - c a l i b e rw h i c h c h a n g e s d e v e l o p m e n to fe n t e r p r i s e ss y s t e m sm o r e c a l lm a x i m i z et h eb e n e f i t sf r o mb u s i n e s s a f t e rt h ei n f r a s t r u c t u r ec o n s t r u c t i o na n da p p l i c a t i o ns y s t e mc o n s t r u c t i o nb o o m ,t h e m o s ts e r i o i l sp r o b l e me g o v e r n m e n ti sc o n f r o n t e dw i mi st h ei n f o r m a t i o nr e s o u r c e s i n t e g r a t i o n i fw eu s e ds e af o re - g o v e r n m e n ts y s t e mi n t e g r a t i o n , t h e nw ec a l l e f f e c t i v d y s o l v et h ep r o b l e m sl i k e ”i n f o r m a t i o ni s l a n d a n d g l e i c h s c h a l t u n g i n e l e c t r o n i cg o v e r n m e n ta f f a i r s t os o l v et h ep r o b l e mo fe - g o v e r n m e n ts y s t e mi n t e g r a t i o n , w ep r o p o s et h es o l u t i o nb a s e do nw e bs e r v i c ea n ds e a t h ep a p e rh a sm a d ead e t a i l e di n t r o d u c t i o no nt h ew e bs e r v i c ea n ds o a t e c h n o l o g yp r i n c i p l ea n da tt h es a n l et i m e ,r e s e a r c h e do na n ds u m m a r i z e dt h es e r v i c e - o r i e n t e da n a l y s i sa n dd e s i g nm e t h o di n - d e p t h a n dt h e ns t a r tf r o ma c t u a lp r o b l e m s , u s ew e bs e r v i c ea n ds e at oc o n s t r u c tan e ws e r v i c e o r i e n t e d 、s t a n d a r da n do p e n f r a m e w o r kf o re - g o v e r n m e n ts y s t e mi n t e g r a t i o n t h e nw et a k et h eo n l i n er e v i e wa n d a p p r o v a ls y s t e mf o re x a m p l e ;a n a l y s ea n dd e s i g nt h es y s t e mf r a m e w o r kw i t ht h es e r v i c e o r i e n t e da n a l y s i sa n dd e s i g nm e t h o d s 。w h e nw e d e s i g na n dr e a l i z et h es y s t e mb a s e do n s o a ,w eu s eo p e n s o u r c et e c h n o l o g yt oa c c o m p l i s ht h ed e s i g na n dr e a l i z a t i o no fb a s i c i i i a b s t r a c t s e r v i c e s ,b u s i n e s sp r o c e s sa r r a n g e m e n ta n dd e p l o y m e n ta n ds e r v i c e si n t e g r a t i o nw i t h e s bs ot h a tw ed o n tl i m i t e db ys p e c i f i ct e c h n o l o g yo fs o f t w a r ev e n d o r sa n dc a ng r e a t l y r e d u c et h er i s ko fi n v e s t m e n ta n dc o s to ft h es y s t e m t h i se g o v e r n m e n ti n t e g r a t i o ns o l u t i o nb a s e do ns o aa n dw e bs e v i c e ,e n h a n c e s t h ef l e x i b i l i t yo ft h ed e p l o y e ds y s t e m ,a v o i d st h et r o u b l eo fr e - b u i l d i n gs y s t e mo r m a k i n gb i gc h a n g e sc a u s e db yb u s i n e s sc h a n g e s ,a n dr e s p o n s et ot h eb u s i n e s sc h a n g e r a p i d l y s oi tg r e a t l yi m p r o v e st h ea d a p t a b i l i t ya n da g i l i t yo f t h es y s t e m k e y w o r d s :w e bs e r v i c e s ,b p m ,s o & e - g o v e r n m e n t , e n t e r p r i s ea p p l i c a t i o n i n t e g r a t i o n 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 7 年朔瑚 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:当兰裹导师签名 日期: 第一章引言 1 1研究背景及意义 第一章引言 上世纪中后期的软件危机使人们深刻地认识到了软件工程的重要性,归根结 底,软件工程学的提出就是为了尽可能的实现软件重用,降低软件的开发成本。 然而随着软件系统越来越大,越来越复杂,现有的软件工程方法越来越显得力不 从心。这主要是因为随着r r 技术的不断发展,企业信息化程度不断提高,企业应 用的构建日趋复杂。一方面,各企业内部存在大量已有的分散的、异构的r r 资源 得不到充分利用,从而无法为企业带来最大效益。企业之间的资源相互隔离,不 能互通,既增加了商业活动的成本,又降低了商业活动的效率。另一方面,全球 经济一体化营造了一个激烈的竞争环境,企业的业务需要不断变化。企业要对市 场的变化十分敏感,从而最短时间内做出反应,迅速调整策略来适应这些变化, 使企业在应对变化时显得敏捷,高效。这就对企业的r r 架构提出了两点要求:一 方面必须能够充分利用企业现有资源,另一方面,必须灵活快捷地应对市场的变 化。面向服务的体系结构( s o a ) 提供了一个整合的平台,可以充分利用和扩展 原有的异构的应用系统来支持新的业务要求。同时s o a 具有简单性、灵活性、可 重用性和可维护性等特点,能够显著提高系统的敏感性和效率性,从而能够适应 多变的市场需求。因此s o a 成为当前构建现代企业信息系统的首选方案。 和企业信息系统一样,当前电子政务系统也面临许多问题和挑战,当前电子 政务发展的目标是为公众提供“一站式的服务平台,但是在建设的过程中遇到 的典型问题就是“信息孤岛 和异构系统的一体化问题,面向服务的体系架构为 解决这些问题指明了方向。使用s o a 构建电子政务异构集成,可以避免“信息孤 岛 问题,使得异构系统之间实现互联互通,并且通过业务流程重组,实现对业 务流程的迅速响应。面向服务的体系结构是一个组件模型,它将应用程序的不同 功能单元( 称为服务) 通过这些服务之间定义良好的接口和契约联系起来。接口是采 用中立的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言。 这使构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。 s o a 的中心思想就是实现技术和业务的分离,使得企业应用摆脱面向技术的解决 方案的束缚,轻松应对企业业务变化、发展的需要。 电子科技大学硕士学位论文 研究和实现基于w e b 服务的s o a 具有非常重要的意义,该工作为我国大中小 型企业的信息化建设提供了基础性的研究工作。将s o a 用于分布式的电子政务应 用集成有很强的现实指导意义,使电子政务中的i t 环境可以更灵活更快的响应不 断改变的业务需求,同时使各种异构系统尽可能无缝的进行连接通信,达到最大 程度减低开发成本和重用现有遗留系统的目的。 1 2 国内外研究现状 面向服务的系统架构( s o a ) 最早是由g a r t n e r 在1 9 9 6 年提出的,此后众多 主流的软件厂商纷纷开始了对s o a 的研究工作,现在,s o a 己从一个虚幻模糊的 概念转变成为业界追捧的技术、客户未来的投资重点,这不仅仅归功于w e b 服务 标准及相关软件技术的成熟,更重要的是众多业内厂商对s o a 的倾力支持。诸如 微软公司,i b m ,b e a ,o r a c l e 等,甚至于美国国防部都参与进行了s o a 项目的 开发。这些公司相继推出了自己基于s o a 架构的相关产品解决方案,并且纷纷用 s o a 思想来指导企业应用的集成。i b m 推出s o a 产品包括其e s b 、基于w e b s p h e r e 的p r o c e s s s e r v e r 与b u s i n e s s m o d e l e r 、r a t i o n a l 产品等;b e a 也将其三个主要产品 线:a q u a l o g i c 、w e b l o g i c 和t u x e d o ,调整为基于s o a 架构的m i c r o s e r v i c e s a r c h i t e c t u r e ;o r a c l e 推出s o as u i t e 包括f u s i o nm i d d l e w a r e 、b p e l 、e s b 、 r u l e s e n g i n e 等众多产品【1 1 。 对于s o a 以及企业应用集成的研究,国际上已经比较成熟,并且有一些成功 的案例。国内也有一些资深的研究机构和知名r r 公司逐渐认识到了s o a 的重要 性,也纷纷逐步参与到对s o a 的研究与应用中来( 例如普元公司在s o a 研究方 面处于国内领先位置) 。当然由于诸多方面的因素限制,国内对于s o a 的研发投 入还是远远不够,目前对于基于s o a 的企业级应用集成还处于探索阶段,还没有 形成大规模,商业化的运作。据调查显示,四分之一的国内企业己经针对s o a 采 取行动,包括进行内部s o a 相关培训、规划s o a 系统架构蓝图、测试s o a 应用 以及把s o a 作为主要流程架构在企业内部署。另有6 7 8 的企业虽尚未采取行动, 但他们表示正在了解和研究s o a 。有8 0 9 的公司表示将采取积极态度部署s o a , 7 3 7 的公司表示在未来两年内有s o a 项目的部署计划。可以预计未来一两年内, s o a 在中国将进入快速发展时期。由于中国的软件企业规模较小,s o a 又面向实 际问题的解决,因此包括i b m 在内的国外大公司,拥有丰富的解决行业经验,因 此其研究更加容易切入,在这方面国内的软件企业先天就处于弱势地位。 2 第一章引言 1 3 论文主要研究内容及创新 本论文详细介绍了s o a 的基本概念和特征,详细阐述了s o a 主流实现技术 w e bs e r v i c e 的相关协议,并着重研究了b p m 与s o a 之间的区别与联系,然后针 对当前s o a 应用的薄弱领域之一一电子政务应用集成中的问题提出了基于s o a 的系统解决方案,并从实际问题出发,采用s o a 和w e bs e r v i c e 技术为构建了一 个全新的电子政务系统提供了一种面向服务的、基于标准的、开放的系统架构。 然后以电子政务平台中的网上审批系统为例,结合网上审批系统的实际应用,基 于面向服务架构思想,综合运用w e b s e r v i c e ,b p e l ,e s b 等s o a 相关实现技术, 利用开源的技术方案设计并实现了该系统,对s o a 在电子政务集成中应用进行了 探索性的尝试。最后对本文的工作内容和存在的问题进行了总结。 1 4 论文内容组织 黄二 论文的组织结构安排如下: 第一章主要介绍了s o a 的研究背景,发展现状和明确论文的研究目标和主要 内容。 第二章是s o a 研究的理论基础,讲述了s o a 的基本概念,分析了s o a 的特 点,详细介绍了s o a 的主流实现技术w e b 服务的相关技术和s o a 的选择策略。 最后归纳总结了b p m ( 业务流程管理) 与s o a 之间的区别和联系,并就如何将 s o a 与b p m 进行有机结合进行了详细的分析。 第三章对电子政务应用集成进行研究。主要分析了电子政务集成面临的问题, 分析了基于s o a 的电子政务集成解决方案的可行性,并对电子政务系统集成时的 重要组成部分之一的网上审批系统进行了详细的分析与设计,针对系统的业务需 求提出了总体的设计方案。 第四章探讨了s o a 在网上审批系统中的实际应用,利用面向服务的分析和设 计方法,设计与实现了基本服务,并利用b p e l 流程语言对服务进行编排,形成 业务流程,然后利用a c t i v e b p e l 对其进行部署。最后介绍了通过开源的s e r v i c e m i x 服务总线对服务进行集成的方法。 第五章对全文的工作内容和依然存在的问题进行总结,并提出了进一步研究 的内容和方向。 电子科技大学硕士学位论文 第二章基于w e b 服务的s o a 相关技术 2 1s o a 概述 2 1 1 什么是s o a 什么是s o a ? 关于s o a 的具体定义,目前业界还没有标准的说法。下面是部 门企业和机构对s o a 的定义: w 3 c ( w o r l dw i d ew e bc o n s o r t i b i l l ,万维网协会) 对s o a 的定义是“一种应用 程序体系结构,在这种体系结构中,所有功能都定义为独立的服务,这些服务带 有定义明确的可调用接口,可以按照定义好的顺序调用这些服务来形成业务流 程 。s o a 是一种组件模型,它将应用程序的不同功能单元即服务通过它们之间定 义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它独立于实 现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服 务能够以一种统一和通用的方式进行交互【2 】。 s e r v i c e a r c h i t e c t u r e c o m 则认为s o a 本质上是服务的集合。服务间相互通信, 这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进行某些活动。 服务间需要某些方法进行连接。所谓服务就是精确定义、封装完善、独立于其它 服务所处环境和状态的函数【3 1 。 i b m 对s o a 的定义为:面向服务的体系结构( s o a ) 是一个组件模型,它将应 用程序的不同功能单元( 服务) 通过这些服务之间定义良好的接口和契约联系起来。 接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系 统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的 方式进行交互【4 j 。 在s o a 中,资源是作为可通过标准方式访问的独立服务,提供给网络中的其 它成员。与传统的系统结构相比,s o a 定义了资源之间更为灵活的松散耦合关系。 g a r t n e r 则将s o a 描述为客户端服务器的软件设计方法,一项应用由软件服务提 供者和软件服务使用者组成,s o a 与大多数通用的客户端朋艮务器模型的不同之处, 在于它着重强调软件组件的松散耦合,并使用独立的标准接口,最终形成面向服 务的体系结构集成【5 1 。 4 第二章基于w e b 服务的s o a 相关技术 s o a 的设计架构如图2 1 所示: 客 s o a 整合发布平台 户服 平台l 端。卢 s e r v i c ep r o v i d e r l 务 客 平台2 户 总 端 r1 - i s e r v i c ep r o v i d e r 2 线 。 客 。 平台3 户 f s e r v i c ep r o v i d e r 3 l 端 图2 - 1s o a 设计架构图 综合看来,s o a 本质上是服务的集合,服务间彼此通信,服务间的这种通信 可能是简单的数据传送,也可能是两个或更多的服务协调进行某些活动。服务通 过一个粗粒度的、可以被发现和绑定的软件实体实现,并通过松散耦合的基于消 息通信模型来与应用程序和其它服务交互【6 】【7 1 。s o a 是一种粗粒度、松耦合服务架 构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模 型,因此,s o a 是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度 应用组件进行分布式部署、组合和使用。其用例图如图2 2 所示: 服 图2 2s o a 用例图 者 电子科技大学硕士学位论文 2 1 2 为什么要使用s o a 我们之所以需要松散耦合系统都是因为业务应用程序需要根据业务的需要变 得更加灵活,以适应不断变化的环境,比如经常改变的政策、业务重点、业务级 别、合作伙伴关系、行业地位以及其他与业务有关的因素,所有这些因素都会对 业务的性质产生影响。通常我们把能够灵活地适应环境变化的业务称为按需业务, 在按需业务中,必要时一旦需求发生改变,我们就可以对完成或执行任务的方式 进行更改。s o a 可以给现代企业带来巨大好处,它不仅为集成遗留应用系统提供 了新方式,另外在可用性、交互性、维护性和可行性方面,基于s o a 构建的新应 用都有了很大提高。从长远来看,对于整个企业来说,s o a 的应用意味着更低的 操作费用,更高的质量标准,更低的开发费用以及更大的企业灵活度。 s o a 将应用拆分成具有良好定义的联络接口的诸多模块,这样服务和应用之 间是一种松耦合关系,这是s o a 的最主要的优点之一。各模块之间的松耦合关系 给服务消费者带来的好处在于【8 】:服务提供者提供的服务发生了某些变化时,服务 消费者端的应用可以无需做任何改变,并且服务消费者在选择某项服务时有多个 服务提供者供其选择。当然,松耦合带给服务提供者好处也是很显然的,那就是 松耦合系统的一次实现可以映射到多个的商业流程中,从而达到最大程度的复用。 另外,由s o a 组装实现的应用和工作流程维护费用更低,更易于修改以满足业务 的变化需要,这些无疑会极大地增强企业的竞争力。 2 1 3s o a 的基本特征 我们说过,s o a 是一种架构模型,它可以根据需求通过网络对松散耦合的粗 粒度组件进行分布式部署、组合和使用。从本质上来说,s o a 体现的是一种新的 系统架构,该系统架构具有以下几个基本特征: ( 1 ) 松耦合 软件上对松耦合的定义是指系统或组件之间相互依赖程度低。服务组件自身 是完全自包含、模块化的,服务之间的调用通过接口来实现。服务请求者无需关 心服务内部如何实现、如何修改,当业务逻辑发生变化时,仅仅需要修改业务的 实现部分,而不会引起各组件之间的联动修改。 ( 2 ) 明确定义接口 服务之间通过接口来交互,而这种接口是明确定义的,服务之所以可以提供 给其他任何异构平台的用户接口使用,就是通过服务接口的标准化描述来实现的。 6 第二章基于w e b 服务的s o a 相关技术 该服务接口隐藏了具体实现细节,与采用哪种开发语言和运行在什么平台上无关。 通过这种明确的接口定义使软件模块具有更好的可维护性,这是因为当业务逻辑 发生改变时,我们只需要修改业务逻辑的实现部分,而不用修改整个模块。 ( 3 ) 位置和传输协议透明 面向服务架构与面向组件编程的不同之处在于当客户端请求某个服务时,不 需要明确该服务提供者的具体位置及其使用的传输协议。s o a 架构通过服务总线 对服务接口进行统一封装,服务总线提供路由映射、传输协议绑定等功能,能够 显著提高应用集成的灵活性。 2 2s o a 的主流实现技术w e bs e r v ic e 2 2 1w e bs e r vic e 概述 w e bs e r v i c e 是对象组件技术在i n t e r n e t 中的延伸,是通过标准的w e b 协议可 编程访问的w e b 组件。“软件就是服务 是当今软件发展的一个潮流,不久的将来 所有的企业和组织都会将内部的功能定义为服务,整个社会都可以来租用这些服 务。这些服务就像那些工业时代可置换的标准零部件一样,可以随时装配形成业 务流程,完成新的功能。 从表面上看,w e bs e r v i c e 实际上就是一个应用程序,它向外界暴露出一个能 够通过w e b 进行调用的接口。也就是说,用户能够用编程的方法通过w e b 来调用 这个应用程序。我们把调用这个w e bs e r v i c e 的应用程序叫做客户,例如我们可以 创建一个简单的w e bs e r v i c e ,它提供的功能就是返回当天的天气情况。我们可以 建立一个a s p 或者j s p 页面,它接受邮政编码作为查询字符串,然后返回一个由 逗号隔开的字符串,字符串包含了当前的气温和天气。要调用这个页面,客户端 需要发送下面的这个h t t p 请求( 以g e t 方式提交) : h t t p :h o s t c o m p a n y s e r v i c e c o m g e t w e a t h e r j s p ? z i p c o d e = 2 0 15 3 返回的数据格式为:2 3 ,晴转多云 这个j s p 页面就可以看做是一个简单的w e bs e r v i c e 。因为它基于h t t pg e t 请求,暴露出了一个可以通过w e b 调用的接口。当然,w 曲s e r v i c e 还有更多的东 西,我们后面会详细介绍。 下面是对w e bs e r v i c e 更精确的解释:w 曲s e r v i c e s 是建立可互操作的分布式 应用程序的新平台( 相对于以前的分布式技术来说) 。作为一个程序员,我们曾经 7 电子科技大学硕士学位论文 都用c o m 或d c o m 建立基于组件的分布式应用程序。众所周知,c o m 是一种非 常好的组件技术,但是我们也很容易列举出c o m 的不足之处。在对w e bs e r v i c e 有了深刻的认识之后,你会发现w e bs e r v i c e 相对于c o m 更有优势。 总而言之,w e bs e r v i c e 平台是一套标准,它定义了应用程序如何在w e b 上实 现互操作性。你可以用任何一种你喜欢的语言在你喜欢的任意平台上写w e b s e r v i c e ,只要我们可以通过w 曲s e r v i c e 标准对这些服务进行查询和访问【9 】。 2 2 2w e bs e r vic e 与s o a 的关系 s o a 只是一种指导软件设计的方法论,并未对实现方法做出任何规定。当前 s o a 的实现技术有很多种,如分布式对象技术( c o r b a 、e j b 、c o m d c o m ) 、 面向消息的中间件技术( 如w e b s p h e r e m q ) 以及当前已经普遍应用的w e bs e r v i c e 技术。不少n 厂商都提出了自己的s o a 解决方案,i b m ,b e a 等公司也推出了 自己用来开发s o a 应用的工具软件w e b s p h e r e 和w e b l o g i c 。这些软件都是基于 已经成型的w 曲s e r v i c e s 技术,主要包括用来服务描述的w s d l ,用来发布和发 现服务的u d d i 以及服务间消息传输的s o a p 技术。 不可否认w e bs e r v i c e 是现在最适合实现s o a 的技术,s o a 的迅速扩张在很 大程度上归功于w e bs e r v i c e 标准的成熟和应用普及。这是因为现在大家基本上认 同w e bs e r v i c e 技术在以下几个方面体现了s o a 的需要: 首先,基于标准访问的独立功能实体满足了松耦合要求:在w e bs e r v i c e 中所 有的访问都通过s o a p 访问进行,用w s d l 定义的接口封装,通过u d d i 进行目 录查找,可以动态改变一个服务的提供方而无需影响客户端的配置,外界客户端 根本不需要关心访问服务器端的实现。 其次,适合大数据量低频率访问且符合服务大颗粒度功能:基于性能和效率 平衡的要求,s o a 中的服务提供的是大颗粒度的应用功能,而且跨系统边界的访 问频率也不会像程序间函数调用那么频繁。通过使用w s d l 和基于文本的s o a p 请求,可以实现一次性接收处理大量数据。 最后,基于标准的文本消息传递为异构系统提供通讯机制:w e bs e r v i c e 所有 的消息是通过s o a p 进行传输的,而s o a p 是基于x m l 这种结构化的文本消息。 文本消息是异构系统间通讯最好的消息格式,适用于s o a 强调的服务对异构后天 宿主系统的透明性。 综合上述观点,w e bs e r v i c e 不愧为当前s o a 的最好选择。然而,就s o a 思 8 第二章基于w e b 服务的s o a 相关技术 想本身而言,并不一定要局限于通过w e bs e r v i c e 实现。更应该看到的是s o a 本 身强调的是实现业务逻辑的敏捷性要求,是从业务应用角度对信息系统实现和应 用的抽象。随着人们认识的提高,还会有新技术不断的发明出来,更好的来满足 这个要求。 2 2 3 w e bs e r vic e 相关协议 尽管w e bs e r v i c e 是一种比较好的s o a 实现,但是s o a 和w e bs e r v i c e 之间 还是有着根本的区别。首先s o a 是一个体系架构,强调系统的逻辑层面的设计, 而w e bs e r v i c e 则是一种实现方法,属于技术层面的内容;其次基于s o a 思想的 实现未必只有w e bs e r v i c e ,还可以是如分布式对象技术以及面向消息的中间件技 术。同样基于w e bs e r v i c e 实现的应用也未必就符合s o a 思想。不过目前将s o a 与w e bs e r v i c e 的结合就成为了一种趋势。且有着非常广阔的应用前景,很多企业 都在用基于w e b 服务的s o a 进行系统实现。因此研究和探讨w e bs e r v i c e 与s o a 的结含问题具有非常重要的现实意义,w e bs e r v i c e 涉及到很多基本协议,下面我 们将依次来进行介绍。 2 2 3 1 x m l x m l 是可扩展标记语言( e x t e n s i b l em a r k u pl a n g u a g e ) 的缩写,是一种类似 于h t m l 的标记语言,但它却是用来描述数据的。x m l 的标记不是在x m l 中预 定义的,你必须定义自己的标记,它使用文档类型定义( d t d ) 或者模式( s c h e m a ) 来描述数据【1 0 】。 x m l 是实现w e bs e r v i c e 最根本和最重要的技术,从本质上来讲,x m l 具有 以下几个特点【l l 】【1 2 】: 1 ) 可扩展性:我们可以按照自己应用的需要定义相应的x m l 标签来表达信 息的结构和类型。 2 ) 自描述性:x m l 允许自定义标签,并且这些标签可以说明数据的语义, 而不是h t m l 中的格式说明。 3 ) 独立于平台和应用:x m l 的文档内容是基于u n i c o d e 的文本,适用于网络 的传输。 4 ) 易于设计:x m l 文档容易编写,设计正式且简单,可读性强。 5 ) 结构性良好:x m l 语法有严格的规定,“格式良好”这一标准通过对x m l 文档的各个逻辑成分和物理成分进行语法规定,保证了处理x m l 数据的 9 电子科技大学硕士学位论文 准确性和效率。x m l 严密的条理性、逻辑性和良好的结构性大大提高了 x m l 应用程序的效率。 6 ) 更精确的搜索:l 标签表达的是内容的含义,从而搜索引擎可以通过 搜索x m l 文档来得到更为精确的需要的内容。 刀广泛的支持:x m l 得到了众多软件厂商的支持,比如o r a c l e ,微软,i b m , s u n 等公司都支持x m l 的应用。 2 2 3 2s o a p s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ) 简单对象访问协议是w 曲s e r v i c e 的消 息传输方式,是一种在分布式环境下交换信息的轻量的、简单的、基于x m l 的通 信协议【1 3 】,它被设计成在w e b 上交换结构化的和固化的信息。 简单的说,s o a p 就是一种消息传输格式,它定义通过网络传送x m l 信息的 格式,从而为在松散的分布式环境中使用x m l ,对等地交换结构化和类型化的信 息,提供了一个简单且轻量级的机制。由于s o a p 消息的格式是完全基于x m l 标 准的,而x m l 技术又是平台无关的,因此s o a p 能够在不同的计算机体系结构、 不同的技术平台、不同的语言环境和不同的操作系统之间进行通信。s o a p 可以和 现存的许多因特网协议和格式结合使用,包括超文本传输协议( h t t p ) ,简单邮 件传输协议( s m t p ) ,多用途网际邮件扩充协议( m i m e ) 。它还支持从消息系统 到远程过程调用( r p c ) 等大量的应用程序【1 4 1 。 s o a p 消息的具体格式如图2 3 所示: 鲈。# ,一7 ,t t s o a p e n v e l o p ! j s q a p h e a d e r 囊 l| h e a d e r b l o c k 珏 毳 l h e a d e rb l o c k 蓬 孝 l,一、j j 谤:。? t | 一| ,:j ,? ? :,: ” l s o a p b o d y 哆 i | 耋 ? 磐 ; m e s s a g eb o d y : i :, ? , j ?# ,z j”, j ;f 一,j7 c ,芦,c “,: 图2 - 3s o a p 消息格式 1 0 第二章基于w e b 服务的s o a 相关技术 s o a p 规范主要由四个部分组成【1 5 】: s o a p 信封:它定义了一个框架,该框架描述了消息中的内容是什么,消息的 处理者以及它是可选的还是必须的。 s o a p 编码规则:它定义了一种序列化的机制,通过这种机制定义应用程序中 需要使用的数据类型,并用于交换由应用程序定义的数据类型所衍生的实例。 s o a pr p c 表示:它定义了用于表示远程过程调用和应答的协定。 s o a p 绑定:它定义了一个使用底层传输协议来完成在节点间交换s o a p 信封 的约定。 一条s o a p 消息就是一个包含有一个必需的s o a p 的封装包,一个可选的 s o a p 标头和一个必需的s o a p 体块的x m l 文档。 2 2 3 3w s d l 我们知道,服务是s o a 应用中的基本要素,而服务契约是对服务接口的描述, 。是实现接口与实现分离、动态查找与发现的基础。w e b 服务技术中采用w s d l 语 :言对服务进行描述。w s d l ( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e ) w 曲服务描述语 言为服务提供者提供以x m l 格式描述w e bs e r v i c e 请求的标准格式,将网络服务 描述为能够进行消息交换的服务访问点的集合,以表达一个w e b 服务能做什么, 它的位置在哪里,如何调用它等f 1 5 1 。服务交互所需的全部细节,包括消息格式, 传输协议和位置被定义为接口,该接口隐藏了服务实现的细节,允许用户通过独 立于服务实现、硬件和软件平台、服务实现语言的方式使用该服务【1 6 】【1 7 1 。 一个w s d l 服务描述分为逻辑契约和物理契约两个部分。逻辑契约定义了独 立于传输协议、传输数据格式及编程语言的抽象接口;物理契约定义了对传输协 议与传输数据格式的绑定。可以为同一逻辑契约定义多个不同的物理契约,w s d l 服务描述包含的元素如下表2 1 所示: 表2 - iw s d l 信息结构 p o r t t y p e o p e r a t i o n 逻辑契约 m e s s a g e t y p e s b i n d i n g p o r t 物理契约 s e r v i c e 电子科技人学硕l 学忙论文 w s d l 服务描述各元素的定义分别如下: s e r v i c e :相关服务访问点的集合,它描述了一个具体的被部署的w c bs e r v i c e 所提供的所有访问入口的部署细节。 p o r t :定义为b i n d i n g 和网络地址的关联的单个的端点。包括通过哪个w e b 地 址( u r l ) 来访问,应当使用怎样的消息调用模式来访问等等。 b i n d i n g :特定端口类型的具体协议和数据格式定义。 m e s s a g e :通信消息的抽象类型化定义。使用t y p e s 所定义的类型来定义整个 消息的数据结构。 o p e r a t i o n :对服务所支持的操作的抽象描述,包括请求和响应消息。 p o r t t y p e :一个或者多个端点支持的一组操作的抽象。这些操作可以有一个或 多个服务访问点来支持。 t y p e s :数据类型定义的容器,它包含了所有在消息定义中需要的x v i l 元素 的类型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化工能力测试题及答案
- 气焊工中级试题及答案
- 交通三控试题及答案
- 傅雷家书考试题及答案
- 2025年国家特种设备安全管理人员(A证)考试练习题库(含答案)
- 医养结合人才培训班理论考试题(含答案)
- 医疗机构消毒技术规范培训试题及答案
- 2025心肺复苏理论考试试题(含答案)
- 2025年安全知识竞赛题库及答案
- 2024年农村农业《果树生产技术》知识试题与答案
- 《2025游戏账号交易合同书》
- 2025年事业单位会计岗考试题库
- 2025年秋季开学教师大会上教学副校长讲话:回到课堂的原点走向教学的深处
- 2025事业单位招聘考试时事政治考试题库及答案(考点梳理)
- 2025年少先队知识竞赛试题库附答案
- GB/T 9775-2025纸面石膏板
- 防蚊培训课件
- 弥漫性大B细胞淋巴瘤病例讨论
- 2025年医院血透室人员培训工作计划
- 2025年公务员考试时政热点必做题(附答案)
- 护理烫伤不良事件分析及整改措施
评论
0/150
提交评论