ImageVerifierCode 换一换
格式:DOC , 页数:12 ,大小:127.04KB ,
资源ID:2480042      下载积分:8 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2480042.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(Web服务动态组合方法研究与设计.doc)为本站上传会员【天****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

Web服务动态组合方法研究与设计.doc

1、Web服务动态组合方法研究与设计 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 12 个人收集整理 勿做商业用途 本文由198

2、9747贡献 pdf文档可能在WAP端浏览体验不佳.建议您优先选择TXT,或下载源文件到本机查看。 第28卷 V01.28 第6期 NO.6 计算机工程与设计 Computer Engineering and Design 2007年3月 Mar.2007 Web服务动态组合方法研究与设计 夏海江。2, 邓水光2, 吴朝晖2 (1.温州大学计算机科学与工程学院,浙江温州325027; 2.浙江大学计算机学院中间件技术工程研究中心,浙江杭州310027) 摘要:目前基于工作流的

3、Web服务组合方法大多要求预先定义流程结构,不能适应现代企业业务流程复杂多变的需求。提 出了一种Web服务动态组合方法,将流程中动态部分用黑盒子流程进行封装,在执行时根据预定义规则和用户需求将黑盒 子流程自动组合展开为实际运行流程。对具体服务、抽象服务、黑盒子流程等概念和服务选取规则、服务组合规则进行了定 义,详细描述黑盒子流程展开算法,并设计了一个实现动态服务流程组合的框架结构. 关键词:服务组合;动态流程;业务流程管理;业务规则;工作流 中图法分类号:TP393.09 文献标识码:A 文章编号:1000—7024(2007)06.1334.04 Research and desi

4、gn of web services dynamic composition method XIA Hai-jian91”,DENG Shui-guan92,wU Zhao—hui2 325027,China; (1.College of Computer Science and Engineering,Wenzhou University,Wenzhou 2.Middleware Technology Research Center,College ofComputer Science,Zhejiang Univ

5、ersity,Hangzhou 3 1 0027,China) Abstract:To date,the workflow—based approach for web service composition,which requires a predefined process structure,is not adapted to the need ofcomplicated and inconstant business processes ofmodem enterprises.A method ofdynamic

6、web services compo— method encapsulates the sition is put forward.The dynamic parts of process into black-box which will be automatically expanded to the run actual process according to the predefined rules and the services user.S requirements at time.The

7、 concepts of concrete services,abstract ex— and black-box and are related rules such as services selection rules and services composition rules are def'med,the algorithms panding black—box described in detail,and the framework that implements the dynamic

8、service flow composition is designed. Key words:services composition;dynamic process;BPM;business rules;workflow 0引 言 方式过于刚性,应用范围窄。动态组合方式在设计以抽象服 务代替具体的服务,在执行时根据运行情况再绑定具体服务, 此方式适应了网上服务不断变化或事先无法确定绑定哪个具 体服务的需求。但现有的项目大都要求事先给出流程结构, 实际上许多业务流程不是一成不变的,多变性和不确定性是 现代企业业务流程的特点,流程业务规则逻辑复杂多变,用

9、户 需求各异,不同流程实例执行路径和所要绑定的服务可能是 不同的,在设计时很难给出完整的流程定义,即便能够给出完 整定义,其流程结构往往过于庞大,难以理解和更新,很难适 应业务规则多变的需求.因此Web服务组合需要在运行时确 定流程结构。 针对上述动态流程的需求,本文提出一种基于动态工作 流Web服务组合方法,在流程定义时给出流程框架,对其中可 以事先明确的流程进行定义,而对于难以事先明确流程的子 流程以黑盒方式封装,在运行时根据预定义规则和运行信息 将其展开为实际运行流程。本文设计一个实现动态服务流的 Web服务技术通过基于XML的开放性标准和协议,实现 了分布计算环境中各种异构平

