基于BPEL和QoS的动态Web服务组合框架研究

更新时间:2023-05-13 08:55:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

9 20 09

年 1期嚣[ 1;月 j

C PETH LYNDEPN O U计算机技术与发展O E M T ENO A ELM T R COG D V

Vo ol o92009 N N1 1 . . v 1.

基于 B E P L和 Qo S的动态 W e b服务组合框架研究张文博,史维峰(西北大学信息科学与技术学院,陕西西安 702 ) 1 17摘要:利用 B E P L语言可以将单独的 We服务组合成复杂的业务流程, b但是 B E P L语言不支持在业务流程执行阶段进行

修改操作。虽然 B E语言有错误处理和补偿机制,是如果业务流程不能继续执行就会影响到业务执行效率。针对这 PL但一

问题,出了基于 B E提 P L和 Q的动态 We服务组合框架, b利用 QD组件的动态绑定功能和 U D的动态发现 We服 s D I b

务功能,实现在业务流程运行时动态选择 we服务的功能,提高业务流程的执行效率。 b从而关键词: I L Q3; B); S动态; b E We服务组合中图分类号: 1 .硼 15文献标识码: A文章编号:6 3 6 9 (0 9 1— 0 2 0 1 7— 2 X 2 0 )1 0 7— 4

Re e r h o Dy m i e e v c sCo s a c n na cW b S r ie mpo ii n Ba e sto s d

o P L a dQo nB E n SZ HANG e - o, HIW e—e g W n b S ifn

( ol e f no tnSi c C lg fr i c ne& Teh o g, otw s Unvrt,’l7 0 2, h a e o I ma o e cn l y N rh et i s yXi l 1 1 7C i ) o ei a n

Ab ta t B s gBP src: y u i EL。 e e-c c nb o o e t mpe u iespo e ss Ho v rt eBPEL o sn tsp otmo f i n W bs/ i ̄ a ec mp sd i oc v n o lx b n s rcse . we e,h s d e o u p r di n ygw e evcsd rn h x c t no u iespo e ss bsr ie u i t ee eu i fb n s rcse .Alh u h teBP a a l a l g a dc mp n ain meh ni .h fi g o s t o g h EL h sfut

hndi n o e st c a s n o ms t eef - ce y o sn s r cs x c t nwi eafce fteb sn s r cs udn tb o tn e .I r e os let i po lm, iea i nc f buiespo ese eu i lb fe td i h u iesp o esc l o ec n iu o l o d no d rt ov hs rbe gv

d锄 jw e eri s mps i rme r ae nte P LadQ S y n h y a cbn i u ci fQ Scmp nns c bs vc c oio a wokbsdo h B E e o t nf n o .B gtednmi idn nt no o o oe t gf oa d ted n mi n h y a cU∞ Idso eyo W e evc i vr f c bsrie,teb sn h u i ̄ prcs u o esr n—t y a cslcin o i d n mi e et fW e er iewi erai d,a d me o bsv c l b e le n l z tee iin y i h x c t no u iespo se h f ce c nt ee eu i fb n s rc sswi ei r vd swe1 o s e lb mpo e a l l .

Ke od: I L; o;y a cWe e ecmps i yw rsB) Q S d nmi; bs】 E c o oio tn

O引言随着 we服务技术的日益成熟, b越来越多的稳定易用的 we服务共享在网络上。但单个的 we服务 b b

合适的成员服务,但是目前 B E P L组合服务与各个成员服务之间却保持着一种静态的绑定关系,而导致从在运行期间难以动态调整其结构,当环境发生变化时, 组合关系只能重新建立和描述。文中提出了一种动态 we服务组合架构。该架构基于 B E b P L语言和 U D D I协议,利用可扩展的 Q3 s组件,支持业务流程在运行阶段动态绑定 we服务, b而且在异常情况下可以动态

能够提供的功能有限,了更加充分地利用共享的为 We服务, b有必要将共享的 we服务组合起来, b提供更为强大的服务功能。 B E b s e rc seeu P L(uis poe )c— ns s【

t n agae是一种描述业务流程执行的语言, i nug) ol它是

合 We服务的有力工具。B E b P L规范了如何描述一个流程的结构,如何调用一个 we服务, b如何进行流程中数据的定义和传递,以及如何进行生命周期管理。

修改服务,从而很好地提高业务流程的执行效率。

