基于SOA架构的Web服务组合系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
730
小 型 微 型 计 算 机 系Байду номын сангаас统
2007 年
合系统都是采用在W eb 服务组合设计期间就指定具体W eb 服务的静态组合方式. 由于提供相同功能的W eb 服务的数量 不断增加且经常变化, 在服务组合设计期间就指定具体W eb 服务的做法是不合适的 [5 ] , 因此应采取将具体的W eb 服务绑 定延迟到组合W eb 服务执行时才动态完成的动态组合方式. 研究机构推出的W eb 服务组合系统是基于动态组合的, 主要 有: 由 H P 实验室开发的W eb 服务组合平台 eF low [6 ] , 提供定 义、建立和监控组合W eb 服务的功能, 但只支持运行前的服 务绑定, 动态性和灵活性不够, 此外服务的注册查询缺乏语义 支持, 组合的准确率和效率待改善; 由新南威尔士大学和昆 士兰大学合作设计的W eb 服务组合系统原型 SEL F 2SERV [7 ] , 允许用户通过使用服务构造器来定位所需服务, 从而构造工 作流, 但要求参与组合服务的W eb 服务提供者必须安装该系 统提供的一个协调器和包装器来实现W eb 服务的调用, 而且 缺乏语义支持; L. Zeng 等设计的D Y flow [8 ] 使用组合规则进行 服务组合的设计, 需要用户为每个W eb 服务手工录入语义信 息, 对用户要求较高; 由美国乔治亚大学的L SD IS 实验室研究 的 Co s M o s[3 ] , 增加了针对W eb 服务语义信息的支持, 但需要 用户使用自然语言表达需求, 由于自然语言的多义性使得用 户的需求很难表达清楚, 而且它摈弃了 U DD I 的使用, 需要用 户按照它的规则编辑W eb 服务, 这样就很难使用在U DD I 中 注册的大量W eb 服务; SW O RD [9 ] 只对特定W eb 服务类型 ( 提 供 信 息 服 务 的 W eb 服 务 ) 有 效, 不 适 用 于 所 有 的 W eb 服 务 ; L . Zeng 等设计的另一个W eb 服务 组 合 系 统A gFL ow [5 ] 中提出按照W eb 服务的质量 (Q oS ) 进行服务选取的方法, 但 是需要由服务提供者和用户为W eb 服务提供Q oS 信息. 上述W eb 服务组合系统大都包括了组合模型建立模块, 服务选取模块, 执行引擎模块和服务存储 (U DD I) 模块, 但不 同系统中每个模块的实现方法差异很大, 不同的实现方法只 适用于特定的环境. 面向服务的体系结构 ( SOA ) , 是一种在计算环境中设计、 开发、 部署和管理离散逻辑单元 ( 服务) 的模型, 是一种架构模 型和一套设计方法学, 其目的是最大限度地重用应用程序中 已有的服务 [10 ]. SOA 是一种松散耦合的应用程序体系结构, 在这种体系结构中, 应用程序的不同功能单元被包装为服务, 每个服务带有明确可调用的接口, 服务的接口采用中立的方 式进行定义, 独立于实现服务的硬件平台、 操作系统和编程语 言. 系统中的服务可以以统一、 通用的方式交互, 服务之间的 相互通信, 可以是简单的数据传递, 也可以以定义好的顺序调 用多个服务进行服务组合 [11 ]. SOA 的关键是服务的概念, 定 义了系统由哪些服务组成, 描述了服务之间的交互, 并将服务 映射到一个或多个具体技术的实现 [12213 ]. 应用 SOA 架构是构建松散耦合的W eb 服务组合系统的 一个有效的手段, 本文研究了使用 SOA 架构构建W eb 服务组 合系统的方法, 并根据此方法设计与实现了一个基于 SOA 架 构的松散耦合、 可按需定制的W eb 服务组合原型系统.
小 型 微 型 计 算 机 系 统 Jou rna l of Ch inese Com p u ter System s
2007 年 4 月 第 4 期 V o l128 N o. 4 2007
基于 SOA 架构的W eb 服务组合系统
高 岩, 张少鑫, 张 斌, 那 俊, 张文斌
( 东北大学 信息科学与工程学院 计算机应用技术研究所, 辽宁 沈阳 110004) E2 m ail: gaoyan@ ise. neu. edu. cn. zhangb in@ ise. neu. edu. cn.
收稿日期: 2006201223 基金项目: 国家 “十五” 科技攻关计划 (2004 BA 721A 05) 资助. 作者简介: 高 岩, 男, 1970 年生, 讲师, 博士研究生, 研究方向为W eb service、 语义W eb 等; 张少鑫, 女, 1980 年生, 硕士研究生, 研究方向为W eb service; 张 斌, 男, 1964 年生, 教授, 博士生导师, 研 究方向为W eb service、 语义W eb、 网格技术等; 那 俊, 女, 1980 年生, 硕士研究生, 研究方向为W eb service; 张文斌, 男, 1979 年 W eb 信息集成、 生, 硕士研究生, 研究方向为W eb service.
1 引 言
近年来, 大量的W eb 服务已经在互联网的开发中快速地 出现,W eb 正发展为一个集成信息资源的分布式的计算环 境 [1 ]. 但随着用户需求的不断增加以及越来越复杂, 单独的
W eb 服务已经很难满足用户的需求 [2 ] , 而应用程序应当能适
应不同用户的不同需求. 动态服务组合是按需利用已有W eb 服务组合成新服务的技术 [3 ] , 可以迅速的构建起新的增值
摘 要: 应用SOA 架构是构建松散耦合W eb 服务组合系统的一个有效途径. 本文在深入研究W eb 服务组合系统一般工作流程 的基础上, 提出了一种基于 SOA 架构和分层协议栈机制构建W eb 服务组合系统的方法, 给出了服务分层模型和分层协议栈, 设 计并实现了一个基于 SOA 架构的松耦合原型系统来实现W eb 服务组合, 可为W eb 服务组合的研究和企业应用提供灵活的实 验及应用开发平台. 关 键 词: W eb 服务; SOA ; W eb 服务组合; 分层协议栈 中图分类号: T P393 文献标识码: A 文 章 编 号: 100021220 ( 2007) 0420729205
W eb 服务组合系统是通过将W eb 服务有效地组合以构
建组合W eb 服务以及W eb 应用的系统, 系统的基本结构包含 服务注册与发布、 服务的组织与管理、 服务的评价与维护、 组 合服务流程建模、 服务选取、 组合服务监控执行等功能模块. W eb 服务组合系统的一般工作流程如图 1 所示.
Abstract: SOA p rovides an effective w ay fo r con structing loo se - coup led W eb services com po sition system. O n the ba sis of studying the generic p rocess of W eb services com po sition, th is p ap er p ropo ses a m ethod fo r con structingW eb services com po si2 tion system w h ich is ba sed on SOA and a layered p ro toco l stack. T h is p ap er a lso p resen ts a layered service m odel and a layered p ro toco l stack. F ina lly, th is p ap er design s and rea lizes a loo se- coup led p ro to typ e system fo r com po sing W eb services w h ich w ill be a flex ib le exp eri m en t and developm en t p la tfo rm fo r bo th of the resea rches on W eb services com po sition and app lica tion s of en terp rise. Key words: w eb service; SOA ; w eb services com po sition; layered ag reem en t stack
SOA Ba sed W eb Serv ices Com pos it ion System
GAO Yan, ZHAN G Shao 2x in, ZHAN G B in, NA J un, ZHAN G W en 2b in
(C olleg e of Inf orm a tion S cience and E ng ineering , N ortheastern U n iversity , L iaon ing , S heny ang 110004, C h ina )
并可按需定制新的服务集成到系统中, 灵活地组建应用系统, 应用 SOA 架构是构建松散耦合W eb 服务组合系统的一个有 效途径. 本文在深入研究W eb 服务组合系统一般工作流程的基 础上, 提出了基于 SOA 架构和分层协议栈机制的松散耦合 W eb 服务组合系统的构建方法, 划分了W eb 服务组合系统的 服 务层次, 给出了W eb 服务组合分层协议栈, 设计并实现了 一个基于SOA 架构的W eb 服务组合原型系统, 该系统中的每 个服务都可以由用户根据分层协议栈中的协议标准, 按照其 业务需求自行设计实现, 用以替换系统中原有的服务, 构建新 的W eb 服务组合系统, 从而在新系统上使用W eb 服务构建出 满足其要求的组合W eb 服务以及W eb 应用.
W eb 服务或W eb 应用系统, 更好地满足用户的需求. W eb 服
务组合被认为是集成分布的、 异构的、 自治的应用的一个有效 的解决方案 [4 ]. 随着W eb 服务组合成为W eb 服务应用开发阶段的研究 热点, 出现了越来越多的W eb 服务组合系统 [3, 529 ] , 这些系统 分别针对不同的用户、 不同的应用背景和不同的研究方法而 研制, 都有其使用和运行的特定环境要求, 相同的功能在不同 的系统中也可能使用不同的算法或方法来设计与实现, 这些 情况都使得现有的W eb 服务组合系统只适用于特定环境, 而 不能适应用户复杂多变的需求, 建立出用户满意的组合W eb 服务或W eb 应用. SOA 是松散耦合的, 可以重用已有的服务,
图 1 W eb 服务组合系统一般工作流程
F ig. 1 Generic p rocess of W eb services com po sition system
3 基于 SOA 架构的W eb 服务组合系统设计原理
3. 1 W eb 服务组合系统工作流程
服务提供者向扩展 U DD I 中发布服务, 并基于领域本体 扩展W eb 服务的语义信息和服务质量信息; 管理员使用服务 组织管理模块根据服务的语义信息和领域本体按照一定的方 法对服务注册库中的服务进行组织和管理, 形成抽象服务; 组 合服务设计者使用建模工具, 建立基于抽象服务的W eb 服务 组合执行流程; 组合服务实施者选择执行流程, 交由动态服务 选取模块进行动态的W eb 服务选取, 选取出满足要求的由具 体W eb 服务以组成组合 W eb 服务; 执行引擎对组合W eb 服务 进行监控执行, 并将组合W eb 服务和具体W eb 服务的执行情 况记录到日志中; 服务评价与维护模块根据日志对W eb 服务 进行评价与维护, 评价与维护的结果被记录到扩展的 U DD I 中, 用以修正服务提供者发布的信息. 3. 2 基于 SOA 的服务划分 根据W eb 服务组合系统的一般工作流程, 按照 SOA 架构 将W eb 服务组合系统中涉及的功能模块划分为 6 个层次, 每 层分别负责相应的功能. 将W eb 服务组合系统中六大主要功 能模块进行包装, 形成由下至上分层次的六个粗粒度的服务, 形成基于SOA 的W eb 服务组合系统的服务分层模型, 该服务 分层模型如图 2 所示. 3. 2. 1 扩展U DD I 服务. 提供W eb 服务发布平台, 允许服务 提供者发布W eb 服务, 并根据本体对W eb 服务的功能性信息 和非功能性信息 ( 如服务质量) 进行语义扩展, 同时提供基于 语义的W eb 服务发现功能, 并能根据评价标准提供W eb 服务 的排序和推荐功能, 更好地支持W eb 服务的动态组合. 3. 2. 2 W eb 服务评价与维护服务. 提供针对W eb 服务的评 价标准, 并依据该标准对W eb 服务进行评价, 并可根据W eb
2 相关研究
使用W eb 服务组合来处理复杂的事务操作已经被认为 是实现企业间协作的一个可行的方法 [4 ] , 很多 IT 公司以及研 究机构推出了自己的W eb 服务组合系统产品和研究成果. 其 中I 微 BM 公司的B PW S4J、 B EA 公司的 W ebL og icW o rkShop、 软公司的B izT a lk Server 等由 IT 公司推出的W eb 服务组