10、台上的应用程序间的信息交互 和远程调用“121.当前越来越多的应用程序以Web服务的方式 出现在网络中,以便被发现和调用,达到业务增值的目的。Web 服务组合技术通过将独立于各个系统中单一功能的Web服务 松耦合集成,以实现具体的业务流程。Web服务组合作为下一 代Web应用的关键技术,引起了许多公司和研究机构的极 大兴趣。 Web服务组合与工作流有许多共同之处,可以以流程中 心将服务组合在一起,将服务组合视为一种特殊的工作流,称 之为服务流01。目前出现了许多基于工作流的Web服务组合 项目,如METEOR-S“】、SELF.SERVl51.Active Bpell6J、FLAME2008

11、1等,服务组合方式可分为静态组合和动态组合方式。静态组 合方式在流程执行前定义了流程结构并绑定具体服务,这种 收稿臼期:2006—02?1 8 E-mail:jsj xhj@wznc.zj.cn 基金项目:浙江省科技厅重大重点科技攻关基金项目Q004C11053)。 作者简介:夏海江(1968一),男,浙江温州人,硕士研究生,讲师,研究方向为Web服务组合、应用中间件技术; 研究方向为工作流、Web服务组合; 吴朝晖,教授,博士生导师,研究方向为网格与软件平台、分布式人工智能等. 邓水光,男,博士研究生 一1334- 万   方数据

12、 框架结构,并对组合规则和算法进行了详细抽述。 在定义黑盒子流程时,Aas、R、C为空.在流程运行时根 据用户需求在Aas中自动填入的实际运行抽象服务集,在R 填入用户的需求规则,并根据Aas在规则库中查询相应业务 规则加入R中. 2.2规则定义 定义 l场景 以一个旅游预定业务的场景来说明动态Web服务流程的 需求。一家旅游公司开展个性化旅游服务业务,业务流程如 图1所示。在取得客户基本信息、信用卡信息后,先调动相应 核查信用卡信息W曲服务,若有效再取得客户需求信息,通过 调用各相关公司或代理提供的Web服务完成相应项目的预 定,最后通过调用信用卡We

13、b服务完成收费.由于客户需要 预定项目各异(如是否需要预定机票、旅馆、旅游项目、餐饮、 车辆、保险等),同时预定项目选取和预定先后次序受政策、行 规、公司业务规则、相互间数据和控制依赖等因素制约(如参 加某项目必须买某项保险,在完成机票预定后才能预定旅馆 等),项目预定功能无法事先设定流程,不同客户需求产生的 流程结构可能是不同的,只有在流程运行根据客户需求才能 确定实际流程。 其中:卜规则类型,A-—规则涉及的服务集,r_规 则表达式. 2.2.1抽象服务选取规则ASSR ASSR规定了黑盒子流程在选取抽象服务必须满足约 束条件。 定义 选择规则CR:表达式A10爿20…

14、o爿行表示至少有一 规则以三元组表示R={T,A,r) 项必须被选中。 定义 选一项。 定义 依赖规则RR:表达式A1}彳2表示如果Al选中,A2 排斥规则ER:表达式AIo彳20…o爿船表示最多只能 必须被选中。 定义 单个规则UR:表达式OA表示必须表中A, 表达式:XA表示A不能选中。 2.2.2抽象服务组合规则ASCR ASCR规定了黑盒子流程展开为实际的流程时抽象服务 之间的结构关系. 定义顺序规则SR:表达式A1一爿2表示A2必须在A1之 后执行,但A2不一定与A1相连。 定义 相连规则AR:表达式41吲2表示A2在A1之后执

15、 数据依赖规则DR:表达式A1 ZA2表示A2的输入 行并且必须相连。 定义 依赖A1输出。A1&A2规则隐含有A1一爿2规则。 2.2.3具体服务选取规则CSSR 图1旅游项目预定业务流程 在流程运行时抽象服务要绑定为具体服务才能执行,一 个抽象服务往往有多个接口功能相同的具体相匹配,CSBR是 选取绑定服务时必须遵守的规则。 定义优先规则PR:表达式4三日其中A为抽象服务,a为 具体服务,表示抽象服务A绑定具体服务时优先考虑a。 定义关联规则CoR:表达式A-a;B=_b其中A,B为抽象 Ca={N,P,Op,F,i,O,C,E} 服务,a,b为具体服务,表示若A选