l关于服务组合的框架的研究在动态 We服务组合框架研究方面, b国内外不少研究者已经提出了若干框架。MA S框架…,态 I 1中动的组合过程分为两大块:第一块是如何将抽象服务对应的替换成实体服务;第二块是在运行过程中,如果有实体服务不可用,如何找到其它的抽象服务集合进行替换并进一步找到对应的实体服务,至对整个过程甚重新评估、换。MAI替 S框架的缺点在于它把出错处理揉合进框架之中,使得框架的结构复杂很多,实现起

然而,在实际使用中人们逐渐意识到,P L并不能解 BE决 Itme开放环境下服务组合面临的所有问题。虽 n e t

然在组合服务设计阶段可以通过有效的查询机制寻找收稿日期:0 9—0—1;回日期:0 9—0 20 3 0修 20 6—0 5

基金项目:国家高技术研究发展计划(6 )目(0 7 A0 0 0 ) 83项 20 A 1 3 5

作者简介:张文博 (94,, 18一)男硕士研究生,方向为 S A软件研究 O、工程;维峰,授,究方向为 S A、件工程、史教研 O软数据库、 A C D/CAM。

第 1期 l

张文博等:基于 B E P L和 Q S的动态 We服务组合框架研究 o b

7 3

来比较困难。U C NIS框架 L是综合了容量和状态的 2 J表现框架,一部分是服务结构,注服务和服务组件,关

( ) P L流程仓库: bB E主要存储已设计完成的业务

流程实例,当设计者在新设计一个流程时可以先搜索流程仓库,如果有满足要求的流程文档则直接调用;如果没有合适的流程文档则通过 B E P L设计器来进行设计,时把满足要求的新设计的流程文档存储到同 BE P L流程仓库中。

只关心功能和调用;另一部分是计算结构,关注于将服务进行建模的软件组件,只关心功能和实现。这种方法采用的是无中心的编排思想。这种框架的缺点在于对框架的管理比较困难,而且无中心的编排组合比起有中心的编排,灵活性、鲁棒性都要差。U O S N框架[’】

是一种

适合普通计算环境下的服务组合和服务生成框架。它把所有的计算实体,包括 We服务、算机资 b计源等,都称为服务元素( E, S S )将 E之闾的组合方法称为服务模板 ( T)在服务组合阶段,E在各个 S S; S T的基础上进行组合;在服务生成阶段,通过 S E和 S T的

组合历史而生成新的 S。这种框架的缺点在于服务 T的组合严重依赖于已有的服务模板,模板的生成及对管理必须人为干预,成新模板的能力不明显。生

F S o框架 .的服务模型中,个服务包括能力 l c 5】每

图 1框架的结构图

和预定逻辑两部分。能力可以分为五种:交互能力、发布能力、谈判能力、合同管理能力和账单处理能力。在其组合模型中,包括了服务组合、服务协调和服务聚合三大块,实际的组合过程依赖于服务间的组合、协调和聚合关系。R S框架的局限性在于:框架中组∞在

() o cQ S组件:框架的核心部件,功能主要包新其括: 1解析 B E ) P L业务流程模板,向 U DI询适并 D查用的 We服务; b

2根据选择动态绑定 we服务; ) b3将 B E ) P L业务流程送往引擎执行;

合、协调和聚合本质上还是模板,而且这种“模板”所涉及到的服务数量比通常的模板要少,因此不能满足服务数量比较多的服务组合。

4对 B E ) P L执行引擎和备用 We b服务进行监控, 获取 Q S o信息,对框架进行 Qo S管理。 ( ) P L执行引擎: dB E主要作用是当收到请求时,选择来自 Q S o组件的流程文档,照流程描述的过程按

2动态 We b服务组合新框架2 1新框架结构 .

调用相应的 we b服务来完成具体的任务。 () D: eUD I其作用主要为:

该框架的核心思想是利用 U D的统一发现服务 D I的功能和 Q S o组件的动态绑定功能,为运行中的业务

1用户发布 We服务, ) b供其他用户调用;2用户可在此查询需要的 We服务, ) b获取相应的

流程提供合乎需要的 we b服务,可实现在业务流程运行阶段动态绑定 we b服务和异常情况下动态修改服务的功能。对于出错处理该框架采用 B E P L语言的错误处理机制进行处理,保持框架结构的简单化,易于管理的特性。

框架的核心部分在 Q S件, Q S组件 o组由 o对框架其他部分进行监控和管理。该框架不依赖于固定的模板,只针对 B E P L流程仓库中的 B E P L流程进行动态绑定 we服务和流程执行过程中的动态替换 b

服务信息。 () b fWe服务:务流程的执行终端,现具体业业实务。

() g备用 We b服务: o Q S组件在 UD中查询得 DI到未被动态绑定的 we服务。 b2 2实现动态组合 .

