(计算机应用技术专业论文)服务动态选优机制及其应用研究.pdf_第1页
(计算机应用技术专业论文)服务动态选优机制及其应用研究.pdf_第2页
(计算机应用技术专业论文)服务动态选优机制及其应用研究.pdf_第3页
(计算机应用技术专业论文)服务动态选优机制及其应用研究.pdf_第4页
(计算机应用技术专业论文)服务动态选优机制及其应用研究.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(计算机应用技术专业论文)服务动态选优机制及其应用研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 w e b 服务技术作为一种新型的应用技术,近年来得到了迅速的发展。它建立 在x m l 基础上,是为解决应用层集成而提出的开放式技术架构。w e b 服务技术 利用基于x m l 格式的s o a p 消息进行数据交换,采用w s d l 文档描述接口,通 过u d d i 注册中心发布服务和查找服务,从而实现了业务功能的松散集成。因为 它在集成方面这种简单、灵活和可扩展的特性,使得基于w e b 服务技术的集成 方案成为目前企业应用集成领域的主流。 在研究了w e b 服务体系和主要技术的基础上,本文提出了一种支持第三方 服务动态最优选取的扩展企业应用集成框架。对满足相同功能需求的第三方服务 进行动态的选优,需要涉及到服务的非功能性属性,所以引入了服务质量q o s ( q u a l i t yo f s e r v i c e ) 参数作为描述这些第三方服务所必须具备的特征 文章重点论述了第三方w e b 服务的q o s 度量方法,在企业的背景下,建立 了适用的q o s 模型,并根据此模型提出了q o s 计算模型和优化选择算法,用于 实现对服务的选优同时扩展了w s d l 和u d d i 规范,介绍了将选优结果与企 业原有业务相整合的w e b 。服务动态选取器的设计,并给出了实现动态选优机制 的q o s 管理器的原型。 关键词:企业应用集成,w e b 服务,第三方服务,q o s , b p e l r e s e a r c ha n da p p l i c a t i o no nd y n a m i cs e l e c t i o n m e c h a n i s mo fs e r v i c e s a b s t r a c t a san e wa p p l i c a t i o nt e c h n o l o g y , w e bs e r v i c e sh a so b t a i n e dar a p i d d e v e l o p m e n ti nr e c e n ty e a r s i ti s a l lo p e nt e c h n o l o g ya r c h i t e c t u r eb a s e do nx m l a n dp r o p o s e dt os o l v et h ei n t e g r a t i o no f t h ea p p l i c a t i o nl a y e r i th a st h ec h a r a c t e r i s t i c o fs i m p l c n 麟i b l ea n de ) 【p a n d a b l ei nt h ei n t e g r a t e da s p e c t , w h i c he n a b l e st h e i n t 铭删p l a nb a s e do nw e bs e r v i c e st ob e c o m et h em a i n s t r e a mi ni n t e g r a t e d d o m a i n u n d e rt h eb a s i so fw e bs e r v i c e sa r c h i t e c t u r ea n di t st e c h n o l o g y , t h ea r t i c l e p r o p o s e da l le x t e n s i b l ee 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 na r c h i t e c t u r ew h i c hs u p p o r t s t h es e l v i c e ss e l e c t i o nf r o mt h et h i r dp a r t y i no r d e rt or e a l i z et h ea u t o - s e l e c t i o nf r o m t h es e r v i c a 烙p r o v i d e db yt h et h i r dp a r t i e sw h oh a v et h es a m of u n c t i o n a lr e q u i r e m e n t s , w om u s tc o n s i d e rt h en o n - f u n c t i o n a l i t ya t t r i b u t e so f 朗v i 嘲a n di n v o l v et h e p a r a m e t e ro f q o s ( q u a l i t yo f s e r v i c e ) a st h ec h a r a c t e r i s t i cw h i c ht h i r dp a r t ys e r v i c e s m u s th a v e t h i sa r t i c l ee m p h a s i z e so nt h eq o sm e a s u r em e t h o do f 吐i i r dp a r t ys e r v i c e s u n d e rt h eb a c k 扫o u n do fe n t e r p r i s e s ,w eh a v ee s t a b l i s h e dt h es u i t a b l eq o sm o d e l a n dp r o p o s e dt h eq o sc o m p u t a t i o nm o d e la n dt h eo p t i m i z e dc h o i c ea l g o r i t h mb a s e d o nt h i sm o d e l , w h i c hr e a l i z e st h es e r v i c es e l e c t i o nf t o mt h et l l i f _ d p a r t y s i m u l t a n e o u s l y ,w e 既p a n dw s d la n dt h eu d d is t a n d a r dt os u p p o r tq o s ,d e s i g n t h ew e bs e r v i c e 8s e l e c t o rw h i c hi n t e g r a t e st h es e l e c t i o nr e s u l tw i t l ie n t e r p r i s e 鲥g i n a ls e r v i c ea n ds h o w sa na u t o - s e l e c t i o np r o t o t y p eo f q o sm a n a g e r k e y w o r d s :e a i ,w e bs e r v i c e s ,t h i r dp a r t ys e r v i c e s ,q o s ,b p e l 儿 西北大学学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻 读学位期间论文工作的知识产权单位属于西北大学。学校有权保留并 向国家有关部门或机构送交论文的复印件和电子版。本人允许论文被 查阅和借阅。学校可以将本学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学 位论文。同时,本人保证,毕业后结合学位论文研究课题再撰写的文 章一律注明作者单位为西北大学。 保密论文待解密后适用本声明。 学位论文作者签名:兰生兰指导教师签名: 。1 年占月7 日州年g 月7 日 西北大学学位论文独创性声明 本人声明:所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,本论文不包含其他人已经发表或撰写过的研究成果,也不包含 为获得西北大学或其它教育机构的学位或证书而使用过的材料。与我 一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 学位论文作者签名:j 云 叫年月7 日 第1 章绪论 1 1研究背景 随着企业规模的不断扩大和市场竞争的日益激烈,企业要求有灵活、适应性 强的业务系统能够对不断变化的市场环境做出及时地反馈,并能迅速的改进现有 的商业流程以满足业务需求 伴随着w e b 服务和x m l 技术的相继出现,传统的企业应用集成技术已经不 能适应企业信息系统的快速增长,现在w e b 服务技术不仅成为企业内部应用集 成的有效方法,而且也成为实现跨组织边界系统集成的重要手段。它的高重用性、 灵活性的松散集成方式,为它的广泛应用奠定了很好的基础。 w e b 服务技术不仅只为企业集成提供了技术基础。伴随着i n t e m e t 快速发展, 越来越多的商家将其业务功能通过w e b 服务的形式发布在i n t e m e t 上,当企业需 要与外部进行协作时,就会查找这些第三方提供的服务,与自己的业务流程进行 整合,完成特定的业务功能u d d ! ( 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 d i n t e g r a t i o n ) 的出现使得企业用户查找服务更加便捷高效,但是由于其不能向用 户提供服务的任何非功能性评价信息来比较用户查询获得的大量检索结果而使 得w e b 服务的实际应用程度受到了很大的影响,所以我们需要引入服务质量q o s 作为区分这些相同功能服务的非功能性评价信息。为实现u d d i 对q o s 的支持, 需要对其进行扩展,目前有不少研究机构从事相关的研究,也取得了一定的研究 成果”1 2 h 3 j 作为企业,需要将查找到的满足功能需求的w e b 服务进行筛选,选 择最优的第三方服务 在基于w e b 服务的企业应用集成框架中,有特定领域专家为实现具体业务 而设定的业务流程,如何在功能相同的第三方服务集合中动态选取最优服务与现 有的流程相结合,产生最优的业务流程,是我们所要实现的目标。 目前,在国内外依据服务质量( q o s ) 进行服务优化选择的方法已经成为一 个研究较多的问题。c a r d o s o 4 对工作流的服务质量提出了计算模型,采用精确定 义的矩阵集合函数作描述。每一个矩阵的意义是精确给定的,模型采用随机数来 表示运行时刻转移的可能性,如果需要的话,它可在最初由设计者设置,并根据 存储在工作流系统日志的上一次执行数据作中期性调整;z e n g 等人阁的工作主要 集中在当满足全局和局部质量约束时,对工作流的服务实现进行动态及质量驱动 的选择。同时,它提出一个全局规划方法,采用线性规划技术,达到全面的服务 质量最优化;还有不少相关的研究,可参看参考文献1 6 1 7 1 嘲。 国内也有不少人从事相关问题的研究,例如:刘书雷【9 】等人提出的一种服务 聚合中的q o s 全局最优服务动态选择算法,他将服务动态选择全局最优化问题 转化为一个带q o s 约束的多目标服务组和优化问题,利用多目标遗传算法的智 能优化原理,最终产生一组满足约束条件的服务聚合流程集。虽然他的研究主要 目的是产生优化的服务组合,但此种选优方法也是值得借鉴的;吴建等人【1 0 1 给出 了服务质量的模型和其中的几个重要指标的定量描述,并在此基础上给出了模糊 排序算法以及刘晓光等人【l l 】在模糊层次分析法的基础上,提出的基于非功能性条 件约束的服务选择方法,都实现了对服务的动态选优 虽然w e b 服务已经经历了几年的快速发展,其基本规范( s o a p 、w s d l 和 u d d i ) 已经基本成熟且已标准化,并拥有市场上众多开发工具的支持但是w e b 服务在事务、安全以及q o s 等领域的支持仍然很不完善,因此实际应用效率非 常低所以,这成为w e b 服务目前和今后研究发展的重点 本文就是要根据服务质量q o s 对第三方服务质量集合进行最优的选取,在 全局上达到企业业务流程的最优化。 1 - 2论文研究内容和主要工作 论文在研究了w e b 服务的相关技术以及相关规范的基础上,以企业为实际 应用背景,设计了一种扩展了的w e b 服务企业应用集成框架它将企业在执行 具体业务流程时,需要调用第三方服务的情况考虑进去,采用了w e b 服务动态选 取器,对满足功能需求的服务进行基于q o s 动态选优,并与特定的业务流程相 整合,实现了整体业务流程的最优化。 论文工作主要包括以下几个方面: 1 )为了实现企业对第三方服务的动态选优,设计了一个企业应用集成扩展 框架( 简称e e a j ) ,并对其体系结构、功能及其工作原理作了详细的描述; 2 ) 采用了支持q o s 的w 曲服务优化选择方法,规划了q o s 模型,并提出了 q o s 计算模型和优化选择算法,使w 曲服务选优更加精确: 3 )通过扩展u d d i 和w s d l 规范,实现在企业应用集成中对第三方服务的选 优,并给出y q o s 管理框架及其实现原型; 4 )将企业已有的业务流程和第三方动态选优的结果相结合,应用开源的引 擎,实现了业务流程的半自动化。 1 3论文的组织结构 第一章概述了论文的研究背景和主要研究内容以及相关工作 第二章介绍了在企业框架内实现动态选优的相关技术。包括涉及到的技术 和其中一些比较重要的规范 第三章提出了e e a i 框架,对其体系结构、功能及其工作原理作了详细的 描述;并将实现服务选优功能的w e b 服务动态选取器作了专门的说明,最后阐 述该框架的特点。 第四章对w e b 服务优化选择方法的实现其中包括对实现服务精确选取的 q o s 计算模型和优化选择算法的具体描述;并对u d d i 和w s d l 规范进行扩展, 给出了q o s 管理框架及其实现原型,使其支持在企业应用集成中对第三方服务 的选优。 第五章给出了在e e a i 框架内具体业务流程执行的实例,重点讲述了业务 过程中动态选优的实现,并对此选优方式做出了评价。 第六章总结论文工作,提出进一步的研究方向。 第2 章研究基础 本章介绍了w e b 服务技术及业务流程描述语言b p e l 等,它们是实现服务 选优的扩展集成框架的技术基础。同时,对规范w s d l 和u d d i 作了详尽的描 述,为在以下章节中动态选优机制的研究作了理论上的铺垫。 2 1w e b 服务体系结构和主要技术 2 1 1w 曲服务概述 目前对于w e bs e r v i c e s 1 习并没有一个严格的定义,一般认为1 3 1 ,它是一种新 型的应用程序,它向外界提供一个能够通过w e b 方式进行调用的a p i 。可以透 过w e b 发布、查找和调用w e bs e r v i c e s 实现的功能可以是响应一个简单的请求, 也可以是完成一个复杂的商务流程。一个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 l l i t e c t u r e ,简称s o a ) i t 4 ,如图2 1 所示 图2 1w e bs e n , k e s 面向服务体系结构 图2 1 给出的模型主要包含三方面的内容:角色、操作和组件。w e b 服务体 系结构”1 基于三种角色( 服务提供者、服务注册中心和服务请求者) 之间的交互, 而交互涉及发布、查找和绑定三种操作这些角色和操作一起作用于w e b 服务 组件( w e b 服务软件模块及服务描述) 在s o a 的三种操作中,发布操作使用 w s d l 和u d d i 技术,查找操作使用s o a p 和u d d i 技术,两绑定操作使用s o a p 和w s d l 技术 4 服务提供者持有一个提供网络访问功能的服务软件模块( 即w e b 服务的一个 实现) ,为服务软件模块定义服务描述,并且把服务描述发布到服务注册中心 服务请求者使用查找操作来从本地或服务注册中心检索服务描述,然后使用服务 描述与服务提供者进行绑定并调用w e b 服务实现或同它交互。 2 1 2w e b 服务相关技术介绍 w e b 服务是完全基于x m l p 6 的技术,服务提供者和服务请求者均使用x m l 传递消息和数据流。当然,w e b 服务还需要标准的格式和协议用以对x m l 进行 合理的解释。这些标准的格式和协议就是基于x m l 的三大关键技术:s o a p 【m 、 w s d l ”1 和u d d i 1 9 1 服务提供者向服务请求者提供服务前,先使用w s d l 描 述其服务,并在u d d i 注册中心注册。u d d i 注册中心保存着指向w s d l 描述和 指向服务的指针。一旦服务请求者需要使用服务,则先查询u d d i 注册中一i l , 找到 相应的服务并获取相应的w s d l 描述和指向服务的指针服务使用者使用所得 到的w s d l 描述构造一条s o a p 消息,服务使用者与w e b 服务之问可以使用此 消息通信。 下面分别探讨w e b 服务的这几个关键技术。 w e b 服务的基础x , 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 的简称它是一 种简单、与平台无关并被广泛采用的标准,为标记数据提供了一种统一的、可扩 展的、描述性的结构通过使用x m l ,用户可以自定义标注来表示自己想要表 示的内容及其结构。它可以反映出文档的内容和逻辑结构等方面的信息一个格 式正规的x m l 文档通常由以下三个部分组成【2 0 】: 1 )文件声明,它定义了x m l 文件的版本以及其他的一些属性; 2 )根标记,由于x m l 文件是一种树状结构的文档,根标记就是这种树状 结构的根节点: 3 ) 子元素,是包含在根节点中的一些元素说明。 w e b 服务需要跨平台,而x m l 则可以使不同平台0 不同语言的程序之间更 容易进行沟通。无论w e b 服务使用的是s o a p 、w s d l 还是u d d i ,都离不开x m l : s o a p 使用x m l 封装消息,w s d l 使用x m l 描述服务接口,u d d i 数据元素及 操作接口信息的描述也是基于x m l 的。 w e b 服务的消息传输方式s q a p s o a p ,即简单对象访协议,是s i m p l eo b j e c t a c c e s sp r o t o c o l 的简称1 2 1 j 【2 2 j 是在分散或分布式的环境中交换信息的简单的协议,它属于一种以x m l 为基础 的通讯协议,其发送的数据就是x m l 元素的数据。s o a p 协议规范描述了有关 s o a p 的线上协议和如何处理消息的信息、对象是如何通过值在w e b 服务间被传 递的,并涉及到性能和安全性问题。s o a p 本身并不定义任何应用语义,如编程 模型或特定语义实现,它只是定义了一种简单的机制,通过一个模块化的包装模 型和对模块中特定格式编码的数据的重编码机制来表示应用语义。s o a p 的这项 能力使得它可被很多类型的系统用于从消息系统到r p c ( g e m o t ep r o c e d u r ec a l l ) 1 2 3 1 的延伸。 s o a p 完全继承了x m l 的开放性和描述可扩展性。它使用t c p i p 的应用层 协议h t t p 、s m t p 、f t p 等,可以与现有通信技术最大程度地兼容。s o a p 定 义了服务请求者和服务提供者之间的消息协议,实现了w e b 服务之间的消息交 换,使得服务请求者能以面向对象的方式执行服务提供者的远端方法。 w e b 服务的描述方式w s d l 一个w e b 服务发布和提供和查找,都需要有描述它们的通用语言的支持; w s d l 就是基于此目的设计出来的,它给服务的接口和实现提供了一个抽象层。 w s d l , e 0w e b 服务描述语言,是w 曲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 的简称 它通过定义一个标准的x m l 语法来描述w e b 服务的细节,进而描述w e b 服务 的行为w s d l 文档将w e b s e r v i c e s 定义为服务访问点或端口的集合,客户可以 通过这些端口对服务进行访问。w s d l 首先对访问的操作和访问时使用的请求 响应消息进行抽象描述,然后将其绑定到具体的传输协议和消息格式上以便最终 定义具体部署的服务访问点,而相关的具体部署的端口通过组合就成为抽象的 w e b 服务。 w s d l 文档,本质上就是一个x m l 文档,用于说明一组s o a p 消息以及如 何交换这些消息。它在w e bs e r v i c e s 的定义中使用以下七个主要元素【1 司: 1 )类型( t y p e s ) :数据类型定义的容器,它包含了所有在消息定义中需要 6 的x m l 元素的类型定义。 2 )消息( m e s s a g e ) :通信消息的数据结构的抽象类型化定义使用t y p e s 所定义的类型来定义整个消息的数据结构。m e s s a g e 元素包含了一组p a r t 元素, 每个p a r t 元素都是最终消息的一个组成部分,每个p a r t 都会引用一个d a t a t y p e 来表示它的结构。 3 )操作( o p e r a t i o n ) :对服务支持的动作的抽象描述。 4 )端口类型( p o r tt y p e ) :对于某个访问入口点类型所支持的操作的抽象 集合,这些操作可以由一个或多个服务访问点来支持。 5 )绑定( b i n d i n g ) :特定端口类型的具体协议和数据格式规范的绑定 6 )端口( p o r t ) :定义为协议数据格式绑定与具体w c b 访问地址组合的单 个服务访问点包括通过哪个w 曲地址c o r l ) 来访问,应当使用怎样的消息调用 模式来访闯等等。 7 )服务( s e r v i c e ) :相关服务访问点的集合。它描述了一个具体的被部署 的w e bs e r v i c e s 所提供的所有访问入口的部署细节一个s e r v i c e 往往会包含多个 服务访问入口,而每个访问入口都会使用一个p o r t 元素来描述。 一个w s d l 文档由服务接口定义和服务实现定义两部分组成。服务接口是 w e bs e r v i c e s 的抽象定义,可以被服务实现实例化和引用,它允许定义公共的行 业标准服务类型并被多个服务实现者实现。而服务实现描述了如何由给定的服务 提供者来实现一个特定的服务接口服务接口文档由服务接口提供者开发和发 布,服务实现文档由服务提供者创建和发布服务接口提供者与服务提供者这两 个角色在逻辑上是分离的,但它们可以是同一个商业实体。 w e b 服务的发布、发现方式l j d d i u d d i ,即通用描述、发现与集成,是u n i v e r s a ld e s c r i p t i o nd i s c o v e r ya n d i n t e g r a t i o n 的简称它是分布式w e bs e r v i c e s 注册信息的规范,是用来实现如何 发布、检索以及查询一个w e b 服务的它设有一个独立的服务器,允许服务提 供者在上面注册并发布w e b 服务,同时也允许服务使用者在其中进行查询以寻 找所需的w e b 服务 u d d i 描述了w e b 服务的概念,提供了发布和查找服务描述的方法,也定义 了应用程序编程接口( a p d l 2 4 l 【2 习。通过u d d i 提供的标准接口,用户可以发布自 7 己的服务供其他实体调用,也以查询特定服务的描述信息,并动态地绑定到该服 务上。u d d i 的核心组件是u d d i 注册中心,它使用一个x m l 文档来描述企业 及其提供的w e b 服务信息。 u d d i 注册中心所提供的信息包含以下三部分【2 6 】: 1 )白页( w h i t ep a g e ) ,它包含有关企业自身的信息,包括企业的名称、详 细的联系人信息和企业地址,按照名称将企业组织起来,我们能够通过 元素来使用自页中的信息。 2 )黄页( y e l l o wp a g e ) ,它提供了基于标准分类的业务分组。分类是通过对 企业采用一个或多个分类法完成的。例如,一个服务可以分别属于不同的类别 黄页信息业与 :元素相关,按照类别将企业组织起来。 3 )绿页( g r e e np a g e ) ,包含有关企业所提供的服务的技术信息该信息包 括使用该服务所需所有技术信息。可以在绿页中找到服务的位置、该服务所属的 类别以及服务的详细说明之类的信息。我们能够借助 和 面d i n 酊钿p l a t e 元素来使用绿页信息。 u d d i 注册使用的核心信息模型由x m ls c h e m a 定义u d d ix m ls c h e m a 定义了五种主要的信息类型1 2 7 1 来指定注册中心中的条目,它们是:业务实体信息 ( b u s i n e s s e n t i t y ) 、服务信息( b u s i n e s s s e r v i c e ) 、绑定信息( b i n d i n g t e m p l a t e ) 、 有关服务规范的信息( t m o d e l ) 和关联关系断言( p u b l i s h a s s c r t i o n ) 。 图2 2u d d i 信息模型 1 )业务实体信息 :支持对一个业务信息的发布和发现的核 心) 泓l 包含在b u s i n e s s e n t i t y 结构中。该结构作为顶层的信息管理者,提供有关 一个业务单位特定的一组信息。整个b u s i n e s s e n t i t y 信息包括对“黄页分类”的 信息支持,从而搜索能够由此定位一个特定业务或者提供特定产品的部门,或者 定位于某个特定的地理范围内部门w e b 服务的技术和业务描述( “绿页”数据) 就位于b u s i n e s s e n t i t y 元素内部,它包含b u s i n e s s s e r v i c e 和b i n d i n g t e m p l a t e 服务信息 :每个b u s i n e s s e n t i t y 结构包含一个或多个 b u s i n e s s s e r v i c e 结构。b u s i n e s s s e r v i c e 是一个描述容器,它包含了和一个业务过 程或者服务分类相关的一组w e bs e r v i c e 。在每个b u s i n e s s s e r v i e e 内部,还有一 个或者多个技术性的w e bs e r v i c e 描述。这些包含了一个应用程序用来和一个远 程的w e bs e r v i c e 进行连接和交互所需的信息该信息包括了w e bs e r v i c e 地址, 用于描述主机服务的可选信息,调用一个服务时所需的一些其他的值。 3 )绑定信息 :b i n d i n g t e m p l a t e 结构包含一个服务的技术 性描述每个b i n d i n g t e m p l a t e 只属于单个b u s i n e s s s e r v i e e 元素 4 )服务调用规范 的说明信息:u d d i 的关键元素之一t m o d e l 描 述服务所遵循的规范、行为、概念甚至是共享的设计。它提供有关如何与该服务 交互的具体信息( 包括服务名称、发布服务的组织以及指向这些规范本身的u r l 指针等) 。t _ m o d e l 结构的内容由键、名称、可选的描述和u r l 元素组成在大多 数情况下,u r l 指向可以找到更多有关该特定t m o d e l 信息的位置。本身提供一 种引用机制,它包括服务名称、发布服务的组织以及指向有关技术规范的u r l 指针( u d d i 定义了一个利用u r l 和w e b 服务的框架,使每个企业能够集中地维 护自己的调用规范) 技术规范包括信息格式、响应机制、传输协议、安全机制 等这个引用信息可被看作是提供这项服务的公司的承诺,承诺他们已经实现了 一个与所引用的t m o d e l 相兼容的服务这个引用信息被嵌入到相应的 b i n d i n g t e m p l a t e 中,从而支持第三方系统利用这些调用规范来了解技术要求和配 置系统。 5 )关联关系断言 :p u b l i s h e r a s s e r t i o n 结构包含有关双方 之间由一方或者双方断言的关系许多企业( 如大公司或商场) 不能用单个 b u s i n e s s e n t i t y 来有效地表示。p u b l i s h e r a s s e r t i o n 可用来表示企业之间的关系 p u b l i s h e r a s s e r t i o n 结构的内容包含第一家企业的键( 丘d m k e y ) ,第;家企业的键 二 ( t o k e y ) 和引用( k c y e d r e f e r e n c e ) ,该引用按照t m o d e l 中的k e y n a m e , k e y v a h e 对指 定断言的关系。 9 u d d i 自身也提供了描述w e b 服务大多数信息的能力,但它的描述功能不如 w s d l 强大。所以,通常是利用w s d l 来描述w e b 服务。w s d l 服务描述可以 注册到u d d i 中 2 1 3w e b 服务与业务流程编排 w e b 服务是独立的模块化的业务流程应用程序,它使用户能够以平台独立 和语言独立的方式连接不同的组件,在连接时甚至可以跨越组织边界。 业务流程指定了一组w e b 服务的操作的可能执行顺序、这些w e b 服务 间共享的数据、业务流程涉及哪些伙伴以及这些伙伴在业务流程中扮演什么角 色,一组w e b 服务的共同异常处理以及关于多个服务和组织是怎样参与的其 他问题。特别是它允许指定w e b 服务间长期运行的事务,提高w e b 服务应用 程序的一致性和可靠性。打破w e b 服务的不透明性就是要指定一些约束,这 些约束将限制怎样使用一组w e b 服务的操作和它们共同的行为,这和指定业 务流程也很相似。 而上述那些核心w e b 服务规范( s o a p 、w s d l 、u d d i 等) 的初衷都不 是提供自己的机制来描述如何将各个独立的w e b 服务连接起来以创建具有一 定复杂程度的可靠的企业解决方案所以就需要一种语言将这些w e b 服务动态 组合起来,以形成完成特定功能的业务流程。 w e b 服务业务流程执行语言( b u s i n e s sp r o g o s se x e c u t i o nl a n g u a g ef o rw e b s e r v i c e s ,简称b p e l 4 w s 或b p e l ) 是一种基于x m l 的工作流定义语言, 它使企业能够描述既能使用又能提供w e b 服务的复杂的业务流程 2 2 业务流程执行语言及相关概念 2 2 1b p e l 定义 业务流程执行语言( b u s i n e s sp r o c e s se x e c u t i o nl a n g u a g ef o rw 曲s e r v i c e s , 简称b p e l 4 w s 或b p e l 2 8 】) ,是一种基于x m l 和w e b ”服务构建;窿使用 一种基于w e b 的语言,该语言支持w e b 服务技术系列,包括s o a p 、w s d l 、 u d d i 、w e b 服务可靠性消息、w e b 服务寻址、w e b 服务协调以及w e b 服务 事务。 b p e l 代表了两种早期工作流语言w e b 服务流语言( w s f l ) 2 9 1 和 x l a n g 3 0 l 的交汇。w s f l 由m m 基于有向图概念设计x l a n g 是一种由 m i c r o s o f t 设计的块结构化语言b p e l 组合了这两种方法,并提供了丰富的词 汇来描述业务流程。 用b p e l 的基本概念方式有两种。通过使用抽象流程概念,用b p e l 流程定 义业务协议角色。抽象流程使用所有的b p e l 概念但它对待数据处理的方式反 映了描述业务协议公共部分所需的抽象程度。具体地说,抽象流程仅处理有关协 议的数据 b p e l 也可被用来定义可执行业务流程。流程的逻辑和状态决定了在每个业 务伙伴那里进行的w e b 服务交互的性质和顺序,从而决定了交互协议。虽然从 私有实现的角度来看并不需要完整地定义b p e l 流程,但是b p e l 为仅依赖于 w 曲服务资源和x m l 数据的业务流程有效地定义了可移植的执行格式。此外, 这种流程的执行以及与它们的伙伴交互的方式是一致的,与托管环境的实现所用 的支持平台或编程模型无关 b p e l 是基于w s d l1 1 、x m ls c h e m a1 0 和x p a t h l 0 等x m l 规范之上 的,提供了一套x m l 语法来对业务流程交互中的w e b 服务行为及控制逻辑进行 描述,可以将孤立的、无状态的w e b 服务进行整合,从而发挥w e b 服务技术作 为应用集成平台的全部潜力w s d l 消息和x m ls c h e m a 类型定义提供了 b p e l 流程所用的数据模型。x p a t h 为数据处理提供支持。所有的外部资源和伙 伴被表示成w s d l 服务b p e l 所提供的可扩展性能支持这些标准的未来版 本,即用于煳l 计算的) a t h 和相关标准。 2 2 2b p e l 关键概念定义和实现 本节主要介绍一些b p e l 中用到的关键概念及其格式。为了不引起混淆, b p e l ,中有意将一些术语跟其他w e b 服务相关技术的术语采用不同的用诃;这样 有助于将b p e l 的概念表达清楚。 p a r t n e r l i n k t y p e p a r l n e r l i n k t y p e 定义的是若干个w e b 服务之间的交互,对应的x m l 格 式如下: p a r t n e rl i n k 一次业务流程中,所有交互到的服务通过p a r m e r l i n k 建模。其格式如下: 吲如r n m 吣 每一个p a r t n e r l i n k 都有n a m e 、p a r t n e r l i n k t y p e 和r o l e 属性,而r o l e 属性可 以是m y r o l c 或者p a r t n e r r o l e ,分别代表相关的p a r t n e r l i n k 是流程本身还是参与 到其他服务。 p a r t n e r b p e l 中间定义了 元素,作用就是将同一个p a r t n e r 相关的 p a r t n e r l i n k 放在一起说明。其格式如下: 1 2 p a r t n e rn a n l e = “n c n a i n c 。 终端引用 b p e l 在实际执行时需要将具体的服务匹配给对应的p a r t n e r l i n k ,这被称为 “终端引用”( e n d p o i n tr e f e r e n c e ) 。终端引用的过程,可以在部署该流程的时候 进行,也可以在实际运行的时候根据情况动态地指定。 基本和结构化行为 行为( a c t i v i t y ) 代表了过程操作元素。b p e l 支持两类行为:基本行为和结 构化行为。基本行为是与外界进行交互最简单的形式,负责实现一定的原子功能, 行为不会嵌套其他行为,包括r e c e i v e r e p l y ,i n v o k e a s s i g n t h r o w t e r m i n a t e w a i t e m p t y l i n k :而结构化行为是将业务流程执行的基本活动整合到结构中,这些结 构表达了业务协议中所涉及的控制逻辑、数据流、故障和外部事件的处理等,包 括s e q u e n c e s w i t c h w h i l e p i c k f l o w s c o p e c o m p e n s a t e 等元素 标准属性和标准子元素 每个行为都有三个可选的属性可以指定,它们是: 1 )n a m e _ 行为名,避免跟其他同种行为混淆: 2 )j o i n c o n d i t i o n - - - - 说明行为在什么样的信息达到条件下可以被激活其 值为一个布尔值。 3 ) s u p p r e s s d o i n f a i l l l 持在激活该行为失败时是否报错。默认设置是“n o ” 每个行为有两类可选的子元素:u r c c 和t a r g e t 。s o u r c e 子元素指的是从该行 为有哪些l i n k 元素被发出,t a r g e t 是指该行为被哪些l i n k 所指向。一个行为内允 许有多个s o u r c e 和多个t a r g e t 元素。这两个子元素可以用s t a n d a r d e l e m e n t s 代替。 表达式 b p e l 定义了流程相关的数据处理机制,分为三个部分:状态变量、表达式、 赋值b p e l 支持四种表达式: 1 ) 布尔表达式; 2 )持续时间表达式; 3 ) 截止时间表达式; 4 )普通表达式,可以归结为x m ls c h e m a 中所定义的s t r i n g 、n u m b e r 和 b o o l e a n 格式 b p e l 同时支持一些操作符,如简单的算术运算和比较运算、布尔运算以及 对x m l 格式的操作符。 变量 b p e l 支持的变量类型包括三种: i ) 由w s d l 文件所定义的消息类型( m e s s a g et y p e ) ; 2 )由x m l s c h e m a 所定义的简单类型( s i m p l et y p e ) ; 3 )由x m ls c h e m a 所定义的元素( e l e m e n t ) 赋值 赋值操作只能在髂s i 印行为中进行。在a s s i g n 格式中,读取部分为f r o m - s p e c , 赋值部分为t o - s p e c 两者必须为以下格式之一; f r o m - s p : 1 i t e r a lv a l u e t o - q z e : 、 相关性 b p e l 利用了消息内部的属性来区别属于不同流程实例的消息,并采用 c o r r e l a t i o n 元素和c o r r e l a t i o n s e t 元素进行描述。用于指定是否在接受到新属性值 的消息时需要创建新的流程的实例:或者用于指定在该关联关系内这个行为是属 于发送消息的还是接受消息的还是两者皆有的。 作用域 1 4 作用域( s c o p e ) 是用来表示流程中的一个区域。如前所述,某个作用域内的变 量只在该作用域内有效,但b p e l 还扩展了作用域的功能。具体体现在如下几个 方面: 1 ) 错误处理( f a u l t h a n d l e r ) :当一个行为出错的时候,会抛出一个错误消息 该消息首先会被自身的错误处理器( 如果有的话) 所处理 2 ) 事件处理( e v e n t h a n d l e r ) :b p e l 中定义了两类事件:一类是“消息事件”, 即从外部传来的消息;另一类是由于达到了用户定义的时间点而发出的警告事 件处理机制从作用域的一开始就激活,一直等待事件的到来而执行内部行为,也 会随着作用域的结束而结束 3 ) 补偿处理( c o m p e n s a t i o nh a n d l e r ) :补偿处理是为了将流程的状态回滚, 回到跟进入作用域前一样所需要做的就是将该作用域内已执行部分采用其他行 为进行撤销,通常是调用一个效果相反的服务。 2 2 3b p e l 工作引擎 m mj 址t h a w o m 圆首先推出了支持b p e l 的工作引擎- b f w s 4 j ( b u s i n e s sp r o o e 嚣龉i nw e bs e r v i c e sf o rj a v a ) b f w s 4 j 主要包括两大部分 b p w s 4 j e d i t o r , b p w s 4 j e n g i n e 前者主要用于实现对b p e l 流程的定义( 它可以 与m m 提供的e c l i p 辩平台结合使用,实现可视化的业务流程定义) ;后者主要提 供对业务流程执行的支持b p w s 4 j 软件包于2 0 0 2 年8 月在a i p h a w o r k s 上发 行,它提供了一个用于创建流的工作流编辑工具以及一个运行时引擎。完整的、 可部署的b p w s 4 j 运行时单元由

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论