16、取a,则B必须选取b。 Qos计算公式:目前我们只考虑了费用和时间两项指标, 由于两者度量单位不同,用文献[6]提出的公式来无量纲化. 设候选具体服务集为{a1,a2,…,a11),其费用和时间值分别 为{cl,c2,…,cn}和{tl,t2,…,协},MaxC,MinC为{cl,c2,…,ca)最大 值和最小值. 2基本定义 2.1活动节点定义 定义具体服务描述了业务伙伴提供的web服务接口, 以八元组表示 其中:N——服务名称,P——服务提供者信息,Op—-操作名 称,F——操作的功能描述,l-—输入信息,O——输出信息, C——初始条件,E_执行结

17、果。 定义抽象服务提供了“占位”功能,它描述了所要调用 服务应具备的功能、输入输出信息,以四元组表示 Aa={N,F,I,0} 其中:N——服务名称,F-—功能描述,I——输入信息,◇一 输出信息。 定义 组表示 Ba={N,Aaa,Aas,R,C) 黑盒子流程封装事先无法明确的子流程,以五元 Rc吒辔g黑? ‘气石面j函面 Rci=l j 当MaxC*Mi聆CMaxC--t:Mi 聆 当MaxC=MinC 同理可得R6,则具体服务ai的qos值为Qos(aJ)=p+Rci+(1一 p)*Rti(0≤p≤1),P值

18、为权重系数,由用户需求而定。 定义局部Qos规则LR:表达式Lqos(A)--n(其中A为抽 象服务,0≤玎≤1)来表示权重系数,在选取抽象服务A时,按权 重值n计算具体服务Qos。 定义 全局Qos规则GR:表达式n(O≤”≤1)来表示权重 一1335— 其中:N——黑盒子流程名称;A鼢一子流程中所有候选抽象 服务集;Aas—-实际流程所选的抽象服务集,它是Aaa的子 集;R--规则集;C——选取具体服务集。 万   方数据 系数,在绑定服务时,若无LR,按n作为默认值权重值n计算 具体服务Qos。 定义 费用规则CostR:表达式C似)≤玎其中A为抽

