




已阅读5页,还剩54页未读, 继续免费阅读
(系统工程专业论文)基于BPEL和SOA的Web服务组合技术研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京理工大学硕士论文基于b p e l 和s o a 的w e b 服务组合技术研究与应用 摘要 w e b 服务作为一种新兴的分布式计算模型,具有开放性、平台独立性、松耦合性 和可复用性等优点,已经在电子商务、企业应用集成等领域扮演着越来越重要的角色。 然而,有时单个服务只能表示有限的业务功能,不能满足企业之间复杂的业务协作需 求。服务组合技术旨在跨越技术和组织的边界无缝集成分布于广域网上的各种服务, 构建增值的业务应用。当今对服务组合的学术研究大多集中于自动组合方法和组合框 架设计,而商业环境中采用服务组合技术的应用系统并不多。 本论文旨在探讨w e b 服务组合技术在面向服务体系结构的系统中的应用,分析 采用w e b 服务组合技术在进行面向服务体系结构系统开发中所遇到的问题并提出解 决方案。首先,本文对面向服务的体系结构的起源、基本概念、组成元素、特征与优 势作了详细的介绍,然后介绍了w e b 服务的概念、体系结构和关键技术,并阐述了 w e b 服务和s o a 的关系。接下来本文简单地介绍了b p e l 相关知识,b p e l 是一种 基于业务流程编排的服务组合规范,在w e b 服务规范如w s d l 的基础上,提供了实 现服务组合的能力。最后,本文详细介绍了一个在线医疗理赔系统的设计与实现过程, 并对业务流程的运行进行了测试。 关键词:w e b 服务,s o a ,b p e l ,服务组合 南京理工大学硕士论文基于b p e l 和s o a 的w 曲服务组合技术研究与应用 a sak i n do fl l e wd e v e l o p i n gd i s t r i b u t e dc o m p u t i n gm o d e l ,w e bs e r v i c e sh a sm a n y m e r i t s ,s u c ha so p e n n e s s ,p l a t f o r mi n d e p e n d e n c e , r e u s a b i l i t ya n dl o o s ec o u p l i n g ,a n d a l r e a d yp l a y sam o r ea n dm o r ei n l p i 舳mr o l ei nf i e l d ss u c h 簦e l e c t r o n i cc o m m e r c e , e n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o n h o w e v e r , as i n g l es e r v i c ec o u l do n l ye 】印r e 鹳l i m i t e d s e r v i c ef l l n c d o n s oi tc o u l dn o ts a t i s f yt h ec o m p l e xb u s i n e s sc o o p e r a t i o nd e m a n db e t w e e n t h ee n t e r p r i s e s t h ea i mo fs e r v i c ec o m p o s i t i o nt e c h n o l o g yi st os u r m o n n tt e c h n i c a la n d o r g a n i z a t i o n sb o u n d a r ya n ds e a m l e s s l yi n t e g r a t ea l lk i n d so f s e r v i c e sw h i c hd i s t r i b u t e do n w a n s ,m a k et h es e r v i c e 邳蚯c a 乏i o nc o n s t r u c t e dr i s e si nv a l u e n o w , m o s ta c a d e m i c r e s e a r c ha b o u tt h es e r v i c ec o m p o s i t i o ne o n c e r l t r d t eo nt h ea u t o m a t i cc o m b i n a t i o nm e t h o d a n dt h ec o m p o s i t i o n 矗 a m ed e s i g n i n g ,b u tt h ea p p l i c a t i o ns y s t e m sw h i c hh a v eu s e ds e r v i c e c o m p o s i t i o nt e c h n o l o g yi nt h eb u s i n e s se n v i r o n m e n ta r en o ts o m a n y t h i st h e s i si sc o n c e n t r a t e do ne x p l o r i n gw e bs e r v i c e sc o m p o s i t i o nt e c h n o l o g y0 1 1 s e r v i c e s - o r i e n t e da r c h i t e c t u r es y s t e mf o rc o n c l e t ea p p l i c a t i o n s , a n a l y z i n gt h eq u e s t i o n w h i c hm e e t si ns e r v i c e s - o r i e n t e da r c h i t e c t u r es y s t e md e v e l o p m e n tw i t hw e bs e r v i c e c o m p o s i t i o nt e c h n o l o g ya n dp r o p o s i n gt h es o l u t i o n f i r s t l y , t h i st h e s i sm a k ead e t a i l e d 协廿甜u 两t ot h eo r i g i n t h eb a s i cc o n c e p t , t h ec o m p o s i t i o nd e m e n t sa n dt h e c h a r a c t e r i s t i cm a dt h es u p e r i o r i t yo fs 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 ,t h e n ,t h i st h e s i sm a k e s ac o m p l e t ei n t r o d u c t i o no fc o n c e p to fw e bs e r v i c et e c h n o l o g y , w e bs e r v i c e s 。ss y s t e m s t l l l c t u r e , a n dt h ek e yt e c h n o l o g i e s ,e l a b o r a t e st h er e l a t i o n sb e t w e e nw e b s e r v i c ea n ds o a a n dt h e nt h i st h e s i si n t r o d u c e ds o m ek n o w l e d g er e l a t e dw i t hb p e l , b p e li sak i n do f s e r v i c ec o m p o s i t i o ns t a n d a r db a s e do i ls e r v i c ef l o wa r r a n g e m e n t , o nt h ef o u n d a t i o no f w e b s e r v i c es t a n d a r ds u c hl i k ew s d l ,p r o v i d et h ea b i l i t yo fc o m p o s i n gs e r v i c e s f i n a l l y , t h i s a r t i c l ei n t r o d u c e di nd e t a i l e dt h ep r o c e s so ft h ed e s i g na n dr e a l i z a t i o no fa no r d i n ec l a i m s s e t t l e m e n ts y s t e mo ft h em e d i c a li n s u r a n c e , a n dh a sc a r r i e d0 1 1at e s tt ot h ee x e c u t i o no f b u s i n e s sp r o c e d u r e k e yw o r d s :w e bs e r v i c e s ,s o a ,b p e ls e r v i c ec o m p o s i t i o n i b 声明 本学位论文是我在导师的指导下取得的研究成果,尽我所知,在本 学位论文中,除了加以标注和致谢的部分外,不包含其他人已经发表或 公布过的研究成果,也不包含我为获得任何教育机构的学位或学历而使 用过的材料。与我一同工作的同事对本学位论文做出的贡献均已在论文 中作了明确的说明。 研究生签名:拯目 矽7 年7 , 97 日 f 学位论文使用授权声明 南京理工大学有权保存本学位论文的电子和纸质文档,可以借阅或 上网公布本学位论文的部分或全部内容,可以向有关部门或机构送交并 授权其保存、借阅或上网公布本学位论文的部分或全部内容。对于保密 论文,按保密的有关规定和程序处理。 研触躲逝 矿7 年7 月7 日 南京理工大学硕士论文基于b p e l 和s o a 的w e b 服务组合技术研究与应用 1 绪论 随着网络技术的发展,i n t e m e t 已成为现代社会重要的信息基础设施。越来越多 的数据资源与应用资源依托i n t e m e t 成为可被公共获取和访问的网络资源,如何有效 地集成开放网络环境下的各种资源成为学术界和工业界研究的热点问题。近年来,“服 务”成为开放网络环境下资源封装与共享的标准形式,特别是随着w e b 服务技术的出 现和推广,面向服务体系结构逐渐成为流行的企业r r 架构。服务组合作为面向服务 的体系结构中实现资源共享和应用集成的主要手段,是集成技术发展的新方向。本文 的工作正是围绕这一具有深刻技术背景和广泛应用前景的热点研究问题展开。 1 1 论文的研究背景及意义 全球化业务协作需求的增长,要求传统的、局限于单一组织的应用向跨越多个协 作组织的、集成化的网络协同应用转变,因此,基于i n t e m e t 开放网络环境实现资源 的共享与应用集成已成为商业应用领域的焦点问题。 一 商业资源的有效整合是改善企业运营效率、提高综合市场竞争力的关键,i n t c m e t 为有效整合商业资源带来了新的契机。一方面,许多新型应用( 如网上银行、电子书 店) 的出现标志着许多传统商业活动逐渐拓展到i n t c m e t 网络平台;另一方面,企业现 在倾向于关注于核心业务( 如商品制售) ,而使用其它业务伙伴提供的服务完成企业的 非核心业务( 如支付、物流) ,因此,实现商业资源的共享、根据业务需求建立动态的 商业伙伴关系成为跨组织的商业应用对集成技术提出的强烈需求。 目前,大多数企业的众多应用系统都是在不同时期采用不同技术和体系结构构建 的,如何去解决语言差异、平台差异、协议差异、数据差异所带来的高代价的系统集 成,则是一个非常困难的问题。 业界提出了使用s o a ( s e a 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 是指为了解决在i n t e r n e t 环境下业务 集成的需要,通过连接能完成特定任务的独立功能实体来构建应用程序的一种软件系 统架构。s o a 架构的基本元素是服务,这些服务是可互操作的、独立的、模块化的、 位置明确的、松耦合的并且可以通过网络查找其地址。目前,w e b 服务是实现s o a 的最佳选择。w e b 服务技术相关标准的日益成熟使得w 曲服务正逐步成为i n t e r n e t 网络环境中资源封装的标准形式圆。随着部署在i n t c m e t 上的w e b 服务不断丰富,这 些可被公共访问和集成的服务构成了一个潜在的巨大的标准组件库。因此,在w e b 服务互操作技术的基础上,提供高层的服务集成手段、实现w e b 服务组合成为w e b 服务技术发展的自然需求。 b p e l ( b u s i n e s sp r o c 鹤$ e x e c u t i o nl a n g u a g e ,业务流程执行语言) 是专为整合w e b 硕士论文 服务而制定的一项规范标准。b p e l 的作用是将一组现有的w e b 服务整合起来,从而 定义一个新的w e b 服务。使用b p e l 实现w e b 服务组合,是实现w e b 服务组合的重 要途径。目前,b p e l 已成为业界事实上的标准。 采用基于b p e l 的w e b 服务组合技术来集成业务服务,实现了资源的共享与应 用集成,其实际意义体现在两个方面:一方面,使企业间的复杂业务协作得以实现; 另一方面,充分利用w 曲服务组合技术,在企业现有的应用服务基础上,根据实际 业务流程模型,合理地组合出符合新业务需求的组合w e b 服务,能灵活地、快速地 响应不断改变的业务需求。 1 2 国内外研究现状 随着w 曲服务技术的兴起和推广之后,服务组合这一理论立刻引起了国内外众 多研究机构的高度关注,大量研究工作从不同角度切入这一主题。当前的服务组合研 究主要有三个方向:基于业务流程的组合方法、基于协作的组合方法与基于规划的组 合方法。下面我们主要从上述三个研究方向和目前主要的研究项目两方面简述目前服 务组合技术的研究现状。 ( 1 ) 基于业务流程的服务组合方法 基于业务流程的服务组合方法认为,组合服务是构建在一组静态或动态确定的应 用服务之上的业务流程 3 1 。因此,基于业务流程的组合方法使用与经典工作流建模方 法【4 】相类似的模型来描述组合服务。活动、控制流、数据流是组合服务建模的基本模 型元素:活动对应于由应用服务执行的某个操作;控制流描述活动之间的依赖关系, 也就是应用服务执行操作之间的时序关系;数据流描述活动之间的数据传递,也就是 应用服务之间的数据交换关系。基于流程的方法是一种朴素的组合服务模型思想,易 于理解。目前多数相关国际标准支持基于业务流程的服务组合,如b p e l t 贸、b p m l t s l 等。但是基于业务流程的服务组合方法多基于非形式化的流程模型,建模理论基础比 较薄弱,因此服务组合正确性的保证较弱。 基于业务流程的组合方法在运行环境的构造方面具有较大优势,这也是得益于工 作流管理系统 7 1 体系结构和关键技术的长期研究。某些服务组合研究项目所提供的运 行环境基本上就是其早期的工作流管理系统的改进。 因此,基于业务流程的服务组合方法的特点是:建模时多依赖于开发者对于问题 的理解,自动化程度不高;模型与运行系统的映射直观,实现相对简单,实用化程度 高。耳前许多著名的研究项目采用基于业务流程的组合方法。 ( 2 ) 基于组件协作的服务组合方法 基于组件协作的服务组合方法通过描述组件服务之间的消息编排( 消息交换序列) 来建模组合服务。这种方法可溯源至电子商务领域中对商业协议的描述方式,它认为 2 南京理工大学硕士论文 基于b p e l 和s o a 的w e b 服务组合技术研究与应用 通过描述组合服务中各个参与者之间遵循的消息交互规范就可以定义它们的协作行 为,在组合时每个参与者引用组合描述并声明自己的角色。这种组合方法着眼于消息 交换行为,对于描述多方参与的协作过程来说是一种较为直观的对组合服务建模的方 法。同时,该方法与c c s 【8 l 、p i 演算 9 】等描述并发进程间通信的形式化手段能够建立 直观的映射,从而支持组合模型行为性质的分析。 但是由于组合服务模型定义了组件服务的行为,修改组合服务模型意味着对于组 件服务行为设计的变更,因此它的灵活性相对较差,不太适合于描述动态的服务组合 场景。虽然基于组件协作的服务组合方法可以看作是分布构件组装的一种扩展,但是 由于目前基于分布构件的运行系统对构件交互协议的描述和执行并不提供直接的支 持,因此该方法的运行系统支持较弱,实用化程度不高。 ( 3 ) 基于规划的组合方法 基于规划的组合方法将经典的人工智能1 1 0 1 ( ) 规划思想引入服务组合技术。通常 意义上的规划问题可以描述为一组可能的世界状态、一组可执行的动作以及一组状态 变迁规则,规划的目标是寻找从初始状态到达目标状态的一组动作序列。对于基于 a i 规划的服务组合而言,初始状态与目标状态是根据组合服务的需求来定义的,动 作则是一组可用的应用服务,状态变迁规则定义了每个应用服务功能的前件与后件。 因此,服务组合的过程就是从可选的应用服务中寻找一组服务使得该组合服务的功能 能够满足组合服务的需求定义。可以看出,基于a 1 规划的方法侧重于实现组合服务 模型建立过程的自动化。目前这方面的工作主要是借助a i 领域的经典研究方法,如 情景演算、规划域定义语言( p l a n n i n gd o m a i nd e f i n i t i o nl a n g u a g e ) 、定理证明等,并 与语义w e b 技术相结合,研究语义w e b 服务【l ”、组合目标分解、组合推理以及组合 服务模型的自动构造方法。这一方法具有浓厚的形式化色彩,对服务组合的正确性的 关注贯穿组合的整个过程。比较而言,基于m 规划的方法对运行系统的关注比较少, 事实上要达到a i 规划方法的目标,即实现全自动的服务组合,本身是一个十分复杂 的过程,因此目前这一方法还处于理论、方法的研究探索阶段。 知名度较高的服务组合研究项且主要包括h p 实验室的e f l o w 、斯坦福大学的 s w 0 r d ,澳大利亚新南威尔士大学与昆斯兰科技大学联合研制的s e l b s e r v 、美国 乔治亚大学的m e t e o r s 以及m m 印度实验室的s y m p h o n y 。国内对于服务组合的 研究与国外基本同时起步,目前从事该领域研究的主要单位有北京航空航天大学、国 防科大、中科院软件所等单位,其中北京航空航天大学研制的w 曲s a s e 是完成较早 影响较大的一个支持服务组合的w e b 服务运行平台。 1 3 论文的研究目标与组织结构 本文的主要目标是在介绍s o a 、w e b 服务和b p e l 规范基础上,对基于b p e l 3 硕士论文 的w e b 服务组合技术的应用进行探讨,并设计实现了一个基于s o a 的在线医疗理赔 系统,通过w e b 服务组合技术将保险公司、医院和银行提供的业务服务组合成一个 复杂的、能实现自动化理赔处理的业务流程服务。 本文的章节结构如下: 第l 章,绪论。本章介绍了本文的研究背景、意义和国内外研究现状。 第2 章,s o a 与w e b 服务。本章首先对s o a 的概念进行了介绍,研究了面向服 务体系结构所具有的特点和这些特点所带来的优势。并且对s o a 的典型实现,w 曲 服务中所用到的协议和技术进行了较详细的介绍,最后,分析了s o a 合w e b 服务之 间的区别和联系。 第3 章,w 曲服务组合。本章对w e b 服务组合相关知识进行了详细的介绍,对 b p e l 规范标准进行了分析和理解,介绍了b p e l 的执行引擎,并阐述了b p e l 和 w e b 服务的关系。 第4 章,基于s o a 在线医疗理赌系统的设计。通过第二、三章对相关技术和理 论的讨论和分析,并结合实际的商业应用背景,明确提出了系统所要解决的问题,并 且对系统的需求分析、系统的体系结构和系统设计给出了详细的叙述。 第5 章,基于$ o a 在线医疗理赔系统的实现。在第四章对系统的分析和设计的 基础上,本章给出了系统的开发实现。首先介绍了系统实现所采用的开发平台,然后 给出了系统各个层次的详细实现,最后,对服务组合模块进行了测试。 最后是结束语对所研究的内容进行了归纳和总结,并提出了需要进一步深入研 究的展望。 4 南京理工大学硕士论文基于b p e l 和s o a 的w e b 服务组合技术研究与应用 2 s o a 与w e b 服务 2 1 面向服务的体系结构( s o a ) 2 1 1s o a 的起源 任何新兴的技术,检验其优劣的标准无疑是应用,而推动其进步和发展乃至普及 的动力则是市场需求。s o a 正是在企业信息系统遭遇应用集成“瓶颈”的背景下出现 的。 一方面,由于市场的变化日趋迅速,需要企业及时做出响应,因此现代企业的业 务流程不可能是一成不变的。而基于传统软件架构模式构建的软件信息系统是依据事 先的需求分析和系统架构设计来完成的,这种需求反映的往往只是企业过去某一时间 点的业务流程。等到系统设计开发完成,企业的需求已经发生了变化,这也就是为什 么结构越复杂的系统,实施成功率越低的原因,因为结构越复杂,实施周期就越长, 系统架构与业务流程的偏差就越大,失败的几率自然就增加。企业需要容易实施,并 可以方便地改变业务流程的系统。 另一方面,随着互联网技术的成熟,无论人与人之间,还是企业与企业之间的沟 通变得更加容易。但是这还不够,企业的管理者们希望通过有效的手段帮助企业的应 用系统加强交互,以改变传统的商务谈判和交易模式,实现真正意义上的电子商务。 这要求企业的应用系统间不但要突破部门间的界限,同时必须打通企业间的界限,提 高异构系统间以及企业间应用的互操作性。 基于上述应用需求,业界提出s o a 作为新的软件体系结构来帮助企业r r 组织满 足他们面临的越来越多的复杂性的挑战。 2 1 2s o a 的基本概念 s o a 并不是一个新概念,有人就将c o r b a t l 川和d c o m 1 5 1 等组件模型看成s o a 架构的前身。早在1 9 9 6 年,g a l t l l e r g r o u p 就已经提出了s o a 的预言,不过那个时候 仅仅是一个“预言”,当时的软件发展水平和信息化程度还不足以支撑这样的概念走进 实质性应用阶段。到了近一两年,s o a 的技术实现手段渐渐成熟了,在b e a 、m m 等软件巨头的极力推动下,才得以慢慢风行起来。 关于s o a ,目前尚未有一个统一的、业界广泛接受的定义。一般认为:s o a , 面向服务的架构,是一个组件模型,它将应用程序的不同功能单元一服务( s e r v i c e ) , 通过服务间定义良好的接口和契约( c o n t r a c t ) 联系起来。接口采用中立的方式定义, 独立于具体实现服务的硬件平台、操作系统和编程语言,使得构建在这样的系统中的 服务可以使用统一和标准的方式进行通信。 这种具有中立接口定义( 没有强制绑定到特定的实现上) 的特征称为服务之间的 5 s o a 与w e b 服务硕士论文 松耦合。相对于紧耦合系统而言,松耦合系统有两个明显的优点:1 ) 灵活性好:2 ) 能很好地适应系统应用程序发生的改变。当组成整个应用程序的每个服务的内部结构 和实现逐渐发生改变时,它能够继续存在。而紧耦合意味着应用程序的不同组件之间 的接口与其功能和结构是紧密相连的,因而当需要对部分或整个应用程序进行某种形 式的更改时,它们就显得非常脆弱。 2 1 3s o a 的组成元素 s o a 协议栈由2 部分内容组成:功能和服务质量。图2 1 详细描述了s o a 的组 成元素“6 】,具体说明如下: 图2 1s o a 的组成元鬃 图2 1 中f u n c t i o n s 部分包括以下元素: ( 1 ) t r 缸s p o r t :传输协议,用于将来自服务使用者的服务请求传送给服务提供 者,并且将来自服务提供者的响应传送给服务使用者。 ( 2 ) s e r v i c ec o m m u n i c a t i o np r o t o c o l :通信协议,一种经过协商的机制,通过这 种机制,服务提供者和服务使用者可以就将要请求的内容和将要返回的内容进行沟 通。 ( 3 ) s e r v i c ed e s c r i p f i o n :服务描述,一种经过协商的模式,用于描述服务是什 么、应该如何调用服务以及成功地调用服务需要什么数据。 ( 4 ) s e r v i c e :服务,描述供使用的操作。 ( 5 ) b u s i n e s sp r o c e s s :业务流程。一个服务的集合,可以按照特定的顺序并使 用一组特定的规则进行调用,以满足业务要求;业务流程本身也看作是服务,这样就 产生了业务流程可以由不同粒度的服务组成的观念。 ( 6 ) s e r v i c er e , s a t :服务注册中心。它是服务和数据描述的存储库,服务提 供者可以通过服务注册中心发布它们的服务,而服务使用者可以通过服务注册中心发 现或查找可用的服务,同时服务注册中心可以给需要集中式存储库的服务提供其他的 6 南京理工大学硕士论文基于b p e l 和s o a 的w e b 服务组合技术研究与应用 功能。 图2 1 中的q u a l i 哆o f s e r v i c e 包括了下列部分: ( 1 ) p o l i c y :策略,表示了一组可以使服务使用者得到服务提供者所提供服务的 规则。服务提供者可以使服务可用于使用者。策略既有功能性方面,也有与服务质量 有关的方面,因此,在功能和服务质量两个部分中都有策略功能。 ( 2 ) s e c u r i t y :安全,用于调用服务的服务使用者的身份验证、授权和访问控制。 ( 3 ) t r a n s a c t i o o :事务,应用于一组服务,以提供一致的结果。也就是说,如 果要使用一组服务来完成一项业务功能,则所有的服务必须都完成,或者没有一个完 成。 , ( 4 ) m a n a g e m e n t :管理,用于管理提供的服务或使用的服务。 2 1 as o a 的特征和优势 2 14 1 s o a 的特征 s o a 是一种粗粒度、松耦合的服务架构,其服务之间通过简单、精确定义的接 口进行通讯,不涉及底层编程接口和通讯模型。这种结构模型具有下面几个特征【1 6 】: 一 ( 1 ) 服务的封装( e n c a p s u l a t i o n ) 。将服务封装成用于业务流程的可重用组件的 应用程序函数。它实现信息或简化业务数据从一个有效的、一致的状态向另一个状态 的转变,同时又隐藏了复杂性。因为服务的a p i 保持不变,所以使得用户无需考虑所 调用服务在具体实施上的变更。 ( 2 ) 服务的重用( r e u s e ) 。服务的可重用性设计显著地降低了开发成本。为了实 现可重用性,服务只工作在特定处理过程的上下文( c o n t e x t ) 中,并且独立于底层实 现和客户需求的变更。 ( 3 ) 服务的互操作( i n t e r o p e r a b i l i t y ) 。互操作并不是一个新概念。在c o r b a 、 d c o m 、w e b 服务中就已经采用互操作技术了。在s o a 中,服务之间通过既定的通 信协议进行互操作,其中同步和异步是两种主要的通信机制。s o a 提供服务的互操 作特性更利于其在多个场合被重用。 ( 4 ) 服务是自治的( a u t o n o m o u s ) 功能实体。服务是由组件组成的组合模块, 是自包含和模块化的。s o a 非常强调架构中提供服务的功能实体的完全独立自主的 能力。传统的组件技术,如n e tr e m o t i n g 、e i b 、c o m 和c o r b a ,都需要有一个 宿主( h o s t 或者s e r v e r ) 来存放和管理这些功能实体,当这些宿主运行结束时这些组件 的寿命也随之结束。这样当宿主本身或者其它功能部分出现问题的时候,在该宿主上 运行的其它应用服务就会受到影响。s o a 也非常强调架构中提供服务的功能实体自 我管理和恢复能力。s o a 中常见的用来进行自我恢复的技术有事务处理( t r a n s a c t i o n ) 、 消息队列( m e s s a g eq u e u e ) 、冗余部署( r e d u n d a n td e p l o y m e n o 和集群系统( c l u s t e r ) 等。 7 s o a 与w e b 服务 硕士论文 ( 5 ) 服务之间的松藕合性( 1 0 0 s e c o u p l i n g ) 。服务请求者到服务提供者的绑定与 服务之间应该是松耦合的。这就意味着,服务请求者不知道提供者实现的技术细节, 如程序设计语言、部署平台等。服务请求者往往通过消息调用操作,而不是通过使用 a p i 和文件格式。这种松耦合性使会话一端的软件可以在不影响另一端的情况下发生 改变,前提是消息模式保持不变。在一个极端的情况下,服务提供者可以将以前基于 遗留代码( 例如,c o b o l ) 的实现完全用基于j a v a 语言的新代码取代,同时又不 对服务请求者造成任何影响。 ( 6 ) 服务是位置透明的( 1 0 c a t i o nt r a n s p a r e n c y ) 。服务是针对业务需求设计的, 需要反映需求的变化。要想真正实现业务与服务的分离,就必须使得服务的设计和部 署对用户来说是完全透明的。也就是说,用户完全不必知道响应自己需求的服务的位 置,甚至不必知道具体是哪些服务参与了响应。 2 1 4 2s o a 的优势 面向服务的体系结构可以基于现有的系统投资来发展,而不需要彻底重新创建系 统。如果企业将开发力量集中在创建服务、利用现有的技术、结合基于组件的方法来 开发软件上,将获得如下几方面好处【1 日: ( 1 ) 利用现有的资产。s o a 提供了一个抽象层,通过这个抽象层,企业可以继 续利用它在r r 方面的投资,方法是将这些现有的资产包装成为提供企业功能的服务。 企业可以继续从现有的资源中获取价值,而不必重新从头开始构建。 ( 2 ) 更易于集成和管理复杂性。在面向服务的体系结构中,集成点是规范而不 是实现。这提供了实现透明性,并将基础设施和实现发生的改变所带来的影响降到最 低限度。通过提供针对基于完全不同的系统构建的现有资源和资产的服务规范,集成 变得更加易于管理,因为复杂性是隔离的。当更多的企业一起协作提供价值链时,这 会变得更加重要。 ( 3 ) 更快的响应和上市速度。从现有的服务中组合新的服务的能力为需要灵活 地响应苛刻的商业要求的组织提供了独特的优势。通过利用现有的组件和服务,可以 减少完成软件开发生命周期包括收集需求、进行设计、开发和测试所需的时间。这使 得可以快速地开发新的业务服务,并允许组织迅速地对改变做出响应和减少上市准备 时间。 ( 4 ) 减少成本和增加重用。通过以松耦合的方式公开业务服务,企业可以根据 业务要求更轻松地使用和组合这些服务。这意味资源副本的减少、以及重用和降低成 本的可能性的增加。丽这一切都依赖于的优势高可复用性、灵活性,以及更好的扩展 性和可用性。 8 南京理工大学硕士论文基于b p e l 和s o a 的w e b 服务组合技术研究与应用 2 2 w e b 服务 2 2 1w e b 服务的概念 w e b 服务是描述了一些操作的接口,该接口隐藏了服务实现的细节,允许通过独 立于服务实现、独立于硬件和软件平台、独立于编写服务所用的编写语言的方式使用 该服务,这使得基于w e b 服务的应用程序具备松散耦合、面向组件和跨技术实现的 特点m l 。通过标准化的x m l 传递机制,用户可以通过网络访问这些操作。w e b 服务 是用标准的、规范的基于x m 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 曲 服务描述语言) 语言描述的,这称为w e b 服务的服务描述。这一描述包含了与服务 交互所需要的全部细节,包括消息格式、传输协议和位置w e b 服务可以单独或同其 他w e b 服务一起用于实现复杂的商业交易。从外部使用者的角度而言,w e b 服务是 一种部署在w e b 上的对象,组件,它具有以下特征【i8 】: ( 1 ) 完好的封装性:w e b 服务作为是一种部署在w e b 上的对象,自然也具备对 象的良好封装性。对于使用者而言,它能且仅能看到该对象提供的功能列表一 ( 2 ) 松散耦合:这一特征来源于对象,组件技术,当一个w e b 服务的实现发生变 更的时候,调用者不会感觉到这一点。对于调用者来说,只要w e b 服务的调用接口 不变,w e b 服务实现的任何变化对他们来说都是透明的。甚至当w e b 服务的实现平 台从j 2 e e 迁移到n e t 或者反迁移时,用户对此都一无所知。 ( 3 ) 使用协约的规范性:首先,w e b 服务对象界面所提供的功能应当使用标准 的描述语言。其次,由标准描述语言描述的服务界面应当是能够被发现的,因此,这 一描述文档需要被存储在私有或公共的注册库里面。最后,所有层次上的处理都应当 是可管理的,因此,需要对管理协约运用同样的机制。 ( 4 ) 使用标准协议规范:作为w e b 服务,其所有公共的协约完全需要使用开放 的标准协议进行描述、传输和交换。一般而言,绝大多数规范将最终由w 3 c 或者 o a s i s 作为最终版本的发布方和维护方。 ( 5 ) 高度可集成能力:由于w e b 服务采用简单的、易于理解的标准w e b 协议 作为组件对外接口描述和协同描述规范,完全屏蔽了不同软件平台的差异,因此,无 论是c o r b a 、d c o m 还是e j b ,都可以通过这一种标准的协议进行互操作,实现了 在当前环境下的最高的可集成性。 。 2 2 2w e b 服务的体系结构模型【1 研 w e b 服务体系结构基于三种角色( 服务提供者、服务注册中心和服务请求者) 之 间的交互,交互涉及发布、查找和绑定操作。这些角色和操作一起作用于w e b 服务 构件( 包括w e b 服务软件模块及其描述) 。服务提供者定义w e b 服务的服务描述并 把它发布到服务请求者或服务注册中心。服务请求者使用查找操作来从本地或服务注 9 s o a 与w e b 服务硕士论文 册中心检索服务描述,然后使用服务描述与服务提供者进行绑定并调用w e b 服务实 现或同它交互。服务提供者和服务请求者的角色是逻辑结构,因而服务可以表现两种 特性。图2 2 显示了这些操作、提供这些操作的组件及它们之间的交互。 图2 2w 曲服务体系结构模型 2 2 1 1w e b 服务体系结构中的角色 w e b 服务体系结构中的角色如下: ( 1 ) 服务提供者。从企业的角度看,这是服务的所有者。从体系结构的角度看, 这是托管访问服务的平台。 ( 2 ) 服务请求者。从企业的角度看,这是要求满足特定功能的企业。从体系结 构的角度看,这是寻找并调用服务,或启动与服务的交互的应用程序。服务请求者角 色可以由浏览器来担当,由人或无用户界面的程序( 例如,另外一个w e b 服务) 来 控制它。 ( 3 ) 服务注艇中心。这是可搜索的服务描述注册中心,服务提供者在此发布他 们的服务描述。在静态绑定开发或动态绑定执行期间,服务请求者查找服务并获得服 务的绑定信息( 在服务描述中) 。对于静态绑定的服务请求者,服务注册中心是体系 结构中的可选角色,因为服务提供者可以把描述直接发送给服务请求者。同样,服务 请求者可以从服务注册中心以外的其它来源得到服务描述,例如本地文件、f r p 站点、 w e b 站点。 2 2 1 2w e b 服务体系结构中的操作 对于利用w e b 服务的应用程序,必须发生以下三个行为:发布服务描述、查询 或查找服务描述以及根据服务描述绑定或调用服务。这些行为可以单次或反复出现。 w e b 服务体系结构中包含的这些具体操作如下f l s l : ( 1 ) 发布:为了使服务可访问,需要发布服务描述以使服务请求者可以查找它。 发布服务描述的位置可以根据应用程序的要求而变化。 l o 南京理工大学硕士论文基于b p e l 和s 0 a 的w e b 服务组合技术研究与应用 ( 2 ) 查找:在查找操作中,服务请求者直接检索服务描述或在服务注册中心中 查询所要求的服务类型。对于服务请求者,可能会在两个不同的生命周期阶段中牵涉 到查找操作:在设计时为了程序开发而检索服务的接口描述,而在运行时为了调用而 检索服务的绑定和位置描述。 ( 3 ) 绑定:最后需要调用服务。在绑定操作中,服务请求者使用服务描述中的 绑定细节来定位、联系和调用服务,从而在运行时调用或启动与服务的交互。 2 2 1 3w e b 服务体系结构中的构件 w e b 服务体系结构中包含如下w e b 服务构件: ( 1 ) 服务。在这里,w e b 服务是一个由服务描述来描述的接口,服务描述的实 现就是该服务。服务是一个软件模块,它部署在由服务提供者提供的可以通过网络访 问的平台上。服务存在就是要被服务请求者调用或者同服务请求者交互,当服务的实 现中利用到其它的w 曲服务时,它也可以作为请求者。 ( 2 ) 服务描述。服务描述包含服务的接1 2 和实现的细节。其中包括服务的数据 类型、操作、绑定信息和网络位置,还可能包括可以方便服务请求者发现和利用的分 类及其它元数据。服务描述可以被发布给服务请求者或服务注册中心。 2 2 3w e b 服务的关键技术 2 2 3 1x m l x m l l l 9 1 ( e x t e n s i b l em a r k u pl a n g u a g e ,可扩展标记语言) 是由w 3 c 组织于1 9 9 8 年 2 月制定的一种通用语言规范,是s g m l l 4 0 】( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ) 的一个简化子集。它以一种开放的自我描述方式定义数据结构,在描述数据内容的同 时能突出对结构的描述,从而体现出数据之间的关系。 x m l 是一种界定文本数据的标准方法,它允许用户创建用来描述数据信息的标 记,并可以通过d t d t 2 川( 文档类型定义) 或者x m ls c h e m a t 2 1 1 来进行有效性的验证。 x m l 和h t m l 不同,它不注重可视化的表现形式,而更注重数据本身。x m l 文档 具有高度结构化的特点,结构化层次中的描述标记表达了数据本身的信息,所以x m l 文档集合了文本文档和纯数据文档的优点,成为统一数据及其意义的载体。x m l 给 出了一个不与平台相关的规范,为不兼容的各种平台提供了一种有效的中间体,减少 了移植的麻烦。 2 2 3 2s o a p s o a p 2 匀( s i m p l eo b j e c t a c c e s sp r o t o c o l 简单- x c g t 访问协议) 是一个基于x m l 的 简单协议,它为在一个松散的、分布的环境中使用x m l 对等地交换结构化和类型化 的信息提供了一个简单且轻量级的机制4 ”。s o a p 本身并不定义任何应用语义( 如编 程模型或特定语义实现) ,它只是定义了一种简单的机制,通过一个模块化的包装模 s o a 与w e b 服务硕士论文 型和对模块中数据的重编码机制来表示应用语义。s o a p 的这项能力使得它可被很多 类型的系统用于从消怠系统到r p c 的延伸。s o a p 由以下四部分组成: s o a p 封装( e n v e l o p ) ,封装定义了一个整体的表示框架。用于描述消息中的 内容是什么,是谁发送的,谁应当接受并处理它以及如何处理。 s o a p 编码规则( e n c o d i n gr u l e 8 ) ,它定义了一个数据的编码机制,用于表示 应用程序需要使用的数据类型的实例。 s o a p r p c 表示( r p cr e p r e s e n t a t i o n ) ,定义了一个用于表示远程过程调用和应 答的约定。 s o a p 绑定( b i n d i n g ) ,它定义了一个使用底层传输协议来完成在节点问交换 s o a p 信息的约定。 虽然这四个部分都作为s o a p 的一部分,是作为一个整体定义的,但他们在功能 上是相交的、彼此独立的。特别的,封装和编码规则是被定义在不同的x m l 命名空 间( n a m e s p a c e ) 中,这样使得定义更加简单 s o a p 消息是由一个s o a pe n v e l o p e 、一个可选的s o a ph e a d e r 和一个s o a p b o d y 组成的x m l 文档。e n v e l o p e 是x m l 文档形式的s o a p 消息中的根元素;h e a d e r 则是在松散环境下在通信双方之间尚求预先达成一致的情况下为s o a p 消息增加特 性的通用机制;b o d y 定义了很少的一些属性来指明谁可以处理以及它是可选处理还 是强制处理。接下来分别介绍这几个部分。 ( 1 ) s o a p e n v d o p e s o a p e n v e l o p e 是x m l 文档的顶层元素,x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中英语竞赛试题及答案听力部分
- 某中学物理竞赛精英赛试题及答案
- 电制造产业园建设项目经济效益和社会效益分析报告
- 混凝土预应力施工技术方案
- 2025播音员考试真题及答案
- 水利水库枢纽工程项目协调与管理方案
- 贸易专员考试题目及答案
- 安全知识考试题(电梯安全风险评估)
- 交大期末政治考试题及答案
- 2025毕节国企考试真题及答案
- 九年级英语上学期第一次月考(广东卷)(原卷版)
- 2025年平安网格测试题库及答案
- 码头生产调度管理办法
- 重症胰腺炎课件教学
- 智能巡查机器人系统设计
- 3.2营造清朗空间教学设计 2025-2026学年统编版道德与法治八年级上册
- 教科版物理八年级上册《2.光的反射定律》听评课记录2
- (2025年标准)学生癫痫免责协议书
- 电商企业客服流失的问题及解决对策研究
- 血常规及凝血功能解读
- 2025年华为自动化控制试题
评论
0/150
提交评论