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

  • 格式:pdf
  • 大小:18.08 KB
  • 文档页数:9

本文由1989747贡献 pdf1。 第28卷 V01.28 第6期 NO.6 计算机工程与设计 Computer Engineering and Design 2007年3月 Mar.2007 Web服务动态组合方法研究与设计 夏海江。2, 邓水光2, 吴朝晖2 (1.温州大学计算机科学与工程学院,浙江温州325027; 2.浙江大学计算机学院中间件技术工程研究中心,浙江杭州310027) 摘要:目前基于工作流的Web服务组合方法大多要求预先定义流程结构,不能适应现代企业业务流程复杂多变的需求。提 出了一种Web服务动态组合方法,将流程中动态部分用黑盒子流程进行封装,在执行时根据预定义规则和用户需求将黑盒 子流程自动组合展开为实际运行流程。对具体服务、抽象服务、黑盒子流程等概念和服务选取规则、服务组合规则进行了定 义,详细描述黑盒子流程展开算法,并设计了一个实现动态服务流程组合的框架结构。 关键词:服务组合;动态流程;业务流程管理;业务规则;工作流 中图法分类号:TP393.09 文献标识码:A 文章编号:1000—7024(2007)06.1334.04 Research and design 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 University,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 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

page 1 run actual process according to the predefined rules and the services user。S requirements at time.The 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 service flow composition is designed. Key words:services composition;dynamic process;BPM;business rules;workflow

0引 言 方式过于刚性,应用范围窄。动态组合方式在设计以抽象服 务代替具体的服务,在执行时根据运行情况再绑定具体服务, 此方式适应了网上服务不断变化或事先无法确定绑定哪个具 体服务的需求。但现有的项目大都要求事先给出流程结构, 实际上许多业务流程不是一成不变的,多变性和不确定性是 现代企业业务流程的特点,流程业务规则逻辑复杂多变,用户 需求各异,不同流程实例执行路径和所要绑定的服务可能是 不同的,在设计时很难给出完整的流程定义,即便能够给出完 整定义,其流程结构往往过于庞大,难以理解和更新,很难适 应业务规则多变的需求。因此Web服务组合需要在运行时确 定流程结构。 针对上述动态流程的需求,本文提出一种基于动态工作 流Web服务组合方法,在流程定义时给出流程框架,对其中可 以事先明确的流程进行定义,而对于难以事先明确流程的子 流程以黑盒方式封装,在运行时根据预定义规则和运行信息 将其展开为实际运行流程。本文设计一个实现动态服务流的 Web服务技术通过基于XML的开放性标准和协议,实现 了分布计算环境中各种异构平台上的应用程序间的信息交互 和远程调用“121。当前越来越多的应用程序以Web服务的方式 出现在网络中,以便被发现和调用,达到业务增值的目的。Web 服务组合技术通过将独立于各个系统中单一功能的Web服务 松耦合集成,以实现具体的业务流程。Web服务组合作为下一 代Web应用的关键技术,引起了许多公司和研究机构的极 大兴趣。 Web服务组合与工作流有许多共同之处,可以以流程中 心将服务组合在一起,将服务组合视为一种特殊的工作流,称 之为服务流01。目前出现了许多基于工作流的Web服务组合 项目,如METEOR-S“】、SELF.SERVl51.Active Bpell6J、FLAME2008 ”1等,服务组合方式可分为静态组合和动态组合方式。静态组 合方式在流程执行前定义了流程结构并绑定具体服务,这种 收稿臼期:2006—02?1 8 E-mail:jsj xhj@wznc.zj.cn 基金项目:浙江省科技厅重大重点科技攻关基金项目Q004C11053)。 作者简介:夏海江(1968一),男,浙江温州人,硕士研究生,讲师,研究方向为Web服务组合、应用中间件技术;

page 2 研究方向为工作流、Web服务组合; 吴朝晖,教授,博士生导师,研究方向为网格与软件平台、分布式人工智能等。 邓水光,男,博士研究生 一1334— 万 方数据 框架结构,并对组合规则和算法进行了详细抽述。 在定义黑盒子流程时,Aas、R、C为空。在流程运行时根 据用户需求在Aas中自动填入的实际运行抽象服务集,在R 填入用户的需求规则,并根据Aas在规则库中查询相应业务 规则加入R中。 2.2规则定义 定义 l场景 以一个旅游预定业务的场景来说明动态Web服务流程的 需求。一家旅游公司开展个性化旅游服务业务,业务流程如 图1所示。在取得客户基本信息、信用卡信息后,先调动相应 核查信用卡信息W曲服务,若有效再取得客户需求信息,通过 调用各相关公司或代理提供的Web服务完成相应项目的预 定,最后通过调用信用卡Web服务完成收费。由于客户需要 预定项目各异(如是否需要预定机票、旅馆、旅游项目、餐饮、 车辆、保险等),同时预定项目选取和预定先后次序受政策、行 规、公司业务规则、相互间数据和控制依赖等因素制约(如参 加某项目必须买某项保险,在完成机票预定后才能预定旅馆 等),项目预定功能无法事先设定流程,不同客户需求产生的 流程结构可能是不同的,只有在流程运行根据客户需求才能 确定实际流程。

其中:卜规则类型,A——规则涉及的服务集,r_规 则表达式。 2.2.1抽象服务选取规则ASSR ASSR规定了黑盒子流程在选取抽象服务必须满足约 束条件。 定义 选择规则CR:表达式A10爿20…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之后执 数据依赖规则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选取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_执行结果。

page 3