19、象服务, { 初始化:RA=Null,p=0.5 Fori=l to IRl{ Ap∈Aas 表示在绑定抽象服务A时,所选具体服务的费用不能大于n。 If@.T刽PR”and r.r为Apia and Cp=a,addA。into RA and aE Sp) 3黑盒子流程展开算法 在服务流程运行时,先将黑盒子流程根据抽象服务组合 算法展开为抽象子流程,再根据具体服务选取算法选取具体 服务组合运行子流程。 定义子流图G={V,E}:表示子流图G是~有向无环图。 其中V是子流图中的节点集合

20、包括一个开始节点Start、一个 结束节点End以及抽象活动节点;E是有向边集合。 定义 入度函数In(v):其中v是予流图G中节点v,表示 iffri.T=”GR”and r.r为n)p=val(n) } For i=l SI-S; to lAasl{ If(A。gRA){ Fori=l to IRI{ If(ri.T划LR”and r.r为{Lqos(A.)---n)p--val(n)) iffri.T.ffLR”and r.r为C(A.)≤m) select S”which c

21、ost 以v为头的有向边数目:出度函数Out(v):表示以v为尾的有 向边数目。连通函数Reach(vl,v2):表示若从结点v1出发能够 到达结点v2,则Reach(vI,v2)为真,否则为假. 抽象服务组合算法:组合时若两节点间无组合规则约束, 则将它们并发处理,提高流程执行效率。 ALGORITHM:ABSTRACT—SERVICES-COMPOSITION INPUT:Ba={N,Aaa,Aas,RC} 其中:Aas={A1,A2,…,Am)为用选定的抽象服务集,R={r1,r2,…,rm} 为组合规则集。 OUTPUT:G={V,E}或Null { 检查Aas是否符合ASS

22、R规则,若否返回null; 初始化:V={Start,End) Fori=l to is less than m from Si ifnot exist retun select x null;S'=S”;} with max.qos.val according to parameter P from S’ ci=谩}} Fori=l t01RI{ and Ap∈Aas If(ri.T_”CoR”and r.r为A。=a=Aqib Aa

23、s and and~∈ b∈S。and Cp=a)cq=b} Return Ba; ) 4框架结构 为了实现服务流程的动态组合,我们设计了一个实现动 态服务流程的框架结构(如图2所示)。其中流程库存储服务 流程定义文件;规则库存储业务规则,我们把相关领域规则和 and Aj,Ak∈Aas) lRI{ If@.T型SR”and r.r为Aj—Ak Dmwline(Aj,Ak),and 业务规则统称为业务规则;服务库存储业务伙伴注册的Web V add them into E,a

24、dd Aj,Ak to 服务接口描述文件. 则库) 俎&务鹿 If(r1.T=”AR”and r.r为A矿峨q Drawline(Ap,Aq),and Fori=l to and Ap,Aq∈Aas) add them into E,add Ap,Aq to V lRI{ An and Am,An∈Aas If(ri.T=”AR”and r.r为Am—D (Am.An)) Drawline(Am,An),and Fori_1 to and!Reach

25、 add them into E,add Am,An to V 子流程 组合器 add 回 lAas[{ 膛_一噩螽 l器 具体 务 务 If(Ai硭V)Drawline(Start,Ai),Drawline(Ai,End)and them into E,add Ai into V Fori=l to lvl{ add them into E add them into If(in(Ai)=O)drawline(Start,Ai)and If(Out(Ai)=0)draw

26、line(Ai,End)and RetumG) E) 具√1 觚上勰斯弹 K 垆仃一 一用需 一户求 服bI 具体服务选取算法:在将抽象服务绑定为具体服务时,若 无优先规则、关联规则约束,则依照Qos最大值选取。 ALGORITHM:CONCRETE SERVICES SELECTION 图2动态服务流程框架结构 流程设计者通过图形化流程定义工具,参照从规则库和 服务库获取规则和具体服务接口描述进行设计。在定义活动 节点时,如果活动所需调用服务是事先可以明确的固定服务, 则直接设置为具体服务;若

27、活动所需调用服务需动态选择,则 定义为抽象服务,对于事先无法明确流程的子流程,则封装为 黑盒子流程。 INPUT:Ba={N,Aaa,Aas,R,C) 其中:Aas={A。,A2,…,Am)为用选定的抽象服务集;R=札r2,…,rm) 为组合规则集;C={c。,c:,…,C。)为选定具体服务集,ci初始为Null。 s={s。,s:,…,S。)其中S;为A对应的候选具体服务集 OUTPUT:Ba或Null 一1336一 万   方数据 流程执行引擎是系统核心部件,负责动态流程的执行. 在执行时若活动节点为黑盒子流程,由子流程组合器根据组 合规则

28、和流程执行信息组合为执行子流程,并将展开的子流 程返回执行引擎继续执行;若活动节点为抽象服务,由服务 匹配器根据具体服务选取规则从服务库中选取具体服务,并 将取得的具体服务返回执行引擎继续执行;若活动节点为具 体服务,执行引擎通过调用业务伙伴的具体服务完成业务 流程,若调用具体服务时发生异常,交由服务匹配器重新选 取服务。 圆 吲 Michael Stal.Web services:Beyond component—based compu— ting[J].Communications Wetzel ofthe ACM,2002,45(1

29、 0):71—76. Ingrid,Klischewski Ralf.Serviceflow beyond workflow concepts and architectures for supporting inter-organizational service processes[C].Toronto,Canada:Procceeding of 14th In- ternational Conference on Advanced Information Systems En— gineering,2002.500

30、-515. 川 Sivashanmugam K,Miller J,Sheth A,et a1.Framework for seman- tic web process composition,se—mantic web role in enterprise application integration and services and their 5结束语 本文提出一种基于工作流Web服务动态组合方法,用黑 盒子流程封装难以事先定义流程结构的部分,根据用户需求 和预定义规则扩展为实际流程。 当业务规则发生变化时,只需更改相应规则,适应了现代

31、业务流程复杂多变的需求.采用何种策略解决规则冲突是我 们下一步的研究方向。 吲 吲 E-commerce[J].In- temational Joumal ofElectronic Commerce,2004,9(2):71-l 06. Quan serV a z Sheng,Boualem platform Benatallah,Marion Dumas,et a1.Self- a for rapid composition of webservices in peer- to—peer

32、 environment[C].Hong Kong,China:Proceedings of the 28th VLDB Conference,2002.105 1—1054. ActiveBPEL,LLC.Active BPEL engine http://www.activebpel.org. architecture[EB/OL]. 参考文献: [1】 Aphrodite Tsalgatidou,Thomi Pilioura.An overview ofstandards and related technology in

33、web 吲 Ⅲ VEGA Center.Project of FRAME2008【EB/OL].http://vega. ict.ac.cn/en/flame.jsp?id=dir36. Zeng L Z,Benatallah B A,Ngu H H,et a1.QoS-aware middleware on services[J].Distributed and Paral— for web services composition[J].IEEE Transactions

