




已阅读5页,还剩57页未读, 继续免费阅读
(计算机软件与理论专业论文)基于wsbpel的web服务组合执行引擎的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 w e b 服务作为面向服务架构的核心技术,以其动态性和跨平台性为分布、异构的企 业级w e b 应用组合或协作提供了有力的支持。w s b p e l 采用服务接口的方式将多个独 立的w e b 服务组合起来,从而形成一个完整的业务流程。整合不同的服务、实现各种 复杂流程需要w s b p e l 引擎来实现。目前支持w s b p e l 规范的w e b 服务组合执行引 擎并不多,能支持w s b p e l 2 0 规范的w e b 服务组合执行引擎更为稀少。基于这种现 状,本文在对现有b p e l 引擎研究的基础上,提出了一种支持w s b p e l 2 0 规范的w e b 服务组合执行引擎。 本文主要包含以下几个方面的内容: 1 w e b 服务相关技术概述。主要介绍了w e b 服务的定义和特征,并着重分析了 w e b 服务的核心协议及体系结构。同时,概述了w e b 服务组合的概念、种类和方式, 分析了w e b 服务组合对构建业务流程的重要性。 2 业务流程定义语言概述。对主流业务流程定义语言做了分析比较,并在此基础 上深入研究了w s b p e l ,剖析了它的模型、活动及特点,并对w s b p e l 2 0 和 b p e l 4 w s l 1 进行比较,总结了w s b p e l 规范所做的变更。 3 基于w s b p e l 的w e b 服务组合执行引擎的设计。提出了一种层次化的w s b p e l 引擎架构,以支持执行符合w s b p e l 2 0 规范的业务流程,并详细阐述了引擎各个模块 的设计思路。 4 采用j a v ae e 相关技术实现了基于w s b p e l 的w e b 服务组合执行引擎,并通 过实例验证了该引擎是高效的并能很好地满足企业级应用。 关键词:w e b 服务组合执行引擎,w s b p e l ,业务流程 a b s t r a c t w e bs e r v i c e s ,a st h ec o r et e c h n o l o g yo ft h es o a , h a ss t r o n ga b i l i t yt os u p p o r tt h e d i s t r i b u t e da n dh e t e r o g e n e o u se n t e r p r i s e - c l a s sw e ba p p l i c a t i o n s c o m p o s i t i o no rc o o p e r a t i o n b e c a u s eo fi t sd y n a m i ca n dc r o s s - p l a t f o r ma b i l i t y w s - b p e lc a nm e r g es e v e r a li s o l a t e dw e b s e r v i c e si n t oa ni n t e g r a t e db u s i n e s sp r o c e s st h r o u g ht h es e r v i c ei n t e r f a c e h o w e v e r , w s - b p e l e n g i n ei sn e e d e dt oi n t e g r a t et h ed i f f e r e n ts e r v i c e sa n dt oi m p l e m e n tt h ec o m p l e x p r o c e s s n o w a d a y s ,t h e r ea r ef e ww e bs e r v i c e sc o m p o s i t i o ne x e c u t i o ne n g i n e ss u p p o r t i n g w s b p e ls t a n d a r d ,w h i c hs u p p o r tt h ew s - b p e l2 0s t a n d a r da r ee v e nl e s s a c c o r d i n gt o t h i ss i t u a t i o n , t h i st h e s i sp r o p o s e saw e bs e r v i c e sc o m p o s i t i o ne x e c u t i o ne n g i n ew h i c h s u p p o r t i n gt h ew s b p e l 2 0s t a n d a r db a s e do nt h er e s e a r c ho f p r e s e n tb p e le n g i n e s t h i st h e s i sc o n t a i n st h ef o l l o w i n ga s p e c t s : 1 d e s c r i p t i o no fw e bs e r v i c e st e c h n o l o g yi nb r i e f t h i st h e s i sm a i n l yi n t r o d u c e st h e d e f i n i t i o na n dc h a r a c t e r i s t i c so fw e bs e r v i c e s ,e m p h a t i c a l l ya n a l y z e st h ew e bs e r v i c ec o r e p r o t o c o la n ds y s t e ma r c h i t e c t u r e ,s u m m a r i z e st h ec o n c e p lt y p e sa n dm e t h o d so fw e bs e r v i c e c o m p o s i t i o na n da n a l y z e st h ei m p o r t a n c eo ft h ew e bs e r v i c e sc o m p o s i t i o ni nt h ec o n s t r u c t i o n o fb u s i n e s sp r o c e s s 2 d e s c r i p t i o no fb u s i n e s sp r o c e s sd e f i n i t i o nl a n g u a g ei nb r i e f t h ep r e v a l e n tb u s i n e s s p r o c e s sd e f i n i t i o nl a n g u a g e sh a v eb e e na n a l y z e da n dc o n t r a s t e d w s - b p e lh a sa l s ob e e n r e s e a r c h e dd e e p l y i n c l u d i n gi t sm o d e l ,a c t i v i t i e sa n df e a t u r e s t h ec h a n g e so fw s b p e l s t a n d a r dh a sa l s ob e e ns u m m a r i z e db yc o n t r a s to ft h ew s - b p e l2 0a n db p e l 4 w s1 1 3 d e s i g no fw e bs e r v i c e sc o m p o s i t i o ne x e c u t i o ne n g i n eb a s e do nt h ew s - b p e l a f r a m e w o r ko fl a y e r e dw s b p e le n g i n eh a sb e e np r o p o s e d t h ed e s i g n i n gi d e ao ft h e e n g i n e sm o d u l e si sp r e s e n t e d 4 w e bs e r v i c e sc o m p o s i t i o ne x e c u t i o ne n g i n eb a s e do nt h ew s b p e lh a sb e e n i m p l e m e n t e du s i n gj a v ae et e c h n o l o g i e s i th a sb e e np r o v e nt h a tt h ee n g i n eh a ss u f f i c i e n t c a p a c i t yt os a t i s f yt h ee n t e r p r i s e sr e q u i r e m e n t s 、j r i t hh i g he f f i c i e n c y k e y w o r d s :w e bs e r v i c e sc o m p o s i t i o ne x e c u t i o ne n g i n e ,w s - b p e l ,b u s i n e s sp r o c e s s 西北大学学位论文知识产权声明书 本人完全了解西北大学关于收集、保存、使用学位论文的规定。 学校有权保留并向国家有关部门或机构送交论文的复印件和电子版。 本人允许论文被查阅和借阅。本人授权西北大学可以将本学位论文的 全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。同时授权中国科学技术信息研 究所等机构将本学位论文收录到中国学位论文全文数据库或其它 相关数据库。 保密论文待解密后适用本声明。 学位论文作者签名: 办俨易删日 ! 乒铂朋o f 1 l 呼6 月日 西北大学学位论文独创性声明 本人声明:所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,本论文不包含其他人已经发表或撰写过的研究成果,也不包含 为获得西北大学或其它教育机构的学位或证书而使用过的材料。与我 一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 学位论文作者签名:蔗;臼蜀 潮年多月z7 日 西北人学硕 :学位论文 1 1 研究背景 第一章绪论 随着全球化的经济发展,信息技术在世界范围内得到了广泛的应用。近几年来,随 着信息化进程得到大力推进及信息技术的不断完善,使得现有业务系统不仅要快速灵活 地适应层出不穷的业务新需求,而且还要使得这些业务系统跨越企业间的边界,形成跨 互联网的企业间的业务集成,而如何有效完成跨企业的业务集成,已经成为新一代企业 业务系统集成面临的重大挑战之一。 w e b 服务技术的出现,为解决这一挑战提供了契机。w e b 服务是一种基于标准的业 务集成方式,它可以通过网络连接将运行在不同平台的业务应用集成到一起l l l 。w e b 服 务技术把一切都看作为服务,这种服务可以在网络上被动态地发布、发现和组织,因此 w e b 服务具有跨平台的特征。企业可以根据自己的业务优势,将自身的w e b 服务发布 到互联网上供其它企业和用户使用,也可以搜索互联网上其它企业的相关服务,并对搜 索得到的服务进行比较,然后选择能够最好地满足自己需求的服务,集成到自己的业务 系统之中。 同时,现有的企业软件架构不够灵活,难以适应日益复杂的企业整合,难以满足随 需应变商务的需要,这也是目前业界的突出问题之一。而以业务对齐、以业务的敏捷应 变能力为首要目标且松散耦合、支持重用的面向服务的体系结构( s e r v i c eo r i e n t e d a r c h i t e c t u r e ,s o a ) 为解决这一问题提供了新的方法 2 1 。s o a 是一种建立、管理、维护 i t 系统和业务流程的方法。在s o a 架构下,服务是最核心的抽象手段,业务被划分( 组 件化) 为一系列粗粒度的服务。通过构建服务能够建立业务逻辑抽象和技术抽象,把业 务逻辑与具体实现技术分离开来,使企业应用彻底摆脱面向技术解决方案的束缚,使企 业能够适应业务和实现技术的不断变化,轻松应对企业业务变化和发展的需要。 以动态性和跨平台性为核心特征的w e b 服务,以及以w e b 服务为核心的面向服务 的架构,为分布、异构的企业级w e b 服务组合或协作提供了有效的技术和方法【3 】。在 w e b 服务技术的基础上,业务流程执行语言( w e bs e r v i c e sb u s i n e s sp r o c e s se x e c u t i o n l a n g u a g e ,w s b p e l ) 4 1 采用服务接口方式将多个独立的w e b 服务组合起来,从而形成一 个完整的业务流程,而且一旦定义并实现,这个业务流程便可以反复运行,不再需要过 多的人工干预。然而如何整合不同的服务、实现各种不同的复杂流程以及自动管理和操 作相关流程数据,就需要通过基于w s b p e l 的w e b 服务组合执行引擎来实现,因此, 第一 镕论 埘基于w s b p e l 的w e b 服务组台执行引擎的研究有着重要的现实意义和理论价值。 12 研究现状 w s b p e l 引擎主要有b e x e e ,a c t i v e b p e l ,t r y s t e r 等。下面对现有的引擎进行简 要分析。 ( 1 ) b e x e e b e x e e 是瑞士b e m e 大学工程与信息技术学院的两个学生发起的开源项目,它也可 执行用b p e l 4 w s l1 规范描述的业务流程,其中该业务流程己由b p e l 编排工具编排成 功。b e x e e 实现了b p e l 引擎的核心功能,其它诸如安全性、性能等很多问题都没有考 虑,b e x e e 仅为将来的健壮的和可扩展的b p e l 引擎提供一个基础。b e x e e 架构如图11 所示。 警睁 徊旧人 圈i ib e x e e 系统架构 b e x e e 执行业务流程t 要是通过流程控制对象( p r o c e s s c o n t r 0 1 ) 来实现的,具体过程 如下:首先分析b p e l 定义文件,执行时先执行 或 复合活动,对于复 合活动中所包含的每一个活动,流程控制对象发送该活动对应的a c c e p t ( ) 力- 法对其进行 处理:处理结束后,又把该活动对应对象发回给p r o c e s s c o n t m l 对象继续进行处理,直 到所有活动都被执行。 ( 2 ) a c t i v e b p e l e n g i n e a c f i v e b p e l e n g i n e 是e n d p o i n t 公司的开源项目,它可执行符合b p e i a w s1 i 规范 的业务流程i 。a c t i v e b p e l e n g i n e 的架构山4 个核心概念组成:引擎、流程、活动和文 件。图12 所示的是a c t i v e b p e l 引擎的体系结构,其中右边的数据库元素代表一般的 持久化存储。 器一 、j一 w 北人学顾t 学位论文 l i l l s w e b a 叩l i c 抓0 n s 刚e r 图1 2a c t i v e b p e l 引擎结构 矗目i 萄 、w 耐 q u e u e s b p e l 流程由活动组成。基本活动是一个简单的行为如接收一个消息,变量赋值, 调用w e b 服务等。结构化活动由基本活动通过相应的结构组合而成。特殊活动介绍了 变量、作用域和处理下常的活动,例如流程终止活动和补偿活动。每个活动都有一个与 之相应的作用域,包括相关变量、错误处理和补偿处理。活动路径和l i n k s 由包括变量 值和表达式值在内的多种因素决定。 a c t i v e b p e l 引擎有如下关键优势: 完整性:a c t i v e b p e l 引擎完整地实现了b p e l 4 w s 标准。 方便性:a c t i v e b p e l 引擎除了完全实现标准,还在包的发柿,流程持久化,事 件通知等方面加强了方便性。 持续性:a c t i v ee n d p o i n t s 公司是一家商业公司,能持续地对a c t i v e b p e l 引擎 给予支持。 ( 3 ) t w i s t e r i 埘咖,7 】一个是部分支持b p e l 4 w s l1 标准的b p e l 引擎主要有流程部署、流程 执行以及w o r k l i s t 管理三部分功能。t w i s t e r 运行在w e b 服务器上,允许t w i s t e r 的w e b 服务使用a x i s 并提供了友好的w e b 服务界面。图13 所示的是t w i s t e r 架构图。 昌 h “。 旺 :| | | 篓,唑 磐氅恶。虱酬 第一窜绪论 t h r e a dp o o lt w i s t e re n g i n e 图1 3t w i s t e r 架构示意图 在通信层上,t w i s t e r 是基于a p a c h e a x i s 实现的,并在w e b 服务器上以后台方式运 行;在业务通信上,w e b 服务是通过w e b 服务接口与引擎进行通信的。为了提高引擎 的性能,流程部署模块通过引擎的私有接口柬创建内部结构。 t w i s t e r 结构简单、灵活且易于扩展。但是也有一些不足之处,t w i s t e r 不完全符合 b p e l 4 w s 规范,例如,引擎不支持b p e i a w s 规范中的补偿;不支持子流程;没有实 现f l o w 活动。另外,也存在其它缺点,例如,管理界面过于简单;流程描述的验证部 分也存在问题:缺乏对错误失败的处理:w o r k l i s t m a n a g e r 性能过低。 根据以上分析比较,现有的b p e l 引擎主要存在以下几个问题: 只是对引擎核心功能进行实现,用户界面不够友好,没有给用户提供可方便监 控、管理引擎和业务流程实例的界面。 引擎架构的耦台性比较高,不利于实现引擎功能的扩展。 大多数引擎只支持b p e l 4 w s il ,随着w s - b p e l 20 规范的提出,对支持 w s b p e l 20 规范的引擎有需求。 总的来说,现有的b p e l 引擎在丌放性、鲁棒性和标准化等方面都还有待加强,既 符合规范又满足用户需求的b p e l 引擎并不多,因此对b p e l 引擎的研究有着显而易见 的必要性。 13 主要研究内容 本文涉及的主要研究工作是基于国家“8 6 3 ”计划信息技术领域高可信软件生产工 具及集成环境专题面向流程管理的软件生产线课题研究( 2 0 0 7 a a 0 1 0 3 0 5 ) 进行的。 该“8 6 3 ”项目旨在研究和解决跨组织分咖式流程模型、流程管理软件生产线可信性分 一一一一一一一 一 一 西北大学硕士学位论文 析与评估方法、流程模型检查与验证技术、基于m d a 的可视化工具集成环境设计与实 现。项目由西北大学、西安协同软件产业( 集团) 股份有限公司、清华大学、西安理工 大学四家单位共同承担研制。在该项目中,西北大学主要负责理论研究、核心技术平台 研发。而本文工作则是对子课题基于w s b p e l 的w e b 服务组合执行引擎进行相关研究, 并进行设计与实现。本文的研究内容主要有以下几个方面: ( 1 ) 深入研究w e b 服务技术,对其特点、核心协议以及体系结构进行分析。同时, 还对w e b 服务组合进行了研究,说明了w e b 服务组合对构建业务流程的合理性和重要 性。 ( 2 ) 对主流业务流程定义语言做了分析比较,证明了w s b p e l 是解决w 曲服务组 合行之有效的解决方案。并在此基础之上,深入研究了w s b p e l 这个与w e b 服务结合 最紧密的语言,剖析了它的模型、活动及特点,并对w s b p e l 2 0 和b p e l 4 w s i 1 进行 比较,总结了w s b p e l 规范所做的变更。 ( 3 ) 关注国内外b p e l 引擎的发展状况,研究现有引擎的特点。在此基础上,提出 一种层次化的w s b p e l 引擎架构结构,以执行符合w s b p e l 2 0 规范的业务流程,并 详细阐明了引擎各个模块的设计思路。同时,提供一个友好的界面方便用户对引擎和业 务流程的管理和监控。 ( 4 ) 采用j a v ae e 相关技术实现基于w s b p e l 的w 曲服务业务流程执行引擎。最 后通过实例来验证引擎的执行情况。 1 4 论文组织结构 全文共分为六章,其中: 第一章绪论。介绍了基于w s b p e l 的w e b 服务组合引擎的研究背景,对国内外已 有的基于业务流程执行语言的w e b 服务组合执行引擎的现状进行分析和比较,并对本 文的选题来源做了简单介绍,最后,在此基础上阐述了本文的主要研究内容和论文的组 织结构。 第二章相关理论基础。首先介绍了w e b 服务技术的相关概念,包括w e b 服务的定 义、特征、核心协议和体系结构:其次在w e b 服务的基础上,概述了w e b 服务组合的 概念、组合种类及组合方式:然后对当前的业务流程定义语言进行阐述和比较;最后对 基于w e b 服务的业务流程定义语言w s b p e l 进行介绍,包括w s b p e l 的相关技 术、模型、活动以及w s b p e l 规范的特点,并对w s b p e l 2 0 与b p e i a w s l 1 进行分 5 第一章绪论 析和比较。 第三章基于w s b p e l 的w e b 服务组合执行引擎总体架构的设计。通过对引擎功能 需求的说明,提出了一种层次化结构的引擎架构,便于引擎的扩展。在此基础上对引擎 与相关组件的关系和引擎的特点做了分析。最后,阐明了引擎的执行过程。 第四章基于w s b p e l 的w e b 服务组合执行引擎w s b p e l 引擎的详细设计。着重 说明了引擎中的流程解析模块、流程管理模块、流程队列模块、持久化管理模块和同志 管理模块的详细设计。 第五章基于w s b p e l 的w e b 服务组合执行引擎的实现。根据第三章的设计思路和 第四章的详细设计,实现了一个w s b p e l 引擎,最后通过应用实例展示了提供给用户 的界面并对该引擎的运行情况进行了验证。 总结与展望。总结了论文所做的工作并提出下一步需要改进完善的地方。 6 西北大学硕士学位论文 2 1w e b 服务 第二章相关理论基础 伴随着信息化的快速发展,企业信息化的程度也越来越高,但是由于不同时期企业 实现业务功能时会用到不同的技术和不同平台。为了实现企业的业务整合与集成,需要 将原有的不同业务系统集成起来。但是,不同的业务系统,尤其是不同企业的业务系统 所用的开发语言不同,部署平台相异,通信协议也可能不一致,用于交换的数据格式也 有着很大的差别。如何将这些业务系统方便且低代价地集成起来,从而实现大范围的企 业内,甚至是企业间的业务系统对接,是摆在广大设计和开发人员面前的一个难题。如 何解决语言差异、平台差异、协议差异和数据差异所带来的系统集成代价,是解决这个 问题的关键。目前正迅速发展的w e b 服务技术正是解决此问题的最佳方案【8 - 10 1 。 2 1 1w 曲服务的定义 x m l 的出现为网络上各种系统的通信提供了一个共同标准,从而可以使不同系统 之间的信息传输脱离平台和程序语言的限制,而得到各大系统软件商支持的s o a p 协议 则为服务消息传递定义了简单的规则。以上技术的出现促进了w e b 服务的应用,同时 也提高了在互联网上调用w e b 服务的能力。 w e b 服务f l l - 1 3 1 是一种部署在w e b 上的对象,不同的研究者可能对w e b 服务有不同 的定义,如w e b 服务是自包含的、模块化的应用程序,它可以在网络中被描述、发布、 查找以及调用:w e b 服务是分布式的、基于网络的组件,它执行特定的业务流程,遵守 相应的技术规范,而这些规范使得它可以与其他相兼容的组件进行互操作;w e b 服务是 指由企业发布的完成其特定业务需求的在线应用,其他公司或应用软件能够通过i n t e r a c t 来访问并使用此项应用,等等。w 3 c 认为“w e b 服务是支持网络上不同的机器共同操 作的软件系统,并且对外提供一些接口,这些接口使用可以被机器处理的w s d l 格式 的文件进行描述 1 4 1 。从以上定义不难看出,它们均有一个共同的特点,即都把w e b 服务看作是被封装成单个实体并发布到网络上的功能集合体。 一个完整的w e b 服务除了提供必要的功能外,还提供了定义明确的接口,接口描 述了w e b 服务的内容和访问格式,用户根据w e b 服务的接口描述,就可以知道该w e b 服务是否包含所需的功能以及该服务的调用方法。开发人员可以将某些w e b 服务和本 地服务、远程服务以及自己编制的业务功能相集成,构成功能更强的新的w e b 服务。 7 第二章相关理论基础 2 1 2w e b 服务的特征 从外部使用者的角度来看,w e b 服务可以看作是一种远程的规范组件,它提供给外 界的规范调用接口实际就是一组远程的a p i 。w ,e b 服务的特征如下【l 】: ( 1 ) 平台无关性 w e b 服务采取简单并且易于理解的标准协议作为其接口描述以及协同描述规范,这 样就可以使不同平台之间的差异透明化,不管是c o r b a 、e j b 还是d c o m 都可以通过 此标准协议进行互操作,实现各种不同环境下的高度集成融合能力。 ( 2 ) 封装完好性 w e b 服务是一种部署在网络上的对象,因此具有对象固有的封装性。对于用户而言, 仅能看到该服务提供功能的列表。 ( 3 ) 使用标准协议规范 w e b 服务与一般的网络对象相比较,其接口所使用的规范更加标准,并且机器容易 识别。首先,w e b 服务所提供的功能使用w s d l 作为其标准的描述语言;其次,接口 描述文件被存储在私有或公共的注册机构内;再次,运用规范方法来描述、传输和交换, 以保证松散耦合对象环境下的安全机制,例如,消息源认证、数据完整性、授权认证及 事务不可否认性等。最后,需要对管理协议运用同样的机制。另外,这些标准协议都是 完全免费的,绝大多数规范将最终由w 3 c 或o a s i s 作为发布和维护方,以便可以由任 意方进行实现。 ( 4 ) 松散耦合性 当一个w e b 服务的实现发生变更的时候,该服务的调用者并不会感觉到它所调用 的服务已经发生改变。对于调用者来说,只要w e b 服务的调用接口不变,w e b 服务具 体实现的变动对它们都是完全不可见的。x m l s o a p 协议正是到目前为止在松散耦合 环境下的w e b 服务所需要的标准消息交换协议。 2 1 3w e b 服务的核心协议 w e b 服务是通过一系列协议实现的。简单对象访问协议( s i m p l eo b j e c ta c c e s s p r o t o c o l ,s o a p ) 、w e b 服务描述语言( 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 s d l ) 、统一 描述、发现和集成( u n i v e r s a ld e s c r i p t i o n ,d i s c o v e r ya n di n t e g r a t i o n ,u d d i ) 协议是w e b 服务中所使用的核心技术,这些技术使应用程序之间能够以一种独立于特定编程语言、 部署平台的方式进行通信。s o a p 提供了一种在w e b 服务与其他应用程序之间进行通信 8 西北大学硕士学位论文 的通用机制;w s d l 提供了一种描述w e b 服务以及说明如何与w e b 服务通信的统一方 法:u d d i 提供了一个机制,以一种有效的方式来浏览、发现w e bs e r v i c e s 以及它们 之间的相互作用。下面简单介绍一下w e b 服务中需要使用的三个核心协议标准: ( 1 ) s o a p e 2 , 1 5 1 s o a p 是w e b 服务提供者与调用者之间标准的消息交互协议,它的主要作用是为各 类x m l 格式的消息提供标准的消息传输机制。s o a p 协议建立在x m l 基础上,提供了 在一个分布式、非集中的网络环境中通过交换结构化、类型化的调用信息以完成对远程 对象或者过程调用的机制。s o a p 协议只是通过一个模块化的包装模型和对模块中特定 格式编码数据的重编码机制来表示应用语义,它本身并没有定义任何应用语义,比如语 义实现或特定的编程模型。 s o a p 由以下的四部分够成: e n v e l o p e :它定义了一个整体的表示框架,用于表示该消息是什么消息,谁负 责处理,以及这些内容是可选的还是强制的等。 b i n d i n g :s o a p 绑定使用底层协议交换信息,主要描述了s o a p 消息如何包含 在h t t p 消息中进行传送。 soapl 冲c 表示:它为远程过程调用和应答定义了一个约定。 e n c o d i n gr u l e s :编码规则对用于交换应用程序的数据类型实例的一系列机制做 了定义。 ( 2 ) w s d l 2 , 1 6 l w s d l 是一种用来对w e b 服务进行描述的标准x m l 文档格式。w s d l 用一种抽象 方式定义了w e b 服务收发的有关操作和消息,而这种抽象方式和具体的实现语言是不 相关的。通过这种不相关性进而把w e b 服务定义成一个可以交换消息的端点集,这些 集合中的端点作用于包含面向文档或面向过程( r p c ) 的信息的消息。操作和消息都是被 抽象描述的,然后它们会被绑定到一个具体的网络协议和消息格式用来定义端点。相关 的具体端点再被合并到抽象的端点或服务中。 w s d l 文档将w e b 服务定义为服务访问点的集合。由于消息和服务访问点的抽象 定义和具体的数据格式绑定或服务部署在w s d l 中是相互分离的,从而使得这些定义 可以被其他服务重用。针对一个接口的数据格式规范和具体协议构成可以重用的绑定。 接口是服务相关操作的抽象集合,而消息是需要交换的数据的抽象描述。w e b 访问地址 和可重用绑定的链接被定义为端点,而服务就是指这些端点的集合。因此,一个w s d l 9 第二章相关理论基础 文档使用如下的元素来对w e b 服务进行定义: 消。息( m e s s a g e ) :它为所有通讯数据结构的抽象类型提供了定义: 绑定( b i n d i n g ) :它定义了端i = 1 类型到数据格式规范和特定访问协议的映射; 端点( e n d p o i n t ) :它为绑定指定了一个地址,并以此定义了一个服务访问端点; 服务( s e r v i c e ) :它是指组合在一起的相关端点; 类型( t y p e s ) :它包含了所有在消息定义中需要的x m l 元素的类型定义,本质 上是一个数据类型定义的容器; 接i :1 ( i n t e r f a c e ) :它是某种端口类型所支持操作的一个抽象集合,这些操作通常 由一个或者多个端点所支持; 操作( o p e r a t i o n ) :它是对服务所支持的动作的抽象描述。 w s d l 信息模型充分利用了抽象规范与规范具体实现的分离,也就是分离了服务接 口( 抽象定义) 与服务实现( 具体定义) ,如图2 1 所示w s d l 的概念模型。 。匝叵 ,一、 抽服 藿羹医巫圄 图2 1w s d l 概念模型 ( 3 ) u d d i t l 7 1 u d d i 是一套基于w e b 的、分布式的、并为w e b 服务提供信息注册中心的标准规 范。u d d i 还包含一组使企业可以将自身所提供的w e b 服务在信息中心进行注册,从而 使得其他企业可以通过标准接口发现并进行访问的协议标准。使用u d d i ,企业能够通 过接口来注册w e b 服务供别的企业和用户使用,同时也可以使用统一的接口来实现对 所注册服务的访问。u d d i 注册中心的创建目的就是为促进企业的w e b 服务的发展并方 便企业发现合适的w e b 服务。u d d i 基本概念包括:u d d i 规范,u d d i 注册中心和u d d i 注册中心操作入口站点。 1 0 西北大学硕上学位论文 2 1 4w e b 服务的体系结构 w e b 服务的体系结构是基于服务请求者、服务提供者和服务注册中心三个角色以及 发布、绑定和发现这三种操作构建的。简单地说,w e b 服务提供者在服务注册中心注册 配置和发布服务,并为其它服务和用户提供自己的服务;w e b 服务的服务请求者根据服 务信息在服务注册中心查找所需的服务,注册中心返回服务的接口描述文档( w s d l ) , 然后服务请求者根据获取的服务接口描述文档,通过s o a p 协议绑定服务提供者并调用 提供者所提供的服务w e b 服务请求者使用s o a p 消息,向服务提供者发送请求以获得 服务。 图2 2w e b 服务的体系结构,显示了服务请求者、服务提供者和服务注册中心三个 角色以及发布、绑定和发现这三种操作,其中,发布是为了让用户知道某个w e b 服务 的相关信息;发现是为了找到合适的w e b 服务;绑定则是在提供者与请求者之间建立 某种联系。 幽2 2w e b 服务的体系结构 实现一个完整的w e b 服务包括以下步骤: ( 1 ) w e b 服务提供者实现w ,e b 服务,并将实现后的w e b 服务注册到u d d i 注册中 心: ( 2 ) w e b 服务请求者向u d d i 注册中心请求满足条件的特定服务; ( 3 ) u d d i 注册中心向w e b 服务请求者返回满足条件的w e b 服务描述信息,该信息 用w s d l 描述; ( 4 ) w e b 服务请求者利用返回的描述信息生成相应的s o a p 消息,发送给w e b 服务 提供者: ( 5 ) w e b 服务提供者按s o a p 消息执行相应的w e b 服务,并将服务结果返回给w e b 服务请求者,从而完成w e b 服务的调用。 第_ 二章相关理论基础 2 2w e b 服务组合 2 2 1w e b 服务组合的概念 单个的w e b 服务能力往往有限,不能满足实际中的应用需求。随着w e b 服务技术 的不断发展,w e b 服务的抽象和组合越来越重要。如何使企业内或企业间的诸多业务服 务有机地集成,提供更为强大的服务功能,加快系统开发的速度,快速满足用户需求, 是目前w r e b 服务应用集成的核心问题。 随着w - e b 服务组合f 1 8 。2 2 】研究的不断展开,不同的研究人员对w e b 服务组合的概念 也有着不同的认识。h p 实验室认为“w e b 服务组合是服务提供者将已有的w e b 服务作 为新的更大服务的构筑模块,从而总体上实现对这些模块的增值。这种增值体现在新服 务满足特定需求的能力上,并且可以提供更高的服务质量保障和可用性 2 3 】。i b m 认为 “w e b 服务组合通过确定不同w e b 服务的执行顺序和w e b 服务间复杂的交互来实现的。 w e b 服务组合是一组w e b 服务,它支持业务流程逻辑,它自身既可以是最终的应用, 也可以是其他新的w e b 服务”【2 4 1 。斯坦福大学s w i g 小组认为“w e b 服务组合是研究 如何通过组合自治的w e b 服务而获得新的功能的问题,通过w e b 服务组合可以减少新 应用的开发费用和时间” 2 s 】。 从上述不同的定义我们可以看出,w e b 服务组合的本质是协调多个w 曲服务共同 工作进而完成新的业务。通过组合w e b 服务,可以屏蔽底层信息变化,灵活快速地实 现上层业务模型,在面向服务的企业计算模型中充当中间模型的角色。w e b 服务的设计 和组合,本质上是一个分布式的设计行为,各应用开发者着力于重用已有的w e b 服务, 而不是从底层编码开始,进行原始的开发。 因此,如何组合这些已有的、自治的w e b 服务从而构筑企业新的业务应用已成为 软件工程领域一个新的热点问题。 2 2 2w e b 服务组合的种类 当组合服务执行时,按照参与组合的成分服务的确定时机的不同,服务组合可以分 为动态服务组合和静态服务组合两种模式 2 6 - 2 引。 ( 1 ) 动态服务组合【2 9 】 动态服务组合模式是在组合服务执行时才决定参与组合的成分服务,并且可以在服 务执行期间动态的替换成分服务。目前成分服务的动态确定主要有以下两种方式: 第一种方式:首先通过全局优化算法在服务执行前一次性的在服务注册中心中 1 2 西北大学硕 学位论文 查找到该组合服务的所有成分服务以及相应的w d s l 文件;然后,再运行组合 服务流程的实例。 第二种方式:当业务执行引擎执行到所需服务的调用活动时,执行引擎首先通 过从服务注册中心中查找到满足需求的服务及其相应的w s d l 文件;然后通过 构造相应的s o a p 消息调用该服务。 ( 2 ) 静态服务组合 与动态服务组合不同的是,静态服务组合在设计阶段时就静态地确定好组合服务由 哪些成分服务组成,而且在执行组合服务的时候不可以动态的更改。在服务组合流程运 行时,流程执行引擎根据相关成分服务的描述信息直接调用外部服务。这种方式与动态 服务组合的第一种方式有些类似,只是把成分服务的绑定操作提前到设计阶段时进行。 2 2 3w e b 服务组合的方式 目前常见的w e b 服务组合方式主要可以分为两种:服务编排( o r c h e s t r a t i o n ) 和服务编 - 导( c h o r e o g r a p h y ) 3 0 3 2 1 。w e b 服务编排( w 曲s e r v i c e sc h o r e o g r a p h y ,w s c ) 指为业务协作 ( b u s i n e s sc o l l a b o r a t i o n s ) 而进行w e b 服务合成,而w e b 服务编制( w e bs e r v i c e s o r c h e s t r a t i o n ,w s o ) 指为业务流程( b u s i n e s sp r o c e s s e s ) 而进行w | e b 服务合成。服务编排 和服务编导的最终目标都是用面向流程的方式把多个服务组合起来,完成一个新业务流 程,实现单个基本w e b 服务无法实现的功能。 ( 1 ) w e b 服务编排 w e b 服务编排定义了组成编制的服务及这些服务的执行顺序。它关注于以一种说明 性的方式创建组合服务,其主要行业规范是w s b p e l 。w e b 流程编排通过一个中心流 程对不同的w e b 服务进行协调,这个中心流程了解编制涉及的操作及其调用顺序,并 洞悉编制的总体的目标,从而使得w e b 服务能够在不了解彼此的情况下进行删除或者 添加,还允许在出现异常和错误的情况下进行相关的补偿操作。因此,w e b 服务编排的 结果可以看作是一种简单的流程,并且这种流程本身也是一个可以执行的w e b 服务, 与一般w e b 服务不同的是,它在执行的时候需要调用其他的w e b 服务。 ( 2 ) w e b 服务编导 w e b 服务编导更加关注于对多个w e b 服务如何在一个更大的业务中的相互协作进 行定义。w e b 服务编导关注于多个w e b 服务参与的交换消息,进行对等的业务协作, w e b 服务编导描述语言( w e bs e r v i c e sc h o r e o g r a p h yd e s c r i p t i o nl a n g u a g e ,w s c d l ) 是它 1 3 第二章相关理论基础 主要的行业规范。w e b 服务编导不是像w 曲服务编排中那样描述方如何执行某个具 体业务流程的,而是通过各方描述自己如何与其他w e b 服务进行公共消息交换来定义 业务交互。w e b 服务编导强调的是公共协作,本质上是流程协作。w e b 服务编导的重要 特征是公共消息交换,它可以描述多个业务搭档为了实现多组织业务功能而进行的交 互。例如,在供应链方面,进行产品采购可能涉及到多家公司的资金、发货通知单和定 单的交互。 w e b 服务编排和w e b 服务编导的一个关键区别在于:w e b 服务编排提供一种请求 者提供者模型,该模型是层次化的,它只对应调用何种的服务以及应该何时调用进行了 定义,并没有对流程中涉及的多方应该如何进行相互协作进行定义;而w e b 服务编导 提供一种对等的模型,业务流程中有很多的协作方,它对多个协作方如何在一个流程中 的相互协作进行定义。 2 3 业务流程定义语言 如果企业中不同的部门采用相互不一致的业务流程描述方法,实现业务流程之间的 协作就相对较难。一方面,许多标准化组织都着手制定业务流程定义语言,来使得不同 应用系统之间的业务流程能够很好的交互;另一方面,随着x m l 技术的产生与发展, 越来越多的业务流程定义语言采用x m l 格式进行定义,从而解决了不同业务流程之间 的协调和集成问题。下面
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 知识产权质押贷款合同标的评估及法律保障
- 人力资源管理师基础知识考试题
- 2025员工合同签订确认单
- 语文模拟试题试卷及答案
- 2025李总寻觅的合同模板
- 2025年航空航天行业无人机应用前景分析报告
- 水果有机肥生产创新创业项目商业计划书
- 智能仓库管理系统创新创业项目商业计划书
- 2025广东塑料交易所PE货物交割合同
- 小区垃圾分类宣传教育平台创新创业项目商业计划书
- 培训课件的字体版权
- 注塑加工项目可行性研究报告
- 中医治未病课件版
- 痛风中医辨证论治课件
- 【课件】工作危害分析法(JHA)专项培训课件丨
- 2025-2030年中国礼品盒行业市场现状供需分析及投资评估规划分析研究报告
- 带储热的液态空气储能系统性能的多维度剖析与优化策略
- 水体环境完整版本
- 新北师大版四年级数学上册第二单元(线与角)课后练习题及答案1
- DB1311T 091-2025 旧水泥混凝土路面多锤头碎石化施工技术规范
- 采砂作业合同协议
评论
0/150
提交评论