(计算机软件与理论专业论文)业务流程装配平台的设计与实现.pdf_第1页
(计算机软件与理论专业论文)业务流程装配平台的设计与实现.pdf_第2页
(计算机软件与理论专业论文)业务流程装配平台的设计与实现.pdf_第3页
(计算机软件与理论专业论文)业务流程装配平台的设计与实现.pdf_第4页
(计算机软件与理论专业论文)业务流程装配平台的设计与实现.pdf_第5页
已阅读5页,还剩80页未读 继续免费阅读

(计算机软件与理论专业论文)业务流程装配平台的设计与实现.pdf.pdf 免费下载

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

文档简介

摘要 随着社会的发展,越来越多的企业和政府部门都在寻求跨部门和 跨企业的合作。但由于各企业和部门之间应用系统存在着异构性,造 成的数据孤岛现象,部门间数据无法有效整合并及时传输,给决策部 门带来重大影响。企业和政府部门一方面需要降低成本,另方面也 要对灵活多变的市场做出敏捷的且正确的反应,那么就必须要最大程 度的利用自己的和其他已有的应用系统,并且需要尽量缩短系统开发 的周期。w e bs e r v i c e s 技术从根本上解决了部门之间及部门内部异构 系统之间的互操作和互通信的问题,但是仅仅有w e bs e r v i c e s 技术是 不够的,要缩短软件开发周期,实时对变化的需求做出及时的反应, 还必须要业务流程装配平台的支持。 本文在w e bs e r v i c e s 技术的基础上研究了业务流程装配机制,并 在该机制的基础上设计并实现了业务流程装配平台w e b j e t 。本文的主 要工作包括以下几个方面: 1 ) 提出了业务流程的装配机制和业务流程装配平台的设计,阐 述了w e bs e r v i c e s 协议栈中s o a p 、u d d i 、b p e l 4 w s 协议在w e b j e t 中的组织结构及实现; 2 ) 建立了服务q o s 的认证机制和非功能属性存储结构,通过格 式化的文件对服务的非功能属性值进行存储,并通过q o s 认证中心对 服务的q o s 进行检测和认证; 3 ) 对执行引擎的设计与具体实现,实现了b p e l 4 w s 规范,并实 现了比较复杂的死路删除机制; 4 、) 对服务代理的设计与实现,使用服务代理对具体服务进行动 态选择和调用:应用多目标决策方法( m u l t i o b j e c t i v ed e c i s i o n m a k i n g ) 计算服务q o s 综合评分值,使系统对哪个具体服务进行调 用的决定延迟到调用时刻。 关键字:w e bs e r v i c e s ,业务流程装配,服务质量,b p e l 4 w s 执行引擎、 服务代理 a b s t r a c t a st h ed e v e l o p m e n to fs o c i e t y , m o r ea n dm o r ee n t e r p r i s e sa n d g o v e r m n e n td e p a r t m e n t a r e s e e k i n gt r a n s d e p a r t m e n t a l l y a n dt r a n s - - e n t e r p r i s ec o o p e r a t i o n h o w e v e r , s i n c et h ed i f f e r e n tc o n s t r u c t i n go ft h e - a p p l i c a t i o ns y s t e me x i s t s ,d a t a si n t e g r a t i o na n dt r a n s m i s s i o nc a n t b e p r o c e s s e de f f i c i e n t l ya n db e t i m e s ,s o i t b r i n g sb i gi n f l u e n c et o t h e d e c i s i o n m a k i n gd e p a r t m e n t t h ee n t e r p r i s e s a n dt h e g o v e r n m e n t d e p a r t m e n t s ,o no n es i d e ,w a n tt or e d u c et h ec o s t ,a n do nt h eo t h e rs i d e , m u s tp u tf o r w a r dr i g h tr e a c t i o nq u i c k l yf o rt h ef l e x i b l em a r k e t ,s h o u l d u s et h el e g a c y s y s t e m sh e a v i l y ,a n dt r y h a r dt os h o r t e nd e v e l o p m e n t c y c l e t h et e c h n o l o g yo fw e b s e r v i c e sc a i ls o l v ep r o b l e mo fi n t e r a c t i o n a n di n t e r c o m m u n i c a t i o ni na n db e t w e e nd e p a r t m e n t st h a tc a u s e db yt h e d i f f e r e n tc o n s t r u c t i n ga p p l i c a t i o ns y s t e m b u tt h a ti sn o te n o u g h ,a b u s i n e s sp r o c e s sa s s e m b l e sp l a t f o r mi sn e c e s s a r yt os h o r t e nt h ec y c l eo f l 。 d e v e l o p m e n ta n d d e a lw i t ht h ev a r i a b l er e q u e s t s i nt h i sp a p e r , w er e s e a r c ht h em e c h a n i s mo f b u s i n e s sp r o c e s s a s s e m b l e so nt h eb a s i so ft h ew e bs e r v i c e s ,a n dh a v ed e s i g n e da n d r e a l i z e do nt h eb a s i so ft h i sm e c h a n i s mt h eb u s i n e s sp r o c e s sa s s e m b l y p l a t f o r m - - w e b j e t t h em a i nw o r ki nt h ep a p e ra r ea sf o l l o w : p u tf o r w a r dt h em e c h a n i s mo fb u s i n e s sp r o c e s sa s s e m b l a g ea n d t h ed e s i g no ft h eb u s i n e s sp r o c e s sa s s e m b l yp l a t f o r m ,a n de x p o s i th o w t h ep r o t o c o l si nt h ew e bs e r v i c e s ,s u c ha su d d i ,s o a p , b p e l 4 w s ,b e c o n s t r u c t e di nw - e b j e t 2 ) e s t a b l i s h e dt h em e c h a n i s mo fw e bs e r v i c e sq o s sa u t h e n t i c a t i o n a n dt h es a v i n gc o n s t r u c t i o no ft h en o n f u n c t i o n a lp r o p e r t i e so fw e b s e r v i c e i nw e b j e t ,w eu s ef o r m a t t e df i l et os a v et h en o n - f u n c t i o n a l i i i p r o p e r t i e s ,a n dt h r o u g ht h eq o sa u t h e n t i c a t i o nc e n t r et od e t e c ta n dc a r r y o na u t h e n t i c a t i o nt ot h eq o so ft h ew e bs e r v i c e 3 ) d e s i g n e da n dr e a l i z e dt h ee x e c u t i n ge n g i n ef o rb p e l 4 w s , s p e c i a l l yr e a l i z e dt h em e c h a n i s mo ft h e “d e a d p a t h - e l i m i n a t i o n w h i c hi s c o m p l i c a t ei nb p e l 4 w s 4 ) d e s i g n e da n dr e a l i z e dt h e w e bs e r v i c ea g e n t w h i c hc a nb e u s e dt oc h o o s ea n di n v o k et h ew e bs e r v i c ed y n a m i c a l l y i nt h e w e b s e r v i c e a g e n t ”,w er a n kt h es y n t h e t i c a l l yg r a d i n gv a l u ew h i c hi s c a l c u l a t e db yt h em e t h o do f m u l t i - o b je c t i v ed e c i s i o nm a k i n g ,a n d c h o o s et h ew e bse r v i c ew i t hh i g h e s ts c o r et oi n v o k e ,s ot h a tt h ed e c i s i o n a b o u ti n v o k i n gw h i c hc o n c r e t es e r v ei s d e l a y e d t ot h em o m e n to f i n v o k i n g k e y w o r d :w e bs e r v i c e s 、b u s i n e s sp r o c e s sa s s e m b l e s 、q u a l i t yo f 气 se r v i c e ( q o s ) 、e x e c u t i n ge n g i n ef o rb p e l 4 w s 、w e bs e r v i c e a g e n t i v 矗 j 让 业务流程装配平台的设计与实现 1 1 课题背景 第一章绪论弟一早瑁t 匕 随着社会的发展,越来越多的企业和政府部门都在寻求跨部门和 跨企业的合作。但由于各企业和部门之间应用系统存在着的异构性, 很多企业和政府部门在自己的信息系统开发过程中采用“独立解决的 方案”,开发者和企业逻辑相结合,在特定的数据表达格式,进行特 定应用的软件系统开发,很少考虑应用的可集成性、可重用性、可定 制性和可移植性,造成了数据孤岛现象,使部门间数据无法有效整合 并及时传输,给决策部门带来重大影响。而且即使是在部门的内部, 这种异构性也是存在的,企业中的各个子系统,如办公自动化系统、 e r p 系统、c r m 系统等也都存在着异构性。而对上述问题的解决,现 在很多企业和政府部门都选择了在原有的子系统上做二次开发,有时 甚至是重新开发,这样在人力和物力上都造成了巨大的浪费,而且这 样集成的应用系统的扩展性和健壮性都比较弱。企业和政府部门一方 面需要降低成本,另一方面也要对灵活多变的市场做出敏捷的且正确 的反应,那么就必须要最大程度的利用自己的和其他已有的应用系 统,并且需要尽量缩短系统开发的周期,这就迫使部门之间必须进行 联合,采用统一的标准,按需求动态的把各个部门中已有的应用系统 组合起来形成一个新的应用系统。w e bs e r v i c e s 技术从根本上解决 了部门之间及部门内部异构系统之间的互操作和互通信的问题,但是 仅仅有w e bs e r v ic e s 技术是不够的,要缩短软件开发周期,实时对 变化的需求做出及时的反应,还需要软件装配平台的支持。w e b j e t 是一个业务流程装配平台,该平台将企业和政府部门已有的业务系统 以接口的形式对外提供,而且提供了类似于黄页的注册中心,让用户 发布自己的业务系统和查找已有的和潜在的合作伙伴;该平台还帮助 硕士学位论文 企业和政府部门快速的查找到自己需要的应用系统,并根据需要直接 将找到的业务系统组成一个具有新功能的业务系统,并且平台保证了 新的业务系统使用时的稳定行。w e b j e t 抹平了各企业和各政府部门 中业务系统的差异性,解决跨企业跨部门之间的信息共享问题,使企 业和政府部门及时掌握最新动态,并帮助企业和政府部门针对最新动 态及时做出决策,改变其业务流程以适应在当前环境下。 1 2 研究现状 目前,国外一些大公司,如i b m 、b e a 、m i c r o s o f t 等正在做这 方面的产品,如i b m 的w e b s p h e r e n l ,m i c r o s o f t 的b i z t a l k 乜1 、b e a 提出并由a p a c h e 进行实施的蜂巢计划 b 3 ,都是在向业务流程装 配方面发展,并取的了一定的成果。w e b s p h e r e 和b i z t a l k 已经产品 化。蜂巢计划,是2 0 0 4 刚刚提出的,为基于j 2 e e 和s o a 的应用程序 提供第一个跨容器的、易于使用的编程模型和应用框架。它基于b e a w o r k s h o p 应用框架,但不包括集成开发环境,必须依靠其他的集成开 发环境进行开发。上述的这些软件与业务流程的动态装配还有一些差 距,对软件的装配过程基本上是通过手工编写代码来完成。 国外知名度较高的业务流程装配研究项目主要包括h p 实验室的 e f l o w n 5 1 、斯坦福大学的s w o r d 1 、澳大利亚新南威尔士大学与昆斯 兰科技大学联合研制的s e l f s e r v n 8 1 、美国乔治亚大学的m e t e o r - s 凹3 以及i b m 印度实验室的s y m p h o n y n 0 1 1 1 。 国内对于服务组合的研究与国际基本同时起步,目前从事该领域 研究的主要单位包括北京航空航天大学、国防科大、中科院软件所等 单位,其中北京航空航天大学研制的w e b s a s e n 2 3 是完成较早影响较 大的一个支持服务组合的w e b 服务运行平台:中科院软件研究所提出 的“基于w e b 服务组合的工作流模型”n3 i ,用查询与元模型同类型的 流程元素实现服务( 流程、活动) 发现,用反射机制实现动态流程重构, 业务流程装配平台的设计与实现 在服务组合方法上作了有益探讨。但其对流程控制语法在动态流程重 构中的实现未给出;流程结构动态重构过程中,流程的转换需要查找 替代的流程和活动,流程和活动缺乏语义描述,匹配将是不准确的, 所以只能实现手工重构。没有一个完整的流程建模g u i 工具,使用和 推广困难。中科院计算技术研究所提出了“支持w e b 服务组合的可视 化编程语言v i n c a ”n 划,用类似流程建模工具建模,但其业务流程的 图符结构用目录树来组织,难以表示复杂的软件业务流程和结构,其 中间映射过程采用非标准协议,如采用x m l 格式的v i n c a 语言,通过 聚合部件转换成b p e l 4 w s 可执行软件层,这一软件结构能力有限,只 能实现手工查找w e b 服务。 本文工作 本文从实际应用出发,在s o a ( s e r v i c e 一0 r i e n t e da r c h it e c t u r e ) 的基础上提出了业务流程装配平台w e b j e t 的装配机制和设计,并对 w e b j e t 中执行引擎和服务代理的实现进行了详细的阐述,主要工作 体现在一下几个方面: 1 )提出了业务流程的装配机制和业务流程装配平台的设计, 阐述了w e bs e r v i c e s 协议栈中s o a p 、u d d i 、b p e l 4 w s 协议在w e b j e t 中的组织结构及实现; 2 )建立了服务q o s 的认证机制和非功能属性存储结构,通过 格式化的文件对服务的非功能属性值进行存储,并通过q o s 认证中心 对服务的q o s 进行检测和认证; 3 )对执行引擎的设计与具体实现,实现了b p e l 4 w s 规范,并 实现了比较复杂的死路删除机制; 4 )对服务代理的设计与实现,使用服务代理对具体服务进行 动态选择和调用:应用多目标决策方法( m u l t i o b j e c t i v ed e c i s i o n m a k i n g ) 计算服务q o s 综合评分值,使系统对哪个具体服务进行调用 硕士学位论文 的决定延迟到调用时刻。 1 。4 论文结构 本文共分为五章 第一章,绪论,主要介绍课题的背景、研究现状、本课题的研究 内容与目标、及论文的组织情况; 第二章,w e b j e t 设计,介绍了s o a 的基本概念,w e b j e t 的业务 流程装配机制,q o s 属性的认证和服务非功能属性存储机制及w e b j e t 的设计; 第三章,执行引擎的设计与实现,介绍了基于b p e l 4 w s 规范的工 作流执行引擎的工作原理及具体的实现; 第四章,服务代理的实现,介绍了动态选择服务进行调用的实 现; 第五章,使用一个例子说明在w e b j e t 进行业务流程装配的过 程。 第六章,下一步工作和结束语,对现有工作的总结和下一步工 作的展望。 业务流程装配平台的设计与实现 第二章w e b j e t 设计 应用服务器技术是传统中间件技术的自然延伸,经过多年的发 展,应用服务器己成为支持分布式应用业务逻辑开发的核心基础软件 设施。随着在企业计算走向企业间的开放异构环境,已有的集成技术 在跨组织的互操作、资源重用和集成等方面都表现出明显的不足。s o a 的提出矛d w e bs e r v i c e s 技术的不断成熟使得基于i n t e r n e t 进行跨 组织的资源聚合与应用集成进入一个新的阶段,越来越多的企业需要 在s o a 体系结构和w e bs e r v i c e s 技术框架下将企业已有应用以w e b 服务的形式发布,并整合业务伙伴的w e b 服务以提供功能强大的新的 业务。将传统的企业计算模式平滑地过渡到s o a 体系结构,支持快速 的服务提供、有效的服务重用与灵活的服务组合成为应用服务器技术 发展的新趋势。w e b j e t 的研制工作正是在这一技术趋势下开展。 w e b j e t 的设计目的是,面向跨组织资源聚合与应用集成需求, 针对i n t e r n e t 开放网络环境特点,遵循w 3 c 、o a s i s 、o m g 等标准化 组织的国际规范,基于w e bs e r v i c e s 技术框架,为企业应用资源的服 务化封装与发布以及基于业务流程服务组合提供有效的支撑平台。本 章介绍t w e b j e t 中提出的业务流程装配机制,并对w e b j e t 总体结构进 行了阐述。 2 1 相关知识介绍 2 1 1 面向服务的软件体系结构( s e r v ic e - o rie n t e da r c hi t e c t u r e s o a ) s o a 是基于w e b 服务提供者、w e b 服务请求者和w e b 服务中介者 三个角色和发布、发现、绑定三个动作构建的( 如图2 1 所示) 。w e b 服务提供者设计实现w e b 服务,并将调试正确后的w e b 服务通过 硕士学位论文 w e b 服务中介者发布,并在u d d i 注册中心注册;w e b 服务请求者向 w e b 服务中介者请求特定的服务,中介者根据请求要求查询u d d i 注 册中心,为请求者查找到满足请求的服务;w e b 服务中介者向w e b 服 务请求者返回满足条件的w e b 服务描述信息,该描述信息用w e b 服 务写成各种支持w e b 服务的机器都能阅读。w e b 服务是构件技术和 w e b 技术的融合,实现w e b 上可调用的构件、实现构件功能不是问题, 问题在于怎样对服务进行描述和注册、怎样发现服务、定义调用服务 的消息格式,等等。x m l 技术及x m l 技术与其它协议之间的绑定,构 成w e bs e r v i c e s 发展的技术核心。 图2 - is o a 结构 w e bs e r v i c e s 技术提供了一种不同机群之间在跨平台的应用程 序下的数据共享能力,使所有的计算机群相关设备( 例如手机、p d a 等) 和服务协同工作,提供更广泛和多样的服务,解决了目前信息孤岛的 问题。 w e bs e r v i c e s 以x m l 为技术核心,在此基础上定义了相关的协议。 s o a p 和w s d l 是w e bs e r v i c e s 的基础协议。在不同的应用中,x m l 可以定义不同的s c h e m a 。s o a p 的一部分就是x m l 的一个s c h e m a 。 w s d l 是由i b m 和微软推出的技术,它是一个通用的描述w e b s e r v i c e s 的x m l 框架,w s d l 文件中的描述信息包括:数据类型定义、 服务所支持的操作、输入输出信息格式、网络地址以及协议绑定等 x m l 是一个与平台无关的中性的数据表示协议,利用h t t p 承载信息, 业务流程装配平台的设计与实现 x m l 把数据序列化成一个可以传递的形式,使它能够容易地在任何平 台上被解码,实现网上异构平台之间的数据交换。 2 1 2w e bs e r vic e s 协议栈 w e bs e r v i c e s 协议栈是作为解决软件互操作问题而提出的。w e b s e r v i c e s 是一系列标准的综合,这些标准包括x m l n5 1 、s o a p n 5 | 、 w s d l 1 引、u d d i 1 5 3 和b p e l 4 w s 1 6 1 ( 如图2 2 所示) 。 图2 2w e bs e r v i c e s 协议栈 w e bs e r v i c e s 利用这些标准提供了一个松散耦合的分布式环境。 因为w e bs e r v i c e s 协议基于x m l ,所以w e bs e r v i c e s 提供了不同应 用之间的互操作的可能性。w e bs e r v i c e s 的自描述元数据模型是与 平台和语言无关的,这样就简化了异构系统的整合。 2 2w e b d e t 的业务流程装配机制 2 2 1 装配机制 一般的s o a 的运行机制是对服务发布、发现和调用的简单应用 ( 如图2 1 所示) ,使用b p e l 4 w s 规范可以进一步将多个服务组合 成流程。但是简单的运用s o a 的运行机制会出现些问题: 硕士学位论文 1 ) 服务分布在i n t e r n e t 上的任意位置,由于网络的不稳定性以及 服务提供者本身的原因( 如,网络中断,病毒,服务端服务器 停机等) ,使得对事先绑定好的服务进行调用的成功率得不到 保证。 2 ) 服务提供的q o s ( q u a l i t yo fs e r v i c e ) 的可靠性得不到保证。 3 ) b p e l 4 w s 语法比较复杂,直接编写x m l 形式的b p e l 4 w s 流程比较复杂、速度慢、很容易出错,而且难以检查。 在w e b j e t 中,我们建立了一套业务流程装配机制( 如图2 3 所 示) :我们使用服务代理这一中间层,并建立了服务非功能属性的存 储和q o s 认证机制。服务代理通过对q o s 属性的属性值综合评分的 计算动态的选择最佳的服务进行调用,将对具体服务的选择延迟到执 行的时刻,并通过对q o s 的保证,使得对服务调用成功率大大提高。 对业务流程的装配,我们使用目前业界广泛使用的b p e l 4 w s 规范, 在业务流程装配界面上服务代理作为装配基本单位供装配时使用。为 了使流程编写者快速准确的编写b p e l 4 w s 流程,我们使用图形来表 示b p e l 4 w s 中的各种语法,以此来屏蔽了b p e l 4 w s 的复杂性。装 配中的配置通过用户指定和平台默认相结合的方式,用户在装配界面 上拖拉形成的业务流程图将直接映射到b p e l 4 w s ,然后通过执行引 擎进行执行。 业务流程装配平台的设计与实现 图2 3 业务流程装配机制 根据对服务的处理,我们将业务流程装配机制的主要流程分为以 下几步:服务的聚合( 服务代理) 、服务代理的发布( u d d i 注册中 心) 、服务代理查询和组装业务流程( 装配平台) 、业务流程的执行( 执 行引擎) 、服务的动态选择和调用( 服务代理) ,如图2 - 4 所示: 图2 4 业务流程装配机制的主要流程 硕士学位论文 在下面的章节中,我们将从下面的三个方面来介绍业务流程装配 平台:服务非功能属性的存储和q o s 认证机制、服务的聚合和动态选 择调用( 服务代理) 、组装业务流程。在下面的小节中将对这几部分 进行介绍。 2 2 2 服务的非功能属性值存储与q o s 认证 w e b j e t 的装配机制很大程度上依赖于服务的非功能属性。服务非 功能属性值的存储以及对服务q o s 属性值的检测认证对保证w e b j e t 组装流程的正确率和成功率十分的重要。 我们在w e b j e t 中我们建立了一套对服务的非功能属性值进行存 储和对服务q o s 认证的机制:使用q o s 认证服务来对服务提供的服 务q o s 进行检测和认证;由于在w e b j e t 中对服务的选择的过程移到 服务代理中执行,所以服务的非功能属性值只存储在服务端,服务提 供者向外提供了相应的查询和获取非功能属性值的服务( 如图2 。5 所 示) 。 查询获取q o s 图2 - 5 服务非功能属性的存储和q o s 认证 2 。2 2 1 服务的非功能属性 服务的非功能属性在保证服务的质量中扮演关键角色。但是现在 对服务( 软件系统) 的非功能属性的定义并没有一个统一的定义n 8 i 。 我们在w e b j e t 中定义服务的非功能属性由两部分组成:服务的q o s 业务流程装配平台的设计与实现 属性和服务的商品属性。 服务的q o s 主要包括以下几个方面: 1 ) 可用性:可用性是质量的一个方面,指w e b 服务是否存在或 是否已就绪可供立即使用。可用性表示服务可用的可能性。较 大的值表示服务一直可供使用,而较小的值表示无法预知在某 个特定时刻服务是否可用。 2 ) 可访问性:可访问性是服务质量的一个方面,表示能够为w e b 服务请求提供服务的程度。它可以表示为一种可能性尺度,用 来表示在某个时间点上成功地实例化服务的成功率或机会。 w e b 服务可用但却无法访问这种情形是可能存在的。可以通过 构建一个可高度伸缩的系统使w e b 服务得至i 吖z 艮高的可访问, 性。可鲈微指不管请求量如何变化,都能够始终如一地 为请求服务的能力。 3 ) 完整性:完整性是质量的一个方面,指w e b 服务如何维护交 互相对于最初情况的正确性。适当地执行w e b 服务事务会实 现正确的交互。一个事努是指一系列将被当作单个工作单元 的活动。要使事务成功,必须完成所有的活动。如果一个事务 未完成,那么所做的全部更改都被回滚。 4 ) 性能:性能是w e b 服务质量的一个方面,可以根据吞吐量和 延迟对其进行测量。吞吐量的值较大且延迟的值较小表示w e b 月艮务性台彦良好。 5 ) 可靠性:可靠性是w e b 服务质量的一个方面,表示能够维护 服务和服务质量的程度。每月或每年的失效次数是衡量w e b 服务可靠性的尺度。在另一种意义上,可靠性是指服务请求者 和服务提供者发送和接收的消息的有保证和有序的传送。 6 ) 常规性:常规性是质量的一个方面,指w e b 服务与规则、法 律一致,遵循标准和已建立的服务级别协议。w e b 服务使用许 硕士学位论文 多标准,例如s o a p 、u d d i 和w s d l 。要正确调用服务请求者 请求的服务,就必须严格遵守服务提供者所提供的正确版本的 标准( 例如,s o a p 版本1 2 ) 。 7 ) 安全性:安全性是w e b 服务质量的一个方面,通过验证涉及 到的各方、对消息加密以及提供访问控制来提供机密性和不可 抵赖性。由于w e b 服务调用是发生在公共的因特网上,安全 的重要性已经有所增加。根据服务请求者的不同,服务提供者 可以用不同的方法来提供安全性,所提供的安全性也可以有不 同的级别。 在w e b j e t 中,依赖服务的非功能属性值进行动态选择分为两 部分:通过商品属性匹配用户的要求匹配服务;对通过商品属性 匹配到的多个服务通过对q o s 属性值的量化并进行评分排序排序 最终选择出最优的服务。我们选择了可以进行量化的以下4 个q o s 属性作为评分排序的元素: 1 ) 执行的响应时间 给定服务、s 的一个方法,执行的响应时间g 幽( j ,o p ) 等于服务请求 发出和该请求结果收到之间的时间延迟。执行的响应时间使用表达式 计算: g 出0 ,o p ) = l r o c e s s ( s ,o p ) + 丁。0 ,o p ) o p )o p ) ,g 。缸l s ,口【s ,+ 呦s ( s , , 这意味着执行的响应时间是处理时间和传送时间之和。服务发 布它们的处理时间或提供的获得它们的手段。这个传送时间是根据过 去的服务方法的实现的基础上来估算的,如: r , r - - ( 卿) _ 三趣型 这里是一个过去观察到的传送时间,r l 是观察到的过去执行次数 的数量。 2 ) 。声誉 业务流程装配平台的设计与实现 服务s 的声誉g 。( s ) 是它的可信度的度量。它主要依赖于使用 服务s 的终端用户的经验。声誉的值定义为如平均等级等是由使用服 务的终端用户给出的。如 妒擎 这里是关于服务声誉的终端的用户的评分等级,r l 是服务被评分 的次数。通常,终端用户被给定了可以的对w e b 服务打分的范围。例 如,在a m a z o n c o m ,它的范围是 0 ,5 详细的讨论声誉等级级别的适 度情况超出了本文的范围,在这里不做讨论。 3 ) 执行的成功率 服务s 执行的成功率是请求在w e b 服务表示中指出的最大期望时 间范围内正确响应的概率( 如,方法的完成并且服务请求者会收到一 个消息指出这个执行动作已经成功的完成) 。执行的成功率( 短期的成 功率) 是度量相关的硬件和( 或者) w e b 服务软件结构和服务请求者和 提供者间的网络联接成功率的值是来自使用表达式g 删( s ) = n 。( s ) l x 计算过去调用的服务的数据,其中,( s ) 是服务s 在最大期望时间内 成功完成的次数,k 是调用的总次数。 4 ) 可靠率 服务s 的可靠率q 。( s ) 是服务可用的概率。服务s 可靠率的值使用 表达式q 。,( j ) = l ( s ) e 来计算,其中r o 是全部时间的总量( 单位:秒) , 在这里服务s 在最近的口秒内是可靠的( 0 由服务实体的管理员设 为常量) 。0 的值根据特殊的应用而改变。例如,在应用中服务越频 繁的被访问( 股票交易) ,对于一个值小的0 就能更精确的逼近服务 的可靠率。如果这个服务没有被频繁的访问( 在线书店) ,使用一个 值大的护更合理。这里我们假设w e b 服务把它们的运行状态通过通 告发送给系统。换句话说,如果一个己给的w e b 服务不支持系统运行 状态的通告,组合服务的管理者能以一定的时间间隔( 由系统管理员 确定) 来探查这个服务或者是通过一个监控服务来获得正常运行时间 硕士学位论文 的信息。然而这个方面的具体计算超出了本文的范围,在这里不做讨 论。 根据以上的情况,可以把服务s 的方法的质量向量可定义为 q ( s ,o p ) = ( q 如( s ,o p ) ,q 肿( s ) ,q 阳,( s ) ,g 聊( s ) ) 对于不同的服务来说,提供的商品属性是不一样的,需要根 据具体情况而定;在w r e b j e t 中,服务的非功能属性与服务代理中 定义的非功能属性是一致的。 因为我们主要是通过q o s 属性值对服务进行选择,需要的是 一些可以量化的属性,而对于其他一些q o s 属性如安全性、常规 性等属性在这里不考虑。 2 2 2 2 服务非功能属性的存储和查询匹配 2 2 2 2 1 非功能属性的存储 w e b j e t 中对服务的选择的过程移到服务代理中执行,服务的非功 能属性值只存储在服务端。根据上节对w e b j e t 中服务非功能属性的 描述,我们将非功能属性在服务端的存储分为两部分:默认属性和扩 展的属性。默认属性是w e b j e t 中每个服务都需要具备的属性,包括 价格、响应时间、声誉、执行成功率、可靠率;扩展的属性主要是服 务的商品属性,这些属性会因服务而异。根据以上要求我们定义了服 务非功能属性的存储的x l v l ls c h e m a ( ! t n 图2 - 6 所示) 业务流程装配平台的设计与实现 d 垂f l n 】t 1 0 n d e f a 虹t t e = “。1 _ 1 竺:! ! f 一5 r e s p 。n e n t i - e 一d e f a 吐t q o s 自_ f 0 ;j 鲁一s u c e e s s _ r a t ei v 一5 r e p u t a t i o ni f o 争 一5 r e l ia b i l it yi l = :乏,l 1 n t n 习i | l 叫e z t e n d q o s 拿弋- 归jt i t 蛆硼。s e n t r ! 自_ :三争- 4 喜d e s e r i p t i o a1 1 “ “一”。= _ 。_ 。0 1 一q o 二”= 2 = = 7 i j = 一 图2 6w e b 服务非功能属性存储文件的s c h e m a w s 元素表示了在服务端非功能属性的存储格式。qosd e f a u l t q o s 元素定义了服务所固有的属性,服务提供者可以使用e x t e n d q o s 元素 来定义更多的商品属性以满足服务查询的需要。 2 2 2 2 2 服务非功能属性的查询 为了配合服务的动态选择,服务提供者发布了非功能属性查询匹 配服务,通过对查询匹配服务的调用来确定该服务是否符合服务代理 的选择要求。对非功能属性的查询,我们也定义了统一的查询语法: 硕士学位论文 图2 - 7 对服务非功能属性查询结构的s c h e m a 图2 - 8q u e r y s t r u c t r u e 元素的结构 图2 7 、图2 8 表示了我们定义了查询语法,d e f a u l t q o s q u e r y 元 素定义了对默认的属性的查询结构,其中q u e r y s t r u c t r u e 元素表示查 询条件,该结构允许多个条件的联合查询。e x t e n d q o s q u e r y 元素定 义了对服务的其他属性的查询结构,由于扩展属性名称和数量的不 确定性,e x t e n d q o s q u e r y 元素定义了两部分内容:属性名称和描述, 这主要是用于找到相应的q o s 属性;查询条件,这部分与 d e f a u l t q o s q u e r y 中的q u e r y s t r u c t r u e 元素的结构是一样的。 2 2 2 3 服务q o s 属性值认证 为了保证服务提供者提供的q o s 属性值的客观性,w e b j e t 中使 业务流程装配平台的设计与实现 用了q o s 属性值认证服务来对服务的q o s 属性值进行检测。认证服 务主要由三部分组成:服务注册、属性值检验、接收客户端对所要调 用的服务的q o s 属性的属性值进行确认的调用消息。 i + 越釜戳溢i 越越汹鹾+ 1 腿务消叠壹 i 。一一一。i 4 确认后进缔绑定调用 f 1 , 一i 一一- 一 r 【, j ” l j 图2 - 9q o s 属性值认证机制时序图 图2 9 描述了服务q o s 属性认证结构的运行过程。服务生成后服务提 供者首先通过测试得到服务性能方面的属性值( 如响应时间、成功率 等) ,然后服务将向q o s 认证服务注册,注册过程中服务将测试得到 的q o s 属性值一起提交到q o s 认证服务中,注册完毕后q o s 认证服 务会对刚注册的服务的q o s 属性值进行第一次检测,若检测的结果与 服务注册时提交的q o s 属性值吻合,则将该服务标记为检测通过,若 不吻合则标记不通过。服务消费者选择到了一个最优服务后,将到 q o s 认证服务中查找它所要调用的服务,确认其q o s 属性值已通过验 证,确认通过检测后才进行调用。服务提供者对服务进行的测试和 q o s 认证对服务q o s 属性值进行的检测都牵涉到了对服务的监控,然 而详细讨论这部分的内容超出了本文的工作范围。 舞。 册 濂 注 测 l 检 硕士学位论文 2 2 3 服务代理 在调用服务的过程中,我们引入了“服务代理”,一个服务代理 就是一个服务,它聚集了几个可相互替代的服务,这些服务直接或通 过中间映射提供相同的能力( 如图2 4 所示) 。服务代理本身是这样 的服务,它们被创建、发布、发现、调用,它们的存在与所聚集的服 务无关。特别在我们的方法里,在组合服务中的原子活动调用服务代 理,而不是基本或复合服务操作。这种方式使得可以动态选择服务提 供者,系统把应对哪一个特定服务进行调用的决定延迟到调用时刻。 本节中主要介绍服务代理的原理。 2 2 。3 1 服务代理的主要功能 w - e b j e t 中,服务代理位于执行引擎和具体服务之间,执行引擎通 过服务代理来调用具体的服务。 服务代理的工作可以分为三个部分:聚集服务、动态选择服务、 调用具体服务。 聚集服务:服务代理聚集了多个具有相同功能的具体服务。 具体服务在发布到u d d i 的同时,也将自己注册 到与其对应的服务代理中,注册的内容主要是服 务的接口信息、服务端提供的非功能属性查询地 址以及服务与服务代理的映射信息。 动态选择服务:具体服务将自己注册到服务代理中时,将本身非 功能获取的地址提供给服务代理。客户端对服务 代理进行调用,服务代理到具体服务提供的非功 能属性值获取的地址上取得服务的q o s 属性值, 然后调用评分服务对每一个具体服务的q o s 属 性进行综合评分,从中选择出最佳的服务进行调 业务流程装配平台的设计与实现 用。 调用服务:由于服务代理本身是一个服务,客户端在进行绑 定时看到的也是服务代理的接口描述( w s d l ) , 所以向服务代理发送的调用消息并不是调用具 体服务所需要的消息,服务代理在选择了一个用 户需要的最优服务后需要将客户端发送过来的 调用消息转换成调用具体服务所需要的消息进 行发送;在服务调用完后也需要将服务端发送过 来的返回消息转换成服务代理的返回消息,并返 回给用户。 2 2 3 2 选择服务 对服务的选择不仅需要从服务的性能上考虑,还需要考虑用户的 需求。用户的选择需求一般为两种:准确选择,用户给出的条件可以 确定一个最佳服务,比如选择某一非功能属性最低或最高的服务( 如 价格最低,响应时间最短) ,这种类型的选择只需要进行一次查询匹 配即可;模糊选择,用户给出的选择条件将查询出多个服务,需要进 行再次选择才能选出最佳服务。根据上述用户不同的选择需求,服务 代理提供了两种的选择策略。 图2 - 1 0 通过简单排序选择 图2 1 0 描述了对第一种情况的处理,服务代理到服务端查询用 硕士学位论文 户需求中指定的非功能属性值,然后对收集到的非功能属性值进行排 序选择出最佳服务。 对于模糊选择,选择过程比较复杂,首先根据用户需求中指定的 非功能属性值要求来选择符合要求的服务,并取得这些服务的q o s 属性值,然后调用评分服务对选中的服务的q o s 属性进行评分,选择 评分最高的服务进行调用( 如图2 1 1 所示) 。 匡困 图2 一l l 通过评分服务选择 配合服务代理的运行,服务端提供了相应的对服务q o s 属性值进 行查询和匹配的服务供服务代理调用,这部分内容在2 2 3 中做了详 细的说明。 2 。2 。3 。3 对服务q o s 属性值的评分 在模糊选择中,经过初步选择匹配,服务代理收集到了符合用户 要求的服务的q o s 属性的属性值,每个服务的q o s 属性的属性值将 形成一个质量向量,并且基于这些质量向量系统应用多目标决策方法 ( m c d m ) 【1 7

温馨提示

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

评论

0/150

提交评论