(计算机软件与理论专业论文)面向科研领域的一种探索式服务组合支撑系统.pdf_第1页
(计算机软件与理论专业论文)面向科研领域的一种探索式服务组合支撑系统.pdf_第2页
(计算机软件与理论专业论文)面向科研领域的一种探索式服务组合支撑系统.pdf_第3页
(计算机软件与理论专业论文)面向科研领域的一种探索式服务组合支撑系统.pdf_第4页
(计算机软件与理论专业论文)面向科研领域的一种探索式服务组合支撑系统.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(计算机软件与理论专业论文)面向科研领域的一种探索式服务组合支撑系统.pdf.pdf 免费下载

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

文档简介

摘要 近年来,面向服务计算成为已经逐渐成为分布式计算研究领域的重要范型。在服务 计算环境下,服务组合是构建面向服务、松耦合、集成化的应用系统的主要途径。现行 服务组合技术大多只适于构造需求明确、业务流程可预先定义的情况然而在科研协作、 远程医疗、城市应急等应用领域问题求解的过程中,人们逐渐认识到许多业务流程难以 预先定义完备。 针对这类需求,并结合网络化科研协作项目中遇到的由于科学活动的创新性和不确 定性,科研人员常常很难确定整个科研流程的问题,我们提出一种面向服务计算环境下 探索式服务组合方法和模型。该方法强调一种运行时构建业务流程的新型应用构建模式, 让最终用户在不完全确定组合过程的情况下像使用“文本超链接”一样选择业务层面那 些用户可理解的抽象服务,实现“探索式”的应用即时构造。 基于上述方法的核心思想,本课题设计并实现了探索式服务组合方法的支撑平台及 其核心支撑机制。该平台支持运行时应用构造方式;提供图形化用户接口,接入平台的 服务资源和用户的基本操作都以图形形式显示,便利用户识别和使用:提供半自动化应 用开发方式,用户只需通过简单的拖曳和配置操作就能组合平台上的服务资源构造所需 的应用;该平台提供实时监控功能,用户可以通过监控台来监控服务的执行情况,及时 获得异常信息并对应用流程进行调整;该平台提供即时服务推荐机制,该机制依据一定 的规则根据用户当前语境信息即时地对用户选择服务进行有效的提示和推荐,辅助用户 快速有效地探索应用。 此外,以该系统作为实验平台,通过在“网络化科研协作”项目中的应用,探索式 服务组合方法的可行性和有效性在一定程度上得到了验证。 关键字:最终用户编程探索式服务组合服务推荐编程模型 中国科学院硕士学位论文面向科研领域的一种探索式服务组合支捧系统 a ne n a b l i n ge n v i r o n m e n tf o re - s c i e n c e - o r i e n t e de x p l o r a t o r ys e r v i c ec o m p o s i t i o n w a n gh o n g c u i ( c o m p u t e rs o f t w a r ea n dt h e o r y ) directed b yh a r ty a n b o t o d a y , s e r v i c e - o r i e n t e dc o m p u t i n gi sb e c o m i n ga ni m p o r t a n tp a r a d i g mi nd i s t r i b u t e d c o m p u t i n ga r e a s e r v i c ec o m p o s i t i o nb e 吣o m 鹤t h em a i nw a yt oc o n s t r u c ts e r v i c e - o r i e n t e d , l o o s e l yi n t e g r a t e da p p l i c a t i o ns y s t e m s n o w a d a y sm o s ts e r v i c ec o m p o s i t i o nt e c h n o l o g i e sa r e o n l ys u i t a b l ef o rs o l v i n gt h ep m b l e m st h a tr e q u i r e m e n t sa r ed e f i n i t ea n db u s i n e s sp r o c e s s e s n e e dt ob e p r e d e f m e d i nm a n ya p p l i c a t i o n a r e a ss u c ha ss c i e n t i f i c c o l l a b o r a t i o n , t e l e - m e d i c a l - s e r v i c o s , c i t ye m e r g e n c ya n ds oo n , p e o p l eh a v er e a l i z e di ti sh a r dt ok n o wt h e w h o l ep r o c e s so fh o wt oc o m p o s et h es e r v i c e - o r i e n t e di c s o b o c st oa c h i e v et h e kg o a l si n a d v a n c e m o t i v a t e db yt h er e q u i r e m e n t so ft h ep m j e c tf o rd e v e l o p i n gad y n a m i cp m b l e m - s o l v i n g e n v i r o n m e n tf o rs c i e n t i s t s , b yw h i c hs c i e n t i s t sc a nn o tp r e d e f m et h ew h o l ea p p l i c a t i o np r o c e s s b e c a u s eo ft h ec r e a t i v ea n du n c e r t a i nn a t u r eo ft h es c i e n t i f i cr e s e a r c h ,an e wa p p r o a c ht o e x p l o r a t o r ys e r v i c ec o m p o s i t i o ni sb r o u g h tf o r w a r d t h i sa p p r o a c he m p h a s i z e sa p p l i c a t i o n c o n s t r u c t i o n ( p r o g r a m m i n g ) a tm n t i m e u s i n gt h i sa p p r o a c h , u s e r sc o u l dc o m p o s et h o s e e n d - u s e ru n d e r s t a n d a b l ea n de x e c u t a b l eb u s i n e s ss e r v i c e st od e v e l o pa p p l i c a t i o n so nt h ef l y w ed e v e l o p e da l le n a b l i n gs o f t w a r ee n v i r o n m e n tf o rt h ee x p l o r a t o r ys e r v i c ec o m p o s i t i o n a p p r o a c h t h es o f t w a r ea l l o w ss c i e n t i s t s t ow r i t ew o r k f l o w sw i t h o u th a v i n gt ol e a r nt h e e x p l o r a t o r yl a n g u a g e i th a san u m b e ro fi m p o r t a n tf e a t u r e s :i ts u p p o r t sa p p l i c a t i o nc o n s t r u c t i o n i nt h ec o u r r , o fe x e c u t i o n ;i tp m v i d 路ag r a p h i c a lu s c ri n t e r f a c e , a l it h er e s o u r c e sa n db a s i c o p e r a t i o n sa r ep r e s e n t e dg r a p h i c a l l y ;i tp r o v i d 髂s e m i a u t o m a t i ca p p l i c a t i o nd e v e l o p m e n t u s e r s o n l yn e e d ,b a s e do np r e d e f i n e dm o d e l i n ge l e m e n t sa n dm l e s ,t od r a ga n dc o n f i g u r et h es y m b o l s r e p r e s e n t i n gs e r v i c e st oe x p r e s st h e i rs p e c i f i cr e q u i r e m e n t s ;i tp r o v i d e sar e a l - t i m em o n i t o r t h r o u g ht h em o n i t o r , u s e r sc o u l dw a t c ht h ep r o c e s so fs e r v i c e s e x e c u t i o na n dr e s u l t so ft h e m t h i sf a c i l i t a t e su s e r st oo b t a i ne x c e p t i o n si nt i m ea n dd e a lw i t ht h e mi nt i m e ;i tp m v i d 鼯a j u s t - i n - t i m es e r v i c er e c o m m e n d a t i o nm e c h a n i s m t h i sm c c h a n i s mi st a r g e t e d a t a s s i s t i n g s c i e n t i s t sb yr e c o m m e n d i n gt h em o s tp r o m i s i n gs e r v i c e st h a t w i l lb er e q u i r e d u s i n gt h ea b o v ed e v e l o p m e n ts y s t e ma n dt h er e a lr e q u i r e m e n t so ft h e “n e t w o r ks c i e n t i f i c r e s e a r c hc o l l a b o r a t i o n ”p m j e c ta sat e s tb e d , w ep r o v e dt h ef e a s i b i l i t ya n dv a l i d i t yo f e x p l o r a t o r ys e r v i c ec o m p o s i t i o na p p r o a c h k e y w o r d s :e n d - u s e rp r o g r a m m i n g , e x p l o r a t o r y s e r v i c e c o m p o s i t i o n , s e r v i c e r e c o m m e n d a t i o n , p r o g r a m m i n gm o d e l n 图1 1 探索式服务组合方法示意图 图目录 2 图1 2 v i n c a 服务虚拟化机制。5 图2 1 w e b 服务协议栈 图2 2 面向服务架构 图3 1 业务积木示意图 图3 2 应用超链示意图 图3 3 超链连接约束示意图 图3 4 业务积木语法结构图 图4 1 服务推荐问题分析 图5 1 探索式服务组合支撑系统架构图 图5 2 探索式服务组合客户端平台功能设计 图5 3 探索式服务组合开发平台主页面 图5 4 交互模块对执行按钮处理流程 图5 5 服务结果察看页面 图6 1 业务积木建模及使用示意图 图6 2 探索式服务组合探索实例 v j m坫博殂笛豇钟n仉舶骢 表3 1 五种基本的控制逻辑 表4 1 后续服务推荐算法 表4 2 并行服务推荐算法。 表5 1h i b e r n a t e 配置文档 表5 2 执行步集对象文件 表目录 v 1 1 9 2 8 2 9 4 2 4 3 声明 我声明本论文是我本人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,本论文中不包含其 他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做的任 何贡献均己在论文中作了明确的说明并表示了谢意。 作者萼名:王j 美珲 日期: 论文版权使用授权书 本人授权中国科学院计算技术研究所可以保留并向国家有关部门或机 构送交本论文的复印件和电子文档,允许本论文被查阅和借阅,可以将本论 文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编本论文。 ( 保密论文在解密后适用本授权书。) 雠名:督副雠:咿坩隰耐钾 第一章绪论 现今,科学研究的问题日趋复杂化,科学工作者难以独自完成科学研究活 动。9 0 年代初,生物学家能在电脑上模拟一个小分子就己兴奋异常,而今天, 他们却需要模拟上千个新药的分子结构,以了解分子间与特定蛋白质的作用。 高能物理领域中,为了要探索粒子问的作用,每年都会产生p b 级别的数据量。 对此,一部电脑,一个集群、甚至一台超级计算机,其能力都不足以满足现今 科学家所想要的计算能力。科学问题的求解对不同组织的协作需求加强,要求 传统的局限于单一组织的应用向跨越多个协作组织的、集成化的网络协同应用 转变 伴随着互联网的持续繁荣,利用网络所进行的资源共享和协作研究也越来 越普遍。网络环境使全球性的跨地域、跨机构、跨学科的大规模科研工作成为 可能。由于网络环境下资源的分布、异构和自治的特性,要实现支持科研工作 者的问题求解环境还存在很多挑战性问题。面向服务计算技术为网络协同应用 的构造提供了新的计算平台,基于此平台上开发面向服务的应用具有很好的灵 活性和互操作性 在科研领域,大多数课题都是为发现、认识新的科学规律,验证命题的正 确性,观察、总结结果等,一项科研实验有多个实验环节,整个实验常常涉及 若干分布、异构的计算机应用,因此科研活动具有很强的探索性,科研流程也 存在着较大的变化性和不确定性。正是由于科学活动的创新性和不确定性,许 多科研领域问题求解的流程难以预先定义完备。然而,现行服务组合技术大多 只适于构造需求明确、业务流程可预先定义的情况。由此本课题开发了探索式 服务组合开发系统 本文依托“网络化科研协作”一面向科研工作者的动态协同问题求解环境研 究项目,针对该项目中遇到的科学家们对过程非确定的实际问题,设计并实现 了探索式服务组合支撑系统下面首先介绍相关的研究现状,然后说明本文的 主要工作与贡献,最后是论文结构。 1 1 研究的背景和意义 正如绪论中提到的,面向服务计算范型【p a p a + 0 3 】以其标准化、松耦合的集 成方式为提高应用系统的互操作能力和灵活性带来新的曙光。然而,由于科研 领域中科研活动的创新性和不确定性,许多科研问题求解存在过程不确定问题, 现有的服务组合技术却不足以解决这个问题。 网络化科研协作项目来源于国家自然基金项目,该项目面向科研领域,解 中国科学院硕士学位论文一面向科研领域的一种探索式服务组合支撑系统 决其中的动态问题求解环境的搭建问题。在该项目中,我们遇到过程非确定的 情况:往往,为发现、认识新的科学规律,验证命题的正确性,观察,总结结 果,一项科研实验有多个实验环节,整个实验常常涉及若干分布、异构的计算 机应用,实验对数据存储量和计算能力要求较高,需要协同使用本地和远程的 信息存储和计算能力当前,网格环境下开始出现相当数量以w e b 服务形式存 在的网上计算和信息资源。为完成分析研究工作,科研工作者需要组织和利用 这些w e b 服务。然而,科研工作者做研究时:一方面,面对待解问题,往往事 先不清楚实验的整个过程,需要根据前一阶段的实验结果来确定下一步的实验 内容,也常常需要根据结果来反复修改实验参数( 包括调用不同的服务) 来观 察不同的结果和达到满意的实验( 服务) 效果;另一方面,科学问题求解方法 存在很强的探索性,科研人员需要利用他人的探索经验和知识来辅助自己的探 索。 针对网络化科研协作项目中的实际问题,我们在v i n c a 方法学的基础上 开发了探索式服务组合方法( 如图2 1 所示) 的支撑平台来解决上述需求和挑 战。该平台主要试图解决三个基本问题:1 呈现最终用户可理解的服务,这里 的最终用户是科研工作者而非专业r r 人士;2 支持用户运行时构建应用,允 许科学家们以“边构造边执行”的方式完成科研结果的探索;3 提供系统辅助 用户探索的机制,该机制可以学习系统中前人探索的经验,即时向用户推荐服 务,辅助用户快速有效地完成整个应用的开发。 i 扭宦目豫产氆取再户- 彘蕺 l 终应甩r 岛| 镡巍袁鼻 9 【:三三三匝三兰至瑟:蔓:曼! 三三燮坠; 图1 1 探索式服务组合方法示意图 图中所示的各类箭头对应探索式服务组合需要的主要操作,其中空心箭头 表示用户的“编程”操作,实心箭头表示编程环境的支撑操作。编程环境首先 对可用的w e b 服务进行虚拟化得到最终用户可直接使用的业务级服务( 称为业 务积木) ,加以特定的限定和约束后的某一业务领域( 在此特指领域专家定义的 逻辑划分) 的业务级服务集合称为领域服务社区( d o m a i n - s p e c i f i cs e r v i c e 2 第一章绪论 c o m m u n i t y ) 。在服务社区基础上系统向用户推荐适合的服务,最终用户按需选 择并配置服务,当用户配置完后即可执行这些服务,并根据执行结果继续构建 应用 1 2 关键问题 探索式服务组合支撑系统提供了传统工作流系统和服务组合系统不能提供 的新特性为了更好的支持用户探索式地构造应用,简化用户操作,便利用户 探索,我们的探索式服务组合开发系统必须解决以下关键问题。 1 2 。1 支持“边构造边执行”开发方式的问题 面向科研领域的一种探索式服务组合系统的目标是实现对“边构造边执行” 的构造方式的支持,在科研领域这个问题涉及两方面的含义:一是系统支持用 户在过程不明确的情况下,一步一步地进行探索式构造;二是用户可以查看自 己正在探索的应用的结果信息,弗根据这些信息来决策自己下一步要探索的内 容。要支持这种方式涉及到我们的引擎如何支持单个业务积木的执行和一个过 程片断的执行、如何呈现结果信息等。在科研领域尤其是生物信息领域,很多 试验结果都是很大的,不能直接呈现在页面上。 1 2 2 易用性问题 作为一个最终用户服务组合开发平台,如何降低对用户的编程要求,是一 个重要的问题,如何让科学家们能像以往使用桌面问题求解环境一般使用网络 下的问题求解环境是我们需要考虑的问题。这个问题主要从以下几个方面考虑: 1 ) 图形化用户接口,平台将接入服务资源和用户的基本操作都以图形形式 显示,便利用户识别和使用这需要考虑资源的呈现方式、应用的浏览方式。 2 ) 半自动化应用开发方式,提高服务组合的自动化程度。使用平台开发应 用,并不是要用户像使用工作流系统一样自己去设定所有的数据逻辑和控制逻 辑,为进一步降低对用户的编程要求,我们需要考虑让用户不需要特别学习探 索式服务组合方法的知识就能够进行开发。这个问题需要考虑服务之间的默认 逻辑、如何界定不同服务之间的控制关系、数据关联的建立规则等。 3 ) 多个工作同时进行用户可能同时进行多个研究,我们需要考虑给用户 设置可灵活切换的工作台 4 ) 监控问题用户使用系统进行探索式构造应用时,需要实时察看服务的 执行情况,及时获得异常信息并对应用流程进行调整。这也是我们必须考虑的 问题 3 中国科学院硕士学位论文一面向科研镶域的一种探索式服务组合支捧系统 1 2 3 他人经验的学习问题 很少有科学问题只需几步就能解决,往往是需要多个相互独立的问题求解 组合,以及反复的执行才能获得满意的结果。科学活动体现了很强的探索性, 因此如何帮助科学家们利用他人的探索经验和当前的语境信息来快速高效的建 立和调整流程具有重要的意义。系统需要提供一种系统辅助编程机制,当用户 探索式构造应用时,向用户推荐服务,辅助应用构造。其中,主要问题是服务 推荐算法的设计和实现 1 3v i n c a 服务网格平台简介 中科院计算技术研究所网格与服务计算研究中心利用服务网格技术,开发 了v 玳c a 服务网格平台v i n c a 服务网格平台的核心是一个面向业务人员的 应用即时构造语言 h a r t + 0 3 】,业务人员可直接利用v i n c a 规划其业务流程并配 置经过了虚拟化处理【房+ 0 5 】、具备业务语义的r r 资源。在“f l a m e 2 0 0 8 ”项 目中,我们构建了相应的软件基础设施来支持最终用户的即时应用构造。下面 介绍该平台的两个重要工具。 1 。3 1 业务服务建模工具 从业务角度将服务定义为一种商业活动励作,提供一种业务层面的服务模 型及其建模机制,以得到一种最终用户可理解、执行、编程的业务层服务,实 现业务级别服务资源的重用,从而支持最终用户编程。使用工具的建模过程: 1 确定领域边界。 2 建立问题域所需的本体。 3 领域需求分析 4 标识业务服务。领域专家针对需求分析的结果标识系统需要提供的服 务,并分别从动作本体和实体本体中选择合适的本体概念标识功能的 动作和作用对象这种业务服务定义方式可以直观表达服务的功能, 易于最终用户理解。 5 定义业务服务属性领域专家通过以本体概念进行标注的方法描述服 务的属性,一方面可以方便最终用户对服务的理解,另一方面可以实 现与w e b 服务的精确匹配。 6 业务服务扩展领域专家定义基础业务服务,业务人员按照自己的业 务信息进行配置的方式得到具体业务服务基础业务服务完成同一类 业务功能,而具体业务积木完成该类业务功能中某一具体业务功能。 4 第一章绪论 1 3 2 服务虚拟化工具 在应用的执行过程中,通过服务虚拟化工具来实现业务服务和物理服务的 绑定、解决不同服务提供者所提供的服务在语义描述上的差异,以及支持对满 足相同业务功能的物理服务的聚类,以实现用户对服务资源的透明访问。下图 1 3 给出了v i n c a 体系中的服务虚拟化机制: 图1 2v i n c a 服务虚拟化机制 如上图,虚框中服务虚拟化机制包括了语义标记,聚类,虚拟化运算和关 联等具体过程。其中关联是指在语义冲突或者自动关联失败后的手工映射过程。 服务虚拟化过程通过服务的组合、转换等虚拟化运算来解决单个服务不能 满足当前业务功能的问题。服务虚拟化机制的引用使得业务用户和服务提供者 可以分别完成业务服务和物理服务的定义,而由该机制保证他们之间的关联, 显然这种方式支持服务资源的动态加入和退出,所以更为适应动态开放的网格 环境。 1 4 关于本论文 通过前面对面向服务计算技术、针对科研领域的科研工作流以及探索式编 程等研究工作的分析,我们以此为基础,在这一节对本文的主要工作进行介绍, 包括论文主要工作与贡献及论文的组织。 1 4 1 主要工作与贡献 针对网络化科研协作项目中遇到的过程非确定的研究问题,在分析总结现 有工作的基础上,完成的主要工作有: 1 在方法层面,从业务用户的角度对面向服务计算环境下科研领域中的需 5 中目科学院硕士学位论文面向科研领域的一种探索式服务组合支撑系统 求不确定问题进行分析,提出了科研领域面向服务计算环境下的探索式 服务组合方法,并明确了该方法中的核心内容 2 在模型层面,提出了探索式服务组合编程模型,对模型中包含的核心元 素、核心元素之间的关系及使用核心元素进行探索的开发过程等进行了 具体讨论 3 在实现层面,设计并实现了面向服务计算环境下探索式服务组合方法支 撑系统:讨论了系统中的服务推荐算法,并介绍了图形化应用开发平台的 实现 4 在应用层面,通过上述探索式服务组合方法及其中主要技术在“网络化 科研协作”项目中的应用,初步证明了探索式服务组合方法的可行性和 有效性 本文的主要贡献在于 1 解决基于业务端编程思想的面向服务的应用开发中用户需求不确定问 题,实现了一种面向科研领域的探索式服务开发平台,该平台支持在不 完全确定组合过程的情况下,“探索式”地构造应用,在探索的过程中整 个组合过程逐渐得到确定 2 引入辅助用户编程思想到服务组合方法中,提出即时服务推荐机制,该 机制能够自主地感知当前用户的语境信息,基于服务间的语义关联关系 向用户做出相应的推荐。 1 4 2 论文的组织 本论文以网络化科研协作项目科研问题求解环境的搭建课题为背景,目的 在于阐述基于面向服务计算环境下,科研领域的探索式服务组合开发平台的设 计理论和实现方法。在详细设计和具体实现方面着重于介绍探索式服务组合方 法和模型、系统架构、功能划分以及辅助用户编程的即时服务推荐机制。本论 文的总体结构如下: 第一章是本文的绪论部分,我们首先从问题背景分析目前在科研领域存在 的挑战性问题,接着就勰决这些实际问题提出的科研领域探索式服务组合开发 平台的基本情况进行了讨论,其中包括为什么要实现探索式服务组合开发平台, 探索式服务组合开发平台的特点,本课题拟解决的问题;然后介绍了我所在团 队所开发的v i n c a 服务网格平台,该平台是我们实现探索式服务组合开发平 台的基础。 第二章探讨了与实现探索式系统相关研究目前的现状,并分析了我们对一 些工作的借鉴和区别。 第三章讨论探索式服务组合方法模型,对该模型的核心元素和基本操作进 行描述。 6 第一章绪论 第四章集中讨论了即时服务推荐机制,给出了后续服务推荐算法和并行服 务推荐算法 第五章介绍支持探索式服务组合方法的支撑系统的总体设计和平台的实 现。 第六章介绍探索式服务组合开发平台在“网络化科研协作”项目中应用, 对平台进行了评价。 第七章将就全部工作进行总结,并展望进一步研究的内容。 7 第二章研究现状概述 在本章,主要对与本文研究内容密切相关的一些工作进行概述,并分析它们 应用于本文所探讨的问题时带来的好处及所具有的不足。 2 1 面向服务计算技术 一w e b 服务 w e b 服务最初是由a r i b a 、i b m 和m i c r o s o f t 等共同提出的,旨在为i n t e r n e t 上跨越不同地域、不同行业的应用提供更强大的互操作能力它可以从多个角度 来定义。从技术方面讲,它是可以被u r i 识别的应用软件,其接口和绑定由x m l 描述和发现,并可与其他基于x m l 消息的应用程序交互。从功能角度讲,它是 一种新型的w e b 应用程序,具有自包含、自描述以及模块化的特点,可以通过 w e b 发布、查找和调用。其实现的功能可以是响应客户一个简单的请求,也可以 是完成一个复杂的商务流程。具体而言w e b 服务应具有如下特性:1 1 可描述, 可以通过一种服务描述语言来描述;2 ) 可发布,可以在注册中心注册其描述信息 并发布;3 ) 可查找,通过向注册服务器发送查询请求可以找到满足查询条件的服 务,获取服务的绑定信息;4 ) 可绑定,通过服务的描述信息可以生成可调用的服 务实例或服务代理;5 ) 可调用,使用服务描述信息中的绑定细节可以实现服务的 远程调用;6 1 可组合,可以与其他服务组合在一起形成新的服务。 服务组合( b p e l 4 w s ) 服务的发布与查找( u d d i ) 管服 安 服务描述( w s d l ) 全 理 务 性 能质 力量 基于x m l 的消息( s o a p ) 网络传输( h r r p 、s m t p ) 图2 1w e b 服务协议栈 w e b 服务主要依托一系列开放的协议和标准 c u r b 0 2 】。如图1 1 所示( 引自 【r a e 9 0 1 1 ) ,在底层网络传输方面是基于广泛使用的因特网标准,如h t r p 、s m t p 等;中间部分包括简单对象访问协议s o a p s o a p 0 3 】、w e b 服务描述语言 w s d u w s d l 0 3 】和服务发现集成协议u d d i u d d l 0 2 】;而上层部分是诸如 b p e i a w s i a n d r 0 3 服务组合描述语言以及关于路由、可靠性以及事务等方面 9 中国科学院硕士学位论文面向科研领域的一种探索式服务组合支撑系统 的协议。右边部分是各个协议层的公用机制,这些机制一般由外部的正交机制来 完成,这部分包括安全,管理和服务质量方面的协议或机制,它们所面对的问题 贯穿协议栈的各个层次。 正是由于上述被广泛接受的开放标准,使得w e b 服务能以一种松散耦合的 方式建立跨组织的应用,同时也使得基于服务来解决广域网络范围内应用的异构 问题成为可能通过使用面向服务的计算技术,将不同服务提供者提供的各种信 息服务资源以标准化的服务形式对外发布,使得它们可以在更广泛的范围内被透 明使用 s o a s o a 是在计算环境下设计、开发、应用、管理分散的逻辑( 服务) 单元的 一种规范。这个定义决定了s o a 的宽泛性。s o a 要求开发者超越应用软件来思 考,并考虑如何复用现有的服务。s o a 鼓励使用可替代的技术和方法( 例如消 息机制) ,通过把服务联系在一起而非编写新代码来构建应用。经过适当构建后, 这种消息机制的应用允许公司仅通过调整原有服务模式而非被迫进行大规模新 的应用代码的开发,使得在商业环境许可的时间内对变化的市场条件做出快速的 响应。 匣圈 图2 2 面向服务架构 面向服务的架构的核心概念集中体现在如图1 2 所示( 引自i h e c k 0 3 ) 的 服务提供者( s e r v i c ep r o v i d e r ) 、服务使用者( s e r v i c er e q u e s t o r ) 、服务代理 ( s e r v i c eb r o k e r ) 三个角色和发布( p u b l i s h ) 、查找( f i n d ) 、绑定( b i t a d ) 三 个基本操作上其中三个角色完成的分工为: 服务提供者:负责提供服务实现,并将自己的服务和接口契约发布到服 务注册中心,以便服务使用者可以发现和访问该服务。 服务使用者:服务使用者是一个应用程序、一个软件模块或需要一个服 务的另一个服务。它发起对注册中心中的服务的查询,通过传输绑定服务,执 行服务功能。服务使用者根据接口契约来执行服务。 1 0 第二章研究现状概述 服务注册中心:服务注册中心是服务发现的支持者,管理服务提供者发 布的服务描述以及根据服务使用者的服务请求找到合适的服务 在面向服务的架构下,通过发布、查找、绑定三个基本操作允许在服务使用 者和服务提供者问保持一种松散的绑定关系,使得服务提供者对服务使用者具有 位置、实现等多方面的透明性,便于在二者间建立动态的绑定关系,从而提供了 一种松耦合的编程模型。 服务组合 服务组合是构造面向服务的应用的主要方式。服务组合的相关研究很多具有 与传统工作流领域研究所类似的特征,甚至是从工作流的研究中发展出来的。因 此服务组合的相关研究具有一个共同特点,就是都是以面向过程的方式来实现服 务组合,并大都以支持跨组织的业务过程和实现跨组织的应用集成为目的。 当前服务组合的研究主要包括服务组合模型、服务组合语言及服务组合系统 等几个方面: 在模型方面,a l o n s o 等人提出了一个由六维子模型组成的服务组合模型, 其中包括组件模型( w s d l s e r v i c e s ) 、编排模型( 定义服务的调用顺序以及可能 存在的服务调用的条件) 、数据及数据传递模型( 包含应用相关数据和控制流数 据两类数据,以及黑板模式和显示数据流模式两种数据传递方式) 、服务选取模 型、事务及异常处理模型【a l o n + 0 4 。该服务组合模型中的部分内容在很大程度 上类似与传统的业务过程模型。服务组合的建模方法主要有状态图 b o n a + 0 2 、 活动图 c a s a + 0 0 、p e t r i 网 h a m a + 0 3 等不同形式。 。在语言方面,当前涌现出了大量的服务组合语言,代表性的工作有b p e l 4 w s a i a a r + 0 3 1 、b p m l a r k i 0 2 、w s c i w s c w 0 2 、w s f l l e y m 0 1 、d a m l - s o w l ,s 等。它们从不同的角度对服务组合的定义提供了支持,其中:b p e l 4 w s 是将i b m 的图形化流程语言w s f l 和微软提出的块结构语言x l a n g 错误l 未找到引用 源结合起来提出了新的服务组合语言,是一个可以用来描述基于w e b 服务的 可执行的和抽象的业务流程建模的语言;b p m l 是基于逻辑的流程模型。它提供 了可执行的的业务流程的形式化模型和事务性的业务协作模型,可以表示并发、 重复和动态任务。w s c i 则从服务间消息交互的角度对服务组合进行了描述: w s f l 作为一个w e b 服务流语言,是b p e l a w s 的前身。d a m l - s o w l - s 是基 于d a m i a - o i l 语言的w e b 服务本体论标识语言,它能够清楚地描述计算机可理 解的w e b 服务功能属性,旨在实现w e b 服务的自动发现、查找、调用、组合, 运行和监测。d a m l - s o w l - s 从三个方面描述w e b 服务的语义:s e r v i e e p r o f i l e 、 p r o c e s sm o d e l 、g r o u n d i n g 。s e r v i c e p r o f i l e 描述服务提供的功能,p r o c e s sm o d e l 详细描述服务具体的工作流程,g r o u n d i n g 描述服务的具体访问细节。其中 p r o c e s sm o d e l 是服务组合的语义描述。 l l 中国科学院硬士学位论文面向科研领域的一种探索式服务组合支撑系统 在系统方面,当前也具有大量的工作,比较典型的有h p 的e f l o w 【c a s a + 0 0 、 澳大利亚新南威尔士大学的s e l f - s e r v s h e n + 0 2 , b e n a + 0 3 、美国乔治亚大学的 m e t e o r s m e t e 0 2 、及m m 的b p e l a j 【m m 0 2 等此外,国内也已经出现 了诸多服务组合系统方面的工作,如c w s 【杜+ 0 3 】、d a r t f l o wi d e n g + 0 4 、i s f i o w 【任棚】,以及我们的v i n c a 系统。服务组合系统对服务组合的定义及执行提供 了工具上的支撑。下面主要介绍几个典型的服务组合系统: e f l o w 系统是基于工作流的,使用有向图描述组合服务流程,采用集中式的 流程引擎,引擎负责调度、分发和控制组合服务的执行一个组合服务被模型化 为一个定义了结点执行顺序的图结构,结点包括服务结点、裁决结点和事件结点。 然后由服务流程引擎对其解释执行绑定具体服务来实现服务组合。系统还提供了 在运行时刻动态修改组合方案的功能,能够进行事务和异常处理。e f l o w 系统提 出了一种服务组合模型和架构,但是系统只集中于由当前的服务组合更为复杂的 服务,没有考虑相关参数进行组合的优化,服务发现的过程也不含有语义。 s e l b s e r v 使用状态图来描述组合服务,提供了独立与实现的抽象描述服 务的服务共同体,实现了p 2 p 方式的服务执行的控制算法。在s e l f - s e r v 系统 中,利用服务社区提供对具有某种抽象功能接口的服务实例的封装,服务注册到 社区时需要提供函数映射规则将社区的抽象函数映射到实际服务的函数。将服务 的非功能属性的综合评估作为服务选取时的依据,服务组合是通过各个状态协调 器以及协调器和服务问的消息传递来完成的,并且可以监控和跟踪组合服务的执 行。但是不能实现服务的动态发现,用户需要使用状态图来发现和组合服务。没 有考虑服务的事务性和语义特征,没有提供可视化的测试和调试组合服务的环 境。 m e t e o r s 项目侧重于使用语义技术提高服务组合的自动化程度和灵活性。 软件开发者可以利用j a v a 语言的注释功能添加对服务及其参数的语义描述,便 于实现自动发现和组合。通过“语义流程模板”定义流程中的每个行为并基于此 动态发现服务产生可执行的业务流程。改造b p w s 4 j 引擎使其支持动态绑定以执 行抽象过程,引擎可以基于语法、语义或者二者结合来发现服务。m e t e o r s 支持运行时发现和部署时绑定。但是没有实现协议规范、事务管理、安全等以及 w e b 服务的行为服务组合的仿真和合法性验证。 上述服务组合的相关工作虽然取得了显著的进展,但它们对面向科研领域的 需求不确定的应用的即时构造来说仍是不够的。其中的一个关键问题就在于它们 并不能支持探索式的应用开发方式,没有重视人的主观能动性在应用开发中的作 用,这使得它们大都难以解决需求不确定的问题。 第二章研究现状概述 2 2 针对科研领域的科研工作流 科研领域,许多学科都是数据和信息驱动的,新的科学知识常常是通过数据 分析和计算而得到的。当前,网格环境下开始出现相当数量以w e b 服务形式存 在的网上计算和信息资源。为完成分析研究工作,科研工作者需要组织和利用这 些w e b 服务针对科研领域的科研活动具有数据密集( d a t a - i n t e n s i v e ) 和信息 驱动的特点作为连结科学数据管理、分析、仿真和可视化的统一机制的科研工作 流,开始发挥越来越重要的作用。科研工作流是针对以数据分析为中心的科研领 域问题求解环境的系统,实现科学家通过简单的方式构造工作流以得到问题的求 解。在研究领域,典型科研工作流系统有k e p l e r l u d a + 0 5 ,t a v e r n a o i n n + 0 4 1 和t r i a n a m a j i + 0 4 】这三个系统其中,k e p l e r 系统采取面向角色 ( a c t o r - o r i e n t e d ) 的建模和设计方法,它通过引入杂交类型系统而简化了科研工 作流的概念层建模,并区分工作流中的结构数据类型和语义类型。该系统将所有 的组件封装成角色,通过角色间的通信实现整个工作流的正确运行。t a v e r n a 系统提供资源社区,可以动态的接入和删除服务信息,其工作流的服务问的控制 逻辑是通过数据流来实现,运行时如果一个服务的输入参数的数据被传送到了则 该服务就开始。用户使用该系统需要熟悉接入系统的w e b 服务的详细信息,如 输入、输出和接口等。t r l a n a 系统允许用户发现、组合、调用和发布原子及复 合服务,同时允许用户对工作流进行标注。用户通过从工具箱中拖拽服务单元到 工作区,然后连接各单元,实现工作流的创建。这三个系统都是针对科研领域问 题求解环境的,都向用户提供了图形化的编程环境,但是都没有考虑过程不确定 问题。 2 3 探索式编程研究 在人工智能和程序语言等领域,关于探索式编程的研究已经取得了一些成 果,所谓探索式编程是指:为开发者提供一个编程方法,使其能够方便、快速的 捕获程序执行过程中的反馈,并解释调整 s h e i + 8 3 。s i m o ny u n g 提出了一种基 于状态的探索式编程模型d e f i n i t i v ep r o g r a m m i n g ,该模型通过定义集合( 对象的 属性和对象之间关系的属性定义) 构造状态,利用重定义来代表状态的变迁。基 于上述模型,他实现了一个支持探索式编程的软件工具【y u n g + 9 2 1 。 m i d g a r d h e n r + 9 9 是h e n r i k 等人设计的一个探索式编程开发环境,通过引入“可 扩展编程点”来支持探索式编程,其主要规则是部分程序的开发是在该程序本身 执行的环境下进行开发的在编写程序时程序员可以预先设立扩展指针,当程序 执行到这一点,就可以动态的加入扩展代码,编译、执行,然后返回扩展指针的 下一行程序它的缺点是扩展指针只能预先设置,不能在执行期间设置但这些 中国科学院硕士学位论文面向科研颁域的一种探索式服务组合支撑系统 研究都是针对面向过程或面向对象的语言,在面向服务的计算领域还没有发现类 似的工作。我们借用探索式编程思想,将其运用到面向服务计算领域中,解决新 领域中遇到的实际问题。 2 4 小结 探讨了与实现探索式系统相关研究目前的现状,主要分为三个方面的研究工 作第一方面是面向服务计算领域的研究,重点介绍了面向服务计算环境下服务 组合技术及相关系统;并分析了我们对一些工作的借鉴和区别第二方面是针对 科研领域的一些研究,重点介绍了目前在研究领

温馨提示

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

评论

0/150

提交评论