已阅读5页,还剩51页未读, 继续免费阅读
(计算机软件与理论专业论文)基于bpel4ws的业务流程测试研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于b p e l 4 w s 的业务流程测试研究 摘要 w e b 服务为互联网应用提供了种共享数据和功能的有效手段,较好地解 决了异构应用之间及松散耦合环境下的互操作、集成和协作的问题。但是由于 单个w e b 服务功能单一,需要把w e b 服务组合起来创建新的增值服务。目前,通 过b p e l 4 w s 规范编写的业务流程组合w e b 服务已成为组合w e b 服务的主流方法。 w e b 服务的广泛应用促使了w e b 服务测试研究的兴起。业务流程测试作为组 合w e b 服务测试的一部分,也越来越受到业界的关注。业务流程测试的研究及测 试工具的生成对促使w e b 务更为广泛的应用具有及其重要的意义。目前,国内 外针对业务流程测试的研究还不是很成熟,尤其对业务流程的自动化测试研究 尚处于初步阶段。 本文对w e b 服务组合、业务流程及b p e l 4 w s 进行了详细的研究。并在此基础 上,重点研究了业务流程测试。在研究中,将自动化测试理论引入业务流程测 试,设计了一个业务流程测试模型并依据该测试模型开发了业务流程测试工具 b p t t ( b u s i n e s sp r o c e s st e s tt 0 0 1 ) 。该业务流程测试工具不仅可以对业务流 程进行动态功能性测试,还可以辅助测试人员判定测试用例的好坏,便于测试 人员对测试用例进行改进。同时,该测试工具可实现业务流程的自动化测试, 使测试过程不需要任何人工干预。实例流程的测试证明了该测试工具可充分发 挥其自动化测试的优势,提高了测试效率并保证了测试质量。 关键词:w e b 服务业务流程b p e l 4 w s 业务流程测试自动化测试 r e s e a r c ho i lt h et e s to f b u s i n e s sp r o c e s sb a s e do i lb p e l 4 w s a b s t r a c t w e bs e r v i c ei sa r te f f e c t i v ew a yt os h a r ed a t aa n df u n c t i o n so nt h ei a t e m e t i tp r o v i d e s ag o o ds o l u t i o nf o rt h ei n t e r o p e r a b i l i t ya n di n t e g r a t i o no fh e t e r o g e n e o u sa p p l i c a t i o n si na l o o s e c o u p l e de n v i r o n m e n t a sas i n g l ew e b s e r v i c eh a sl i m i t e df u n c t i o n s ,i tc a l ln o tm e e t t h ep r a c t i c a la p p l i c a t i o nd e m a n d s w en e e dt oc o m p o s es i n g l ew e bs e r v i c et op r o d u c ea c o m p o s e dw e bs e r v i c ew i t hp r a c t i c a lv a l u e n o w , u s i n gb u s i n e s sp r o c e s sw r i a e nb y b p e i a w sh a sb e e nam a i nw a yt oc o m p o s es i n g l ew e bs e r v i c e s t h ew i d ea p p l i c a t i o no fw e bs e r v i c e sh a sr e s u l t e di nt h ee m e r g e n c eo fr e s e a r c ho n w e bs e r v i c et e s t ,a sa ni m p o r t a n tp a r to fw e bs e r v i c ec o m p o s i t i o nt e s t ,t e s to fb u s i n e s s p r o c e s sh a sa t t r a c t e dg r o w i n ga t t e n t i o n b e c a u s er e s e a r c ho nt h et e s to fb u s i n e s sp r o c e s s a n dt e s tt o o li m p l e m e n t a t i o nh a sa ni m p o r t a n tr o l e i np r o m o t i n gt h ew i d e ra p p l i c a t i o no f w e bs e r v i c e s h o w e v e r , r e s e a r c ho nt h et e s to fb u s i n e s sp r o c e s sh a sn o ta c h i e v e di t s m a t u r i t ya tp r e s e n t e s p e c i a l l y , r e s e a r c ho nt h ea u t o m a t i o nt e s to fb u s i n e s sp r o c e s si sa ti t s i n i t i a lp h r a s e t h i sd i s s e r t a t i o nh a sd o n es o m es p e c i f i cr e s e a r c ho nw e bs e r v i c ec o m p o s i t i o n , b u s i n e s sp r o c e s sa n db p e l 4 w s r e s e a r c ho nt h et e s to fb u s i n e s sp r o c e s si sb a s e do nt h e a b o v er e s e a r c h i m p o r t i n ga u t o m a t i o nt e s tt h e o r i e si n t ot h et e s to fb u s i n e s sp r o c e s s w e h a v ep r o p o s e dan e wb u s i n e s sp r o c e s st e s tm o d e l r e l y i n go nt h et e s tm o d e l ,ab u s i n e s s p r o c e s st e s tt o o l ( b p t t ) h a sb e e nd e v e l o p e d t h et o o lc a nn o to n l yc o n d u c td y n a m i c f u n c t i o nt e s to fb u s i n e s sp r o c e s s ,b u ta l s oc a nh e l pd e v e l o p e r st oj u d g et e s tc a s e s j u d g i n g t e s tc a s e si sc o n d u c i v et o i m p r o v i n gt e s tc a s e s i na d d i t i o n ,t h et o o l c a l lr e a l i z et h e a u t o m a t i o nt e s to fb u s i n e s sp r o c e s s t h et e s to fb u s i n e s sp r o c e s sc a nb ef u l f i l l e dw i t h o u t a n yh u m a ni n t e r v e n t i o n t h et e s to fas a m p l eb u s i n e s sp r o c e s sb yb p t th a sp r o v e dt h a tt h e t e s tt o o lh a sg i v e nf u l lp l a yt oi t sa d v a n t a g e sa sa na u t o m a t i o nt e s tt 0 0 1 i th a si m p r o v e dt h e t e s te f f i c i e n c ya n dt h et e s tq u a l i t y k e y w o r d s :w e bs e r v i c e b u s i n e s sp r o c e s sb p e l 4 w s b u s i n e s sp r o c e s st e s t a u t o m a t i o nt e s t 插图清单 图2 1w e b 服务架构5 图2 2w s d l 文档结构8 图2 3s o a 架构1 0 图2 4w e b 服务技术体系结构1 l 图2 5b p e l 文档结构图1 5 图2 6b p w s 4 5 编辑器1 8 图3 1 业务流程测试模型框架图2 8 图4 一l 项目管理视图及测试用例视图3 4 图4 2 流程路径视图3 5 图4 3 控制台视图及运行控制视图3 5 图4 4 测试结果视图3 6 图4 5 测试用例4 2 图4 6 流程路径4 2 图4 7 流程运行动态( 一) 4 3 图4 8 流程运行动态( 二) 4 3 图4 9 运行控制图4 4 图4 一1 0 测试结果( 一) 4 5 图4 1 1 测试结果( 二) 4 5 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所 知,除了文中特别加以标志和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得盒腿王些盔堂 或其他教育机构的学位或证书而使用过的材料。与我一同工作 的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签字 牵涉 签字日期:o 年亏月彳日 学位论文版权使用授权书 本学位论文作者完全了解金b 工业盍堂有关保留、使用学位论文的规定,有权保留并向 国家有关部门或机构送变论文的复印件和磁盘,允许论文被查阅或借阅。本人授权金b 王些太 堂一可以将学位论文的全部或部分论文内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:聋势 签字日期;彩年岁月“日 学位论文作者毕业后去向: 工作单位: 通讯地址: 导师签名 签字日期: 电话 邮编 致谢 论文是在导师李心科教授的悉心指导和亲切关怀下完成的,论文的每一阶 段都倾注了李老师的大量心血。在此,谨表示诚挚的敬意和衷心的感谢! 李老师充沛的精力、敏捷的思维、卓越的学识、严谨求实的治学态度以及 诲人不倦的工作作风,给我留下了深刻的印象及启迪。导师的循循善诱、谆谆 教导使我领略了在知识的海洋中邀游的乐趣,使我的知识和技能水平都得到了 很大提高,并将激励我、使我终生受益! 感谢计算机学院的胡学钢老师、王浩老师、袁兆山老师、王新生老师,正 是他们在这三年的时间里对我的谆谆教诲和无私帮助,才使我得以顺利完成学 业:感谢研究生部、学科学位建设处的各位老师在办理答辩手续时所给予的帮 助。 感谢研究生0 3 1 7 班的同学,3 年来我们共同创造了轻松、活泼的学习环境, 生活上我们互相关照。衷心希望毕业后我们依然如前,友情永存! 我还要深深感谢我的父母、哥哥,正是他们的关心、理解和大力支持才促 使我完成学业,希望我能够永远带给他们开心和欣慰,祝福他们永远健康。 最后,衷心感谢评阅、评审、出席论文答辩会的各位专家在百忙中给予悉 心的指导! 章静 二零零六年五月 第一章绪论 本章概括介绍了课题的研究背景、国内外研究现状及主要研究内容,最后 介绍了本文的组织结构。 1 1 研究背景 1 1 1w e b 服务 随着互联网技术的飞速发展,越来越多的企业依赖于互联网来发布信息与 提供服务实现大规模的信息和资源共享。但由于互联网环境是一个异构、动态、 松耦合的分布式环境,因此如何简便、有效地实现互联网上的资源共享、业务 协作已成为互联网应用发展中面临的主要问题。 2 0 0 0 年以来,x m l 技术和j a v a 技术的出现较好地解决了跨平台和信息互操 作的问题。但是由于传统的分布式对象和中间件技术维护着相互独立的体系结 构和协议,无法满足动态发布服务的需求。同时,紧藕合的客户端和服务器无 法很好地实现业务在动态、松耦合环境下的协作。因此,为了满足松耦合环境 下动态业务合成协作的需求,人们提出w e b 服务来解决目前互联网应用中所面临 的难题。 w 3 c 的w e b 服务定义:“w e b 服务是一种通过u r i 标识的软件应用,其接口及 绑定形式可以通过x m l 标准定义、描述、检索,并能通过x m l 消息及互联网协议 完成与其他应用的直接交互。” 由上述定义可知,w e b 服务并不是一种全新的技术体系。它只是建立在原 有技术之上的传统组件技术在互联网应用环境下的一种拓展。其目的和作用是 提供一种统一的规范和技术,为i n t e r n e t 软件应用提供一个统一的功能描述和 功能共享机制。w e b 服务提供了一种在不同平台系统间进行应用层功能自动整 合集成和自动化处理所需要的技术架构,为功能整合集成和信息交换处理提供 了实现的基础。 为满足w e b 服务的技术需求,w 3 c 等国际标准组织制定了一系列的w e b 服务 技术标准,如x m l 规范( e x t e n d e dm a r k u pl a n g u a g e ) 。3 、w e b 服务描述语言( w e b s 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 s d l ) 。、通用描述、发现和集成 ( u n i v e r s a l d e s c r i p t i o e ,d is c o v e r ya n di n t e g r a t i o n ,简称u d d i ) h 3 ,简单 对象访问协议( s i m p l eo b j e c ta c c e s sp r o t o c o l ,简称s o a p ) 。3 等。这些技术标 准规范共同构成了w e b 服务技术的完整体系。 1 1 2w e b s 虽务组合的必要性 尽管w e b 服务技术能较好地解决了不同的平台应用间的整合问题,为跨企 业边界的业务流程的自动化提供了对应的技术基础。但单个的w e b 服务所提供的 功能相对单一,无法构成完整的业务应用。一方面考虑到组件的重用性和可维 护性等原则,应该把复杂的业务逻辑封装到单个的w e b 服务中:另一方面从服务 提供者的角度来看,各种服务的提供者分工越来越明确,单个服务提供者无法 提供具有完备功能的w e b b 艮务。因此为了实现满足用户提出的各种需求的完备功 能,必须将分散的单个w e b 服务组合起来,形成具有增值价值的组合w e b 服务“1 。 但由于w e b 服务技术本身是无状态的,无法支持服务问复杂的交互。需要 一个自动执行的处理流程负责将若干个单个w e b n 务组合成一个满足用户综合 需求的w e b 服务。 w e b 服务处在一个开放的、松耦合的环境中,通常组合会采用动态组合机 制进行服务的动态发现、绑定与调用。基于w e b 服务的这些特点,传统的工作流 技术并不适合构建w e b 服务组合。 因此,各大标准化组织联合推出了b p e l 4 w s 规范( b u s i n e s sp r o c e s s e x e c u t i o nl a n g u a g ef o rw e bs e r v i c e $ ,b p e l 4 w s ,简称b p e l ) ”3 构建w e b 服务 组合。该规范为w e b 服务组合提供了一个统一规范,便于单个w e b 服务间的组合 交互。目前,b p e l 4 w s 规范己在w e b 服务组合中获得了广泛应用。 1 1 3 业务流程测试 w e b n 务的广泛应用促使了w e b 服务测试研究的兴起。由上面的阐述可知, 单个w e b 服务已经无法满足复杂的网络应用,取而代之的是组合w e b 服务。随着应 用焦点的转移,w e b 服务测试的焦点也由原来的单个w e b 服务测试转为组合w e b 服务测试。 由于目前大多数w e b 服务组合是基于业务流程构建的。业务流程测试作为 组合w e b 服务测试的一部分,也越来越受到业界的关注。 1 2 国内外研究情况 业务流程测试作为w e b 服务组合测试的重要组成部分,国内外学术界及产 业界对业务流程测试作了不少研究。 1 2 1 流程测试研究 目前对业务流程的测试研究主要可分为两类:静态测试及动态测试。 ( 1 ) 静态测试 静态测试研究主要集中在业务流程的性能测试。性能测试主要包括检测流 程的死锁情况、记录流程的运行时间、评估流程的执行效率等方面。 这类测试主要通过p e t r in e t 和进程代数等形式化方法来检测流程并发执 行时是否存在死锁。在文献 8 中,b p e l 转化为p e t r in e t 的语义规则已被提出, 根据该语义规则,很容易用p e t r in e t 网对业务流程迸彳亍建模。通过对p e t r i 网 模型的形式化推理,判断流程中是否存在死锁情况。通过时间戳记录流程的运 行时间,评判流程的执行效率。 ( 2 ) 动态测试 这类测试主要是在流程动态执行的过程中对流程进行测试。通常,这种动 态测试主要关注流程的功能性测试。 w e b s e r v i c et e s t e r 。3 是由美国o p t i m y z 软件公司开发的一套测试w e b 服务 的综合工具。该测试工具涵盖了w e b 服务的功能测试,w e b 服务的负载测试,w e b 服务的安全性测试等等。考虑到目前w e b 服务间的交互性越来越强,目前工具的 最新版本引入了对业务流程的测试。w e bs e r v i c et e s t e r 通过读入b p e l 业务流 稷执行文件及w e b n 务描述文件,解析出流程的运行图。测试人员通过测试工具 的g u i 接口观察到流程的运行动态可及时定位流程运行时发生的错误。 12 2 存在的问题 尽管业务流程测试对促使w e b 服务更为广泛的应用非常必要,但目前国内 外对业务流程测试的研究不太成熟而且实现的测试工具较少。国内对业务流程 的测试还处于初步阶段。国外对业务流程测试所作的大多数研究主要集中在流 程的静态性能测试方面:主要利用p e t r i 网等形式化工具模拟业务流程的运行。 同时,大多数成型的测试工具还都以人工测试为主。随着w e b 服务的规模 越来越大,组合w e b 服务的业务流程也越来越复杂,人工测试业务流程不仅降低 了测试效率,而且很难保证测试的质量。 本文提出的业务流程测试模型将自动化测试理论应用于业务流程测试,提 出的测试模型可提高流程测试效率和流程测试质量。 1 3 研究内容和主要工作 本文针对w e b 服务组合及业务流程的特点。在b p e l 4 w s 规范的基础上对业务 流程测试进行了研究。依据业务流程测试自身的特点,提出了一个业务流程测 试模型。并依据该流程测试模型,在e c l i p s e 平台上实现了一个业务流程测试工 具b p t t 。研究内容包括以下方面: 1 ) 对w e b n 务的关键技术及业务流程进行了分析和研究。 2 ) 深入分析了主流组合规范b p e l 4 w s ,为业务流程测试提供了相关的技术 背景。 3 ) 对业务流程测试及自动化测试理论进行了深入研究,为业务流程测试 模型的设计提供了理论基础。 4 ) 根据上述研究,明确了业务流程测试模型的功能需求。依据功能需求 设计了一个业务流程测试模型。 5 ) 依据测试模型,在e c l i p s e 平台上开发了业务流程测试工具b p t t 。 6 ) 通过实例流程测试对测试工具的实际运作能力进行了评估。 1 4 本文的组织 w e b n 务组合实际上可以看作w e b 服务层次上的业务流程应用程序。业务流 程测试作为w e b 组合服务测试的重要组成部分,对其进行研究将促使w e b ) 眼务更 加广泛的应用。 本文中首先介绍了w e b 服务技术体系,分析了w e b 服务组合的必要性。接下 来介绍了业务流程、b p e l 4 w s 规范和测试理论。在此基础上,给出了业务流程测 试模型及其设计思路。最后,介绍了根据测试模型开发的业务流程测试工具 b p t t ,并通过实例对工具的功能实现情况进行了验证和分析。 总的说来,论文组织结构如下: 第一章绪论 介绍了课题的研究背景,对国内外的相关工作进行了分析和总结,阐明了 本文的研究目标和主要工作内容。 第二章w e b 服务及业务流程 介绍了w e b 服务及业务流程的基本理论和相关技术,为业务流程测试模型 的设计及工具的实现提供了理论基础和技术背景。 第三章业务流程测试模型 在测试理论和技术的基础上,结合业务流程测试及自动化测试的特点设计 了一个业务流程测试模型。本章着重从模型的主要模块、设计思路及模型框架 等方面进行了全面阐述。 第四章业务流程测试工具实现 在上一章提出的测试模型的基础上,本章介绍了在e c l i p s e 平台上实现的 业务流程测试工具b p t t ,并通过实例流程测试对测试工具的实际运作能力进行 了评估。 第五章总结与展望 总结了论文的主要工作,并在此基础上分析了开发的业务流程测试工具的 缺点和不足,对下一步的测试研究工作提出了展望。 4 第二章w e b 服务及业务流程 2 0 0 2 年4 月,w 3 c 对w e b 服务给出了一个相对清晰的定义:“w e b 服务是一种 通过u r i 标识的软件应用,其接口及绑定形式可以通过x m l 标准定义、描述和检 索,w e bj 报务能够通过x m l 消息及互联网协议完成与其他软件应用的直接交互 【l 】, o w e b 服务是一种实现互联网上共享数据和功能的主要技术。它为应用间的 交互提供了一致的访问接口。访问接口隐藏了服务实现的细节,允许通过独立 于服务实现、硬件或软件平台的方式使用服务。其中资源和功能共享是w e b 服务 所解决的核心问题。w e b 服务通过使用标准的互联网协议提供了良好的互操作能 力。 w e b 服务体系结构是面向对象分析与设计的一种合理发展,同时也是电子 商务解决方案中面向体系结构设计、实现和布署采用的组件化的合理发展。与 面向对象系统一样,封装、消息传递、动态绑定、服务描述和查询也是w e b 服务 中的基本概念。而w e b 服务另一个基本概念是:所有东西都是服务,这些服务发 布一个a p i 供网络中的其他服务使用。 w e b 艮务提供了在互联网的松耦合环境下完成应用之间互操作和集成的技 术框架,并因此产生了与传统分布式技术所不同的w e b 服务架构( 如图2 - 1 所示) 。 该应用模式主要包括三个主体:服务请求者、服务提供者和服务注册中心,它们 对应的三个主要操作为服务查找、服务绑定和服务发布。 图2 一l w e b 服务架构 目前围绕w e b 晨务发布、查找、绑定过程,各大标准化组织和著名厂商已 制定了相关的标准规范,其中主要包括以下四个规范:x m l 规范船1 :w e b 艮务描述 语言( w e bs e r v i c ed e s c r i p t i o nl a n g u a g e ,简称w s d l ) 。1 :通用描述、发现和 集成协议( u n i v e r s a ld e s c r i p t i o n ,d is c o v e r ya n di n t e g r a t i o n ,简称u d d i ) 简单对象访问协议( s i m p l eo b j e c ta c c e s sp r o t o c o l ,简称s o a p ) ”3 。 x m l ( e x t e n s i v em a r k u pl a n g u a g e ,可扩展标记语言) 是一种基于 s g m l ( 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 为互联网上交换数据提供了个统 一的标准。 x m l 与h t m l 不同:x m l 是种元语言,可用来定义其它标记语言;而h t m l 贝j j 是一种标记语言。 x m l 主要由以下相关技术规范组成: 1 ) x s l ( e x t e n s i b l es t y l el a n g u a g e ) 。x s l 与x m l 数据协同工作的方式类 似于c s s 与h t m l 协作的方式。x s l 是实现x m l 的样式语言。 2 ) x m l 链接。w 3 c 在三个工作草案文件中规范了x m l 链接和寻址机制: x p a t h ,x l i n k 及x p o i n t e r 。x p a t b ( x m lp a t h 语言) 的主要目的是进行部 分x m l 文档的实际寻址;x l i n k ( x m ll i n k i n g 语言) 利用x m l 句法创建结 构来描述目前的h t m l 的单向超链接以及多端和多类型链接;x p o i n t e r ( x m lp o i n t e r 语言) 建立在x p a t h 基础上,以支持到x m l 文档的内部结构 中寻址。 3 ) x m ln a m e s p a c e ( x m l 命名空间) 。它可以给文档构件指派唯一名字,往 软件能够正确运行并避免冲突。 4 ) x m l 模式。x m l 规范提供的模式类型是d t d ( d e f i n i t i o nt y p ed o c u m e n t ) 。 w s d l 文件、b p e l 文件中定义的数据类型必须符合d t d 模式。 5 ) d o m ( d o c u m e n to b j e c tm o d e l 文档对象模型) 。它提供了与平台和语言 无关的应用程序界面来处理h t m l 和x m l 数据。 2 0 0 1 年5 月2 日,x m ls c h e m a “”1 觌范成为w 3 c 的正式推荐标准。在书写x m l 文件时,必须遵守x m ls c h e m a 规范。 x m ls c h e m a 是一种描述信息结构的模型,用来定义x m l 文件的文本结构、数 据类型等x m l 文件描述规则。x m ls c h e m a 还支持命名空间以保证其标记的唯一 性。它利用命名空间将文档中特殊的结点与s c h e m a 说明相联系。 s c h e m a 中包含的关键元素有:s c h e m a 、e 1 e m e n t t y p e 、e l e m e n t 、 a t t r i b u t e t y p e 、a t t r i b u t e 、g r o u p 、d a t a t y p e 、d e s c r i p t i o n 等。 s c h e m a 元素是x m ls c h e m a 中出现的第一个元素,用于声明该x m l 文档是一 个s c h e m a 文档。s c h e m a 具有两个属性:n a m e 和x m l n s 。n a m e 指定了该s c h e m a 的名 称,而x m l n s 指定了该s c h e m a 包含的命名空间。 e l e m e n t t y p e 是x m ls c h e m a 中重要元素之一,用于定义该x m ls c h e m a 文档 中出现的元素类型。根据c o n t e n t 内容可判定e l e m e n t t y p e 是否包含文本和子元 6 素;通过d a t a t y p e 指定该e l e m e n tt y p e 的数据类型。通常e l e m e n t 与e l e m e n t t y p e 合在一起使用。 d a t a t y p e 是x m ls c h e m a 中另一个重要元素,为e l e m e n t t y p e 及a t t r i b u t e t y p e 指定了数据类型。x m ls c h e m a 支持两种类型:基本数据类型和扩展的数据 类型。基本数据类型包括整型、日期、u r l 、字符串型等。扩展的数据类型可由 用户根据一定的规则自行定义。 a t t r i b u t e t y p e 元素用于定义在s c h e m a 文档中出现的属性类型。a t t r i b u t e 是对a t t r i b u t e t y p e 声明的属性引用,需要同a t t r i b u t e t y p e 配合使用。 g r o u p 用于将x m l 文档中的元素分组。通过属性o r d e r 可指定该分组中的元 素及子元素的顺序。 2 12w s d l 规范 w s d l 是一种基于i d l 的服务描述语言。它定义了一套基于x m l 语法,将w e b 服务描述为能够进行消息交换的服务访问点的集合。客户端可以通过这些服务 访问点对包含面向文档信息或面向过程调用的服务进行访问。 类比于通常的软件开发过程中的s d k 描述文档,w s d l 服务描述文件为分布 式系统提供了可为机器识别的s d k 文档,可以使用它来描述自动执行应用程序通 信中所涉及的细节。 在w s d l 中,由于端点和消息的抽象定义已从具体的服务部署或数据格式绑 定中分离出来,方便了抽象定义的重用。消息是数据交换的抽象描述;而端口 类型,指操作的抽象集合。用于特定端口类型的具体协议和数据格式规范构成 了可以再次使用的绑定。将服务地址与可再次使用的绑定相关联,可以定义一 个端口,而端口的集合则定义为服务。 因此,从概念上看,一个w s d l 文档就是一个定义集,含有接口定义及接口 实现两大部分( 如图2 2 所示) 。 接口定义部分包括如下元素: t y p e s :数据类型定义的容器,它使用某种类型系统( 如x s d ) ; m e s s a g e :通信数据的抽象类型化定义; o p e r a t i o n :对服务所支持的操作的抽象描述。 接口实现部分包括如下元素: b i n d i n g :特定端口类型的具体协议和数据格式规范: p o r t :将绑定和网络地址组合在一起表示单个端点: s e r v i c e :相关端点的集合。 2 1 3u d d l 规范 图2 2w s d l 文档结构 s o a p 和w s d l 规范可解决应用之间的消息通信和功能接口描述的问题。但 w e b 服务作为集成异构应用的手段,还必须提供一种有效的机制用于互联网环境 中信息的发布和检索,使得应用之间能够相互发现,彼此了解各自的需求和能 力,进而实现应用的集成和互操作。 因此,h i c r o s o f t 、1 8 m 、a r i b a 几大公司于2 0 0 0 年6 月推出了u d d i 规范,作 为互联网环境下的服务描述、发现和集成机制,为电子商务应用和服务发现提 供了标准的信息格式和调用方式。u d d i 是一套信息与服务注册的标准,同时也 提供了一组标准接口。企业应用可以通过这组接口来注册它们所提供的服务, 同时也可以通过它们来实现对所注册的服务的访问。该规范中定义了一套基于 x m l 的信息模型,以描述企业及其所提供服务信息。 但是,u d d i 规范的目标仅仅是为了在技术上实现服务的发现。并没有直接 涉及到具体的商业发现流程和定义发现服务所需的特性。借助u d d i 所定义的功 能,应用或开发者能够定位到合作伙伴所提供的服务信息。 u d d i 的核心是一个物理分布、逻辑集中的注册中心。从概念上是一个云状 结构,由很多提供u d d i 登记服务的操作入口点所组成的一个集群。从注册中心 的外部来看,它对于用户是一个整体的服务,由不同的u d d i 操作入口点充当注 册中心的访问入口。 u d d i 提供了两种有效的机制保证注册中心查询操作和数据的一致性“”。 第一种机制是查询分发和重定向。当一个操作入口点除了完成本地查询 外,还将查询请求分发和重定向到其他所有的操作入口点,并将所获得的查询 结果与本地结果整合后一起返回给查询者;第二种机制是数据复制与同步。当 一个操作入口点在执行更改数据操作时,还需要将该操作分发和重定向到其他 操作入口点以同步地执行数据更新。因此,在一个u d d i 操作入点上进行查询操 作就等同于对整个u d d i 注册中心进行查询。 2 1 4s o a p 规范 互联网环境的异构性导致跨平台的应用程序在数据共享方面的能力非常 有限,因此人们一直以来都在努力建立有关数据格式和数据交换方面的标准, 希望能在互联网环境下无缝地集成跨平台的服务,实现不同系统问的自由通信 和数据共享,而s o a p 规范正是实现这个目标的核心协议之一。 s o a p 是通过x m l 来支持r p c 和信息交换的简单协议。它通过模块化的包模型 以及消息编码的方式定义了交换消息的简单机制,用于互联网及局域网中的通 信。 该规范提供了一种开放和统一的方式支持应用间的集成和互操作,它由如 下的四部分组成n ”: s o a p 封装( s o a pe n v e l o p e ) :定义了一个整体的表示框架,用于表示消息 中的内容、发送者、接收者、处理者、处理操作的类型。处理操作的类型有可 选的、强制的等。 s o a p 编码规则( s o a pe n c o d i n gr u l e s ) :定义了一个数据编码机制,可用 于定义应用程序的交换数据类型的实例。 s o a p 绑定( s o a pb i n d i n g ) :定义了一个使用底层传输协议来完成在节点间 交换s o a p 封装的约定。s o a pb i n d i n g 有两种风格:r p c 及m s g 。通常,w e b 服务客 户端向w e b 服务端传递数据时,根据相应的w s d l 文件描述的b i n d i n g 风格采用m s g 或r p c 格式对数据进行封装。 s o a pr p c 表示( s o a pr p cr e p r e s e n t a t i o n ) :定义了一个用于表示远程过 程调用和对应的约定。 s o a p 的主要特点是简明性和可扩展性。简明性主要表现在整个s o a p 规范定 义的消息结构非常简单,仅由一个s o a p 信封包含了两个基本元素:s o a p 头和s o a p 体。s o a p 没有定义额外的表述结构,也没有定义自己的编码格式和传输协议。 扩展性则主要表现在s o a p 可以使用任意的模式来定义内部传输内容的结 构,可以与任意的网络传输协议联合使用完成传输。 9 s o a ( s e r v i c eo r i e n t e da r c h i t e c t u r e ) 一种面向服务的软件系统架构, 它通过连接完成特定任务的独立功能实现具体的业务,以解决在i n t e r n e t 环境 中业务集成的问题。 w e bs e r v i c ed i s t r i b u t e dm a n a g e m e n t w e bs e r v i c ec h o r e o g r a p h y w e bs e r v i c eo r c h e s t r a t i o n w e bs e r v i c ec o o r d i n a f i o n w e bs e r v i c et r a n s a c t i o n s w e bs e r v i c es e c u r i t y w e bs e r v i c ep o l i c y w e bs e r v i c er e l i a b l em e s s a g i n g j 2 e n e t v v s fb a s i cp r o f i l e s o a p ,w s d l ,u d d i 图2 3s o a 架构 s o a 是面向对象分析与设计( o b j e c t o r i e n t e da n a l y s isa n dd e s i g n ,o o a d ) 和体系结构设计、实现与部署的组件化的一种合理发展“。它的本质是一种设 计软件系统的方法,用这样的方法设计系统不但能够通过发布和发现接口为后 端系统提供服务,还能为其它的服务提供服务。大多数情况下,服务提供了一 个更好地展现业务功能的方式,因此能够更有效地开发支持业务过程应用系统。 面向服务体系结构与过去不同的特点就在于它们是基于标准以及松散耦合 的。广泛接受的标准( 如x m l 和s o a p ) 提供了在各不同厂商解决方案之间的交互 性。而松散耦合将分布计算中的参与者隔离开来,交互两边某一方的改动并不 会影响到另一方。 s o a 与w e b 服务的区别“” w e b 服务是技术规范,而s o a 是设计原则。w e b 服务和s o a 的根本联系是w e b 服务中的w s d l 。w s d l 是一个s 0 a 配套的接口定义标准。从本质上来说,s o a 是一 c 垂 e 眦 哳 、,、j 种架构模式,而w e b 服务是利用一组标准实现的服务。w e b 服务是实现s o a 的方式 之一。用w e b 服务来实现s o a 的好处是可以通过独立平台获取服务。同时,随着 越来越多的软件商支持越来越多的w e b 服务规范,s o a 则会取得更好的通用性。 2 1 6w e b 服务客户端 _ | | | r e b 服务试图通过i n t e r n e t i n t r a n e t 提供一种虚拟计算环境。在这种虚拟 环境中,使用者可以通过任何客户端软件调用其它的w e b n 务。这些客户端软件 包括:浏览器、w i n d o w s 应用程序、j a v a 应用程序等。 客户端主要依照s o a p 和h t t p 协议,通过服务请求者找到合适的w e b 服务并 调用它们。 w e b 服务客户端的工作类型包括“”:基于s t u b 方式、基于动态代理方式、 基于动态调用接口方式等。 2 2w e b 服务组合 在前一节介绍了w e b 服务的定义及针对w e b 服务发布、查询、部署发布的四 大标准规范。随着i n t e r n e t 更为广泛的应用及办公自动化的进一步推进,对w e b 服务的需求也越来越多。单个的w e b 服务功能单一,难以满足实际的应用需求。 为了能完全发挥w e b 服务的潜力,必须把单个的w e b 服务组合起来,形成真正具 有实用价值的组合服务,以适应日益增长的需求。 w e b 服务组合技术并不是独立于w e b 服务的全新技术,它只是在已有的w e b 服务标准的基础上发展起来的,并且直接建立在w s d l 规范之上。图2 4 展示了 w e b n 务组合和其他的w e b 服务标准之间的关系“”。 图2 - 4w e b 服务技术体系结构 1 l 大多数单个w e b 服务是运行在各种异构系统中,以不同的方式创建、用不 同程序语言实现及由不同供应商提供的。服务的请求者需要根据特定的应用背 景和需求进行合理的服务组合。另外,为了可重用性,基本服务不能太复杂。 所以w e b 服务的组合需要按照一定的粒度进行。粒度太大,基本服务过于复杂, 不利于重用。粒度太小,组合过程过于复杂导致组合效率低下。 在w e b 服务的组合过程中,一个主要问题就是服务的请求者如何根据特定 的应用背景和需求进行合理的服务组合。 w e b 服务组合方法有两大类:静态组合和动态组合“”。静态组合要求请求 者在组合计划实施前创建一个抽象的过程模型。抽象的过程模型包括任务的集 合以及任务间的数据依赖关系等。每个任务包含一个查询子旬,用来查找完成 任务的最佳w e b 服务。静态组合中常用u m l 图描述过程模型。 动态组合不仅要自动地选择、绑定w e b n 务,而且要自动地创建过程模型。 请求者必须指定一些约束条件方便过程模型创建。这些约束条件包括w e b 服务间 的依赖关系、用户的偏爱等等。 目前w e b 服务组合的方式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 侵袭性葡萄胎护理
- Unit 1 Festivals and Celebrations 重点单词变形语法短语句型练习(解析版)
- 2026中考英语语法复习分类训练:现在进行时100题(中考试题+中考模拟)解析版
- 第二节骨科手术患者的术前术后护理
- 2026外研版高考英语复习讲义 必修第二册 Unit 3 On the move
- 医学生基础医学 恶心呕吐护理要点护理课件
- 2026人教版高考英语必修二 Unit3知识点归纳+同步语法
- Unit 2【刷易错】(模块易错检测练)原卷版-2025-2026学年七年级英语上册(人教版)
- 2026外研版高考英语复习讲义 必修第一册 Unit 6 At one with nature
- 医学色谱代谢分析专员防疫流行病学特征教学课件
- 石头买卖协议书
- 住院动物监护记录表
- 上颌第一前磨牙牙体形态简述
- GJB《质量分析报告》模板
- 公路工程质量监督参建单位现场检查表
- 《实用生态工程学》第十章 城市生态工程
- 建筑施工现场临时用电电工安装、巡检、维修、拆除工作记录
- 售后服务及维保方案
- GIS安装施工方案-
- 居民健康档案表格00292
- 仁爱版八年级上册英语单词默写表(可打印)
评论
0/150
提交评论