在业务流程设计阶段,业务流程设计人员根据现

we服务。由于没有具体模板限制, b因此该框架对于服务的组合数量也没有限制。 框架的结构如图 1所示。框架各部分的功能如下: () P L流程设计器: aB E提供可视化的流程建模工具,自动生成 B E并 P L流程文档。当流程需要进行修

有的业务流程需求通过 B E P L流程设计器进行业务流

程设计,可以通过 U D对所需的 we D I b服务信息进行查询。设计完成的业务流程提交到 B E P L流程仓库进行保存。业务流程执行过程如图 2所示。业务流程执行过程: Se l请求端根据需求从 B E t: p P L流程仓库中选择 BE P L流程提交给 Q S o组件; Se2 Q S组件解析相应的 B E t:o p P L流程模板,并根

改的时候,以导人原有的 B E可 P L文档生成流程图,对流程进行相应的修改。

7 4

计算机技术与发展

第1 9卷

据解析结果, U D查询符合该 B E向 D I P L流程模板要求的 we服务; b Se3 Q S组件根据选择动态绑定 B E tp: o P L流程中的 We服务; b

流程设计阶段,以给参数赋予初始值也就是确定具可体服务。 B E在 P L流程执行阶段,根据 Qo S组件向 U D查询的结果选择满足函数 pr elk= f;, D I am rn i (l r/ 2的 we服务进行动态绑定。…) b如果执行过程中出现服务是不可用的,再根据 Q s组件中配置的 ( S 0 1算 o

Se4 Q S t: o组件将其他满足条件的 We服务加入 p b备用服务列表;

法从查询结果中选择出具体 we服务替换失效的服 b务。2 3 2 WS L .. D。, D I据结构扩展 U D数

Se5 Q S tp: o组件将业务流程送往 B E P L执行引擎

执行; Se6 Q S组件对 B E t: o p P L执行引擎和备用 We服 b务进行监控。

由于 WS L文档对于 We D b服务的 Q。 s描述能力有限,并没有对 We b服务的 Q S o度量进行具体的定义

和描述,服务提供者是通过 S A O P消息向 U D发布 D I和注册服务的, 消息并不支持 Q s述机制, 0描

UD服务发现机制也没有根据 Q S属性查找 We 0I 0 b服务的功能。因此有必要对 WS L文件描述、 O P D SA消息头和 UD I D的数据结构进行扩展。在 WS L描 D述文件中,以在<sri>的元素中加人 Q0可 ev e c s子元素,其具有对 We使 b服务的 Q S属性描述的功能。 o

,

SA O P消息包含两个子元素:可选的消息头和必选的消息体。对 S A O P消息头进行扩展,添加服务质量参图 2业务流程执行过程图

,

数,如价格、执行时间、可靠性、可用性、信誉度等。同样, U DI we服务注册信息中也需要加入相应在 D的 b的 W e服务的 Q S属性。 b o 2 3 3 ( S选择方法 .. 1 o

在业务流程运行过程中,如果某个 we服务出现 b

异常导致其不可用,或者因为网络等原因造成业务流程执行时间代价太大,为避免业务流程中断或减低消耗,o Q S组件将从备用 we服务列表可替代的 we服 b b务对出现异常的 we服务进行动态替换, b确保业务流程能够继续正常执行,其操作流程如下:Sel业务流程运行过程中如果某个 We服务出 t: p b现异常, S组件将通知 B E Q0 P L执行引擎暂停业务流程的执行;

对于 we b服务的 Q S。属性,以代价、时间、可靠性和可用度为例来说明选择一个 we服务的方法。对 b于单个的 we服务。 b它的综合服务质量可以定义为: Q( )= ( ( ) q ( )q s: ( ) S口 s: s: ()口 s )

对于有多个独立 we b服务组合的复杂业务流程来说,需要找到业务流程节点上满足需求的最优 we b服务,需要使用多维向量空间质量参数来表示整个流程的服务质量,定义如下: q ) g (1 q垤 (l t 1 ( l )。i d I q ) q ) qv(2 t 2 ( (2。d aQ=

Se2 Q S

t: o组件从备用 We服务中根据替换策略 p b选择一个可用的 we务发送给 B E b服 P L执行引擎, B)L执行引擎调用新的 we服务, P L流程继续执 I E b BE行。

23 Q s与动态服务组合结合 . o

23 1 B E .. P L元素扩展

研究 B E P L服务组合方式可以发现:传统的 B E PL

qn(口 ( ) q ( t¥) I i ̄ d q12口13 ql。。,

服务组合之所以是静态绑定原因在于连接服务成员之间的“伙伴关系” pr e i”即“ at rn是静态绑定的。 n lk也就是

说在流程设计时已经确定了具体服务之间的交互关系[7。因此要实现服务动态绑定, 6】,需要重新对“ at pr .

nrn” elk进行定义。比较有效的方法是使 pr el k的 i am rn i

含义不再是一个具体的值,而将其看作是一个函数:pr elk=厂 l…) at rn n i (, 2函数中的参数可以采用 We b服务中的服务名称、方法名称、消息类型等l在 B E 8。 P L 8 J

芒q .”2

q22 q23 q2, . .

. q。 3 ”

在计算业务流程服务质量时,简单的情况下可以使用加权平均值的方法来测量。在具体的应用中可以

根据侧重的Q S o属性设置相应的算法[1。 90 .】

第 1期 1

张文博等:基于 B E P L和 Q) s的动态 we b服务组合框架研究

7 5

对于 Q s o组件的 Q S管理功能的设计可以采用 o

W o k h p o tn mi C mmu iain n mp t g r s o n Au o o c o n ct s a d C o o ui n

传统的 QI管理框架设计方法,以根据响应时间、 可 可靠性、吐量等具体的侧重不同制定相应的 Q s模吞 o型。Q s 0信息的采集可以采用基于 J X—R C和 J X A P A—

( cC’ 5 . omia I l:E— C mp trS ceyP es A 0 ) Tar n, t y— E a l K o ue oi rs, t2 0 5 7—5 1 0 5: 2 3.

[] T kmo 3 ae t oM, h si 1 a ,t 1 S.i一C m o O—i w t T e . e o h T, a aA r ̄ o p. vst n a d S vc— E r e c r me r o iut u— io

e i— me g n eF a wo k fr Ubq i s— i n r e o

WS规范所提供的“截取器” hn l ) (ade机制。在 Q S r o

信息存储方面,由于删除和修改操作很少,以采用普可通文件加索引的方式存储【,j 1 1。一般而言, P L流 12 BE程的执行效率是最重要的,因此, o Q S算法可以根据响

C m un n in et【/S m oi o plai o p t E v om ns C]/y ps m nA pctn i g r u i o sn ne t a dte Itme—Wokh p S NT 0 4 Wok h p ) h rs o s( AI 2 0 rso s .T k oJ pn IEE C mp t oit rs,0 4 o y,aa:E o ue S c yPes2 0 . r e

[] Pe n lG,i 1 C Lme dr W. h 4 i ei z l,a r of T eR冱S Fa . d J J s s ∞ r me w r:nOvre C/S m ̄ u o pla ̄ dte ok A ev w[]/y i m nA pet s n i k a hItme rs p S NT 0 3 Wokh p ) lr a ne tWokh s( AI o 2 0 rso s .Foi, dUS I E C mp trS c t r ̄, 0 3 A:E E o u e o i y P e s2 0 . e

应时间和吞吐量为依据设计。Q S管理功能可以作为 o独立的模块来进行设计,它的改变不会影响 we服务 b

动态组合和 B E P L流程的执行, Q。组件易于扩展。使 s

[] Zn ,。—a a m dl aeo We xis o psi 5 egL Q S w ri d w rfr b ev e cm oi n e e 8 c t o

3结束语动态 we服务组合是 we服务领域中一个重要 b b发展方向。结合 B E P L和 U D提出了一种基于 Qo D I S组件的 we服务组合新框架, b该框架具有在业务流程运行阶段动态绑定和选择 we服务的能力,有很好 b具的可扩展性和可恢复性,并增强了 we b服务的业务组合能力。为增强该架构的实用性,将进一步研究业务

[] I K r sc o so ot a n i ei, 0 4 3 J . K K T a at n n S f r E gn r g 2 0, 0 n i w e e n ( )31 3 7 5:1— 2 .

[】马骞, 6虞建杰,马晓星,一种基于

运行时体系结构的等.BE P L支撑环境[]电子学报, 06 3 1A) 26 J. 20,4(2:3 1—26 3 5.

[]杨 7

鑫,亮 . z D: bSⅣos陈俊 W ̄ ' L We e i组合系统体系结 A e冰,张路, .等一种支持领域特性的 We服 b

构描述语言[]软件学报,06 1 ()18—19 . J. 20,75:12 14 []赵俊峰, 8谢务组装方法[]计算机学报,05 2 ()71 78 J. 20,84:3— 3 .

流程的安全、业务流程模板中的服务粒度划分等问题。另外,对于动态绑定的策略和 we服务的替换策略的 b研究也是今后工作的重点。参考文献:[] Moaei, s MaroA,t 1A Fa e okf I df rS Mu i f s E, un e a. r w r r i m o

[]陈彦萍,智,志胜, . b务组合中基于服务质 9李增郭等 We服量的服务选择算法[]西安交通大学学报,06 8:9 J. 2 0 ( )87—

9 O. O

[O 1]陈彦萍,李增智,郭志胜,一种满足马尔可夫性质的不等.完全信息下的 We服务组合方法[]计算机学报,06 b J. 20,2 ( ) 1 7—1 8 . 9 7:0 6 O 3

Poioi f o l—Sris C/Sri sCmpt rv i n o C mp xe e c[]/ev e o u- sng e ve c i, 0 4— K ne ai a C艇f n 2 0 I— It n t n l【 g KK r o o (C 0 . n S C’ 4)

[1邵凌霜, 1]李田,俊峰, .种可扩展的 W e e is赵等一 bsr c ve Q s理框架[]计算机学报 .083 ( )15—17 .。管 J. 2 0,18:4 8 4 0 [2 1]王莉,泉,雪峰 .于 B E刘厚吴基 P L的业务流程管理系统架构的研究与应用[]计算机工程与设计,06 2 (8: J. 20,7 1 )3O 5 7— 3 O. 51

衄 g, h a I E o ue Sc t r s20: 1— hi i:E K Cmpt oiyPe,04 8 Cn r e s9 0.

[] S mdl ̄P, e nFA. rm w r o D nt e 2 o uh, c ̄ s e AFa e okf ya Sx r ̄c .

v eC mpsi[]/ r ne aoa lE WM

o i o oio C/ s It nt nl E K Wo c tn t r i M

(上接第 7 1页 ) []李金鹏, 2吕光宏,平, .动 A o网络安全路由协王立等移 dhe议研究[]计算机技术与发展,0 8 1( )2—2 . J. 20,8 7:4 8 []刘志远,超 . dhe网络及其安全性分析[】计算机 3杨植 A o J.技术与发展,0 61 ()2 1 3 . 20,6 1:3—23

誉系统[]计算机工程与应用,08 4 ()2— 3 J. 20,49:0 2 .

[] B d ̄g, ode . oi t aeA cstn 7 u l e S B ue L C p gw hFl cuaosi gr J n i s i nM i e a irRe u a o y t o o i s h vo p tt S se b i n ms f rM bl Ad— e—Ho t e Ne—

w rsR . P Ltc. e, 0 3 ok[] E F h rp 20 . e

[] B eegr,L Y odeJL P r r ac a s f 4 uhge S eJ,B ue . ef m nea l io o n yst eO0】 DA r tc l C o ea i f o e—fi e s n h FI NT p oo o: o p r t n o d s a n s o n r i

[] C mlt .C rw rs t s[ .Tut 8 m ̄ t D a et t r tM] rs:Mai d a t u u k ga n nb e kn o p r t e r l o s e to i e i o .Oxo d U ra ig c o ea v e t n,d crn c dt i a i i n fr:nv ri f Oxo d l 8 2 3—2 7 ie s yo t fr, 9 8: 1 3.

d tbt d— hent ok[/ r fIK/ C ir ue A si d o e rs C]/Pn o E K A M w eW o k h p o bl c Newo kn n mp t g r s o n Mo i Ad Ho t r i a d C e g o ui n

[] S nY rs E a ao r w r ir u dN t 9 u .A T ut vl tnFa o ki Ds i t e— ui me n tb eo k: u e i y nl in e ne gi t t k[] w rs V l rbi A a s adD f s aa sAtcsC n al t ys e n a

( b- C

02 .E F asne S iel d[ . ., MofO 20 ) P L L u n, wt rn: S n] I a z a2 0 22 0 2: 6—23 6.

/ rco e2t E n raoa C n ̄/Po f h 5hI K It nt nl of t K e i:sn]20:一l.[..,06 1 3

n C o m- O

[]洪 5

亮,洪

帆,明猛, .张等移动 A o网络中一种信任 dhe

p rr o ue C mmt ct n (I ( mi i s ao NFX ̄M 2 0 . B re n, 0 6) acl a o

评估模型[]计算机科学,063 ( )3—3 . J. 2 0,3 7:1 3[]谭长庚,松乔,新 .动自组网中一种优化的局部声 6陈王建移

本文来源:https://www.bwwdw.com/article/appe.html

Top