34、 Software lel Databases.2002.12:135.162. Engineering,2004,30(5):3 1 1-327. (上接第1263页) 参考文献: ∞ [I】 周晓锋,刘馨月,张靖波,等.基于可重用组件技术的软件开发方 法[J】.信息技术,2005,(11):139.141. oK一\OKi \(一/旧 Oracleuset DBUtil“yCOmponent [2】Martin Fowler,侯捷,熊节.Refactoring:Improving

35、 existing the design of code重构——改善既有代码的设计【M].北京:中国电 力出版社,2003.53-74. [3】 肖统民.具有数据库更新通知功能的数据库中间件[J].现代计 算机,2005,(1 1):28.30. 【4】 王怀民,王玉峰,丁博.分布对象中间件技术发展-—以COR— BA标准为背景[J】.中国计算机学会通讯,2005,(4):29-40. [5]Abernethy R.COM/DCOM unleashed[M].Hampshire:Macmil— lan Publisher,1 999.

36、图5应对变化,重构的中间件结构 6结束语 通观上述的设计过程,我们不难发现“需求的变化是随时 都可能发生的”。尽管这里的讨论有示意性的味道,但是“应 对变化"是一个不可争议的事实。 软件开发需要优秀的前期设计,因为这是构筑软件系统 的根基,也是未来适应变化的前提;软件开发同样需要不断的 重构,因为只有这样才可以找到改变的平衡点。于是,人们会 发现所谓设计不再是一切动作的前提,而是整个开发过程中 逐渐浮现出来的。1。 当开发者拥有了这两个利器,并且良好的协调使用它们 的时候,设计便会贯穿开发的始终,并且很有可能得到完美 的实现。 [6] Couch J.J

37、ava 2 enterprise edition bible[M].New York:John Wi- ley and Sons,2002. [7]Tom Pender,耿国桐,史立奇,等.UML宝典[M】.北京:电子工业 出版社,2004.292—308. 【8】 Erich Gamma,Richard Helm,Ralph Johnson,等.设计模式[M].北 京:机械工业出版社,2004. 【9] 刘寅航.系统分析之路[M】.北京:电子工业出版社,2005. [10]梅宏.软件中间件技术现状及发展【R】.北京:清华大学出版社, 2005.45—61. [11】齐德昱,胡镜林,张鹏.多数据库中间件的模型研究fJ].计算机 工程与设计,2005,26(10):2602-2605. 【12】林舒萍,罗键.设计模式的应用研究[J】.计算机工程与设计, 2005,26(1 1):2980.2982. 一1337一 万   方数据

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服