已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 为了应对快速多变的业务需求,越来越多的公司,企业倚重于跨组织协作的模式完 成自己的业务目标。动态灵活的跨组织协作对应用集成提出了更高的要求。作为一种新 兴的、面向i n t c r n e t 的分布式计算模式,面向服务架构为松耦合的跨组织应用集成提供 了更好的使能技术。为了进一步降低应用构造的门槛,加速应用构造的进程,我们引入 了业务端编程的思想,让业务用户参与到应用构造的过程中来从支持业务用户进行服 务组合的角度,本课题组提出了v i n c a 语言并实现了其支撑环境。通过业务服务建模 和服务虚拟化等技术,业务用户可以使用v i n c a 语言规划和配置其业务流程。 当前的v i n c a 语言对于流程的管理和复用并没有提供很好的支持,业务用户不得 不从无到有的构建自己的流程应用,而无法复用已有流程所蕴涵的知识。围绕这个问题, 本文提出了基于v i n c a 语言的服务组合模板技术,以重用流程形式的领域知识。对基 于v i n c a 的服务组合模板的创建、管理和使用等方面进行了深入的研究。其主要工作 和贡献如下: 1 提供一种对基于v i n c a 语言构建的业务流程进行封装和抽象的方法 应用该方法,领域专家可以在v i n c a 流程的基础上为业务用户构建大粒度的服务 组合模块n c a 模板。业务用户使用模板,只需要经过简单的配置就可以构建符 合自身业务需求的流程应用。 2 设计了v i n c a 模板的有效组织、管理方式和推荐算法。 为了便于使用者进行模板的浏览和查找,本文设计了模板库对v i n c a 模板进行管 理。在服务社区对业务服务的分类体系基础上,我们设计了模板的归类算法,按照模板 和分类的相关程度进行归类。除此之外,本文设计了一种推荐算法,可以根据业务用户 构建的流程片断推荐相关的v i n c a 模板,从而方便业务用户进行模板选取。 3 设计并初步实现了支持v i n c a 模板技术的原型系统 为验证v i n c a 模板技术的有效性,我们以“面向科研工作者的动态协同问题求解 环境研究项目”为应用背景,初步实现了支持v i n c a 模板构建、管理、推荐和使用的 原型系统。通过实例验证了业务用户基于v i n c a 模板进行大粒度服务组合的效果。结 果表明,v i n c a 模板技术可以简化业务用户进行流程构建的操作,提高构建效率并且 更好的保障了流程应用的准确性 关键词:大粒度服务组合服务组合模板v i n c a 流程 r e s e a r c ho nb u s i n e s sl e v e ls e r v i c ec o m p o s i t i o nt e m p l a t eb a s e do nv i n c al a n g u a g e c h e n gf a n k e ( c o m p u t e rs o f t w a r ea n dp r i n c i p l e ) d i r e c t e db yh a ny a n b o o nd e m a n do ft h eq u i c k l yc h a n g e db u s i n e s sr e q u i r e m e n t , m o r ea n dm o r ee n t e r p r i s e sf u l f i l l , b u s i n e s st a r g e t sd e p e n d i n go ni n t e r o r g a n i z a t i o n a lc o l l a b o r a t i o n t h ed y n a m i ca n df l e x i b l e i n t e r o r g a n i z a t i o n a lc o l l a b o r a t i o nd e m a n d sh i g h e rr e q u i r e m e n t sf o r t h ea p p l i c a t i o ni n t e g r a t i o n a sap r o m i s i n gd i s t r i b u t e dc o m p u t i n gp a r a d i g mf o rn e t w o r k - b a s e da p p l i c a t i o ni n t e g r a t i o n , s e r v i c e o r i e n t e d c o m p u t i n gc a na l s o s e r v ea sa d v a n c e d e n a b l i n gt e c h n o l o g y f o r l o o s e c o u p l e da p p l i c a t i o ni n t e g r a t i o n t oa c c e l e r a t e t h e a p p l i c a t i o nc o n s t r u c t i o n , w e i n t r o d u c e dt h et h o u i g h to fe n du s e rp r o g r a m m i n g a n dl e tt h eb u s i n e s su s e rt a k ep a r ti nt h e p r o c e d u r eo fa p p l i c a t i o ni n t e g r a t i o n t os u p p o r tt h eb u s i n e s su s e rt oc o m p o s i t es e r v i c e s ,o u r r e s e a r c hp r o g r a mc r e a t e dt h ev i n c a l a n g u a g ea n di m p l e m e n t e dt h eu p h o l d i n ge n v i r o n m e n t b a s e do nt h eb u s i n e s ss e r v i c em o d e l i n ga n ds e r v i c ev i r t u a l i z a t i o nt e c h n o l o g y , b u s i n e s su s e r s c a nu s ev i n c at op l a na n dc o n f i g u r et h e i rb u s i n e s sp r o c e s s c u r r e n t l y , v i n c ah a sn o tp r o v i d e de f f e c t i v es u p p o r to np r o c e s sm a n a g e m e n ta n dr e u s e b u s i n e s su s e r sc a nn o tr e u s et h ek n o w l e d g ei nt h ee x i s t i n gp r o c e s s e s ,b u th a v et oc o n s t r u c t t h e i ra p p l i c a t i o nf r o mt h ev e r yb e g i n n i n g f o c u s i n go nt h i sq u e s t i o n ,t h i st h e s i sp r o p o s e sa s e r v i c ec o m p o s i t i o nt e m p l a t et e c h n o l o g yb a s e do nv i n c al a n g u a g et or e u s et h ed o m a i n k n o w l e d g ec o n t a i n i n gi np r o c e s s e s t h em a i nr e s e a r c hw o r k a n dc o n t r i b u t i o n si n c l u d e : 1 p r o p o s ea m e t h o dt oc a p s u l a t ea n da b s t r a c tt h ev i n c a p r o c e s s w i t ht h es u p p o r to ft h i sm e t h o d ,d o m a i ne x p e r t sc a nb u i l dc o a r s eg r a n u l a r i t ys e r v i c e c o m p o s i t i o nm o d u l e - - v i n c at e m p l a t e ,b a s e do nv i n c ap r o c e s s u s i n gt h ev i n c a t e m p l a t e , b u s i n e s su s e r sf a nc o n s t r u c tp e r s o n a l i z e dp r o c e s sa p p l i c a t i o n sj u s tt h r o u g hs i m p l e c o n f i g u r a t i o n 2 t h ee f f i c i e n to r g a n i z a t i o nm o d ea n dr e c o m m e n d a t i o na l g o r i t h mf o rv i n c a t e m p l a t e t of a c i l i t a t eu s e r st ob r o w s ev i n c a t e m p l a t e s ,t h i sp a p e rd e s i g n e dat e m p l a t eb a s ef o r v i n c at e m p l a t em a n a g e m e n t u s i n gt h ee x i s t i n gb u s i n e s ss e r v i c ec a t e g o r ys y s t e mf r o m s e r v i c ec o m m u n i t y , w ed e s i g n e dac l a s s i f y i n ga l g o r i t h m b e s i d e s ,w ed e s i g n e da r e c o m m e n d a t i o na l g o r i t h mt of a c i l i t a t et e m p l a t es e l e c t i o n t h i sa l g o r i t h mc a nr e c o m m e n d r e l a t e dv i n c a t e m p l a t eb a s e do np r o c e s ss n i p p e t 3 p r o t o t y p es y s t e mt ou p h o l dv i n c a t e m p l a t e t ov e r i f yf e a s i b i l i t yo fv i n c at e m p l a t e , w ed e v e l o p e dap r o t o t y p es y s t e mt os u p p o r t m c r e a t i o n ,m a n a g e m e n t ,r e c o m m e n d a t i o n a n dr e u s eo fv i n c at e m p l a t e u s i n gt h e r e q u i r e m e n t sf r o mt h ep r o j e c to f “n e t w o r ks c i e n t i f i cr e s e a r c hc o l l a b o r a t i o n ”a sat e s tb e d , w ep r o v e dt h ev a l i d i t yo fo u rm e t h o d k e yw o r d :c o a r s eg r a n u l a r i t ys e r v i c ec o m p o s i t i o n ,v i n c at e m p l a t e ,v i n c ap r o c e s s 图2 1 面向服务架构 图目录 图2 2 面向最终用户编程的服务组合机制的研究思路 图2 3 业务服务构成示意图 图2 4 服务社区的组成 1 4 1 7 图3 1v i n c a 模板结构示意图2 0 图3 2 基因比对过程示意图 图3 3 模板库的作用 图4 iv i n c a 模板原型系统的结构 图4 2 流程规则类图 图4 3v i n c aw o r k s h o p 中的模板库连接模块 图4 4v i n c aw o r k s h o p 中的模板浏览界面 图5 1 完成基因比对试验的v i n c a 流程 v 4 4 4 6 表目录 表2 2 工作流与服务组合的不同点比较 表2 3 三类基于工作流的服务组合方法比较。 表3 1 基因对比试验模板的x m l 描述结构2 3 表3 1 模板归类算法 表3 2 模板推荐算法 表3 3 流程规则转化算法 表5 1v i n c a 模板基本信息实例4 7 表5 2v i n c a 模扳非功能属性实例。 i x 声明 我声明本论文是我本人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,本论文中不包含 其他人已经发表或撰写过的研究成果。与我一口j 工作的同志对本研究所做 的任何贡献均已在论文中作了明确的说明并表示了谢意。 作者签名:彳艺髻科日期:耐7 论文版权使用授权书 本人授权中国科学院计算技术研究所可以保留并向国家有关部门或机 构送交本论文的复印件和电子文档,允许本论文被查阅和借阅,可以将本 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编本论文。 ( 保密论文在解密后适用本授权书。) 作者签名:程警叶导师签名:辱够一日期: z 一占,6 ,7 - , 第一章绪论 i t 技术在使社会生产力得到迅速解放、社会高度自动化和信息化的同时,也造成了 诸如“信息孤岛”之类的问题。随着全球化业务协作需求的加强,要求传统的局限于单 一组织的应用向跨越多个协作组织的、集成化的网络协同应用转变i 史o o 。传统的应用 集成技术多使用紧耦合“硬编码”的方式,难以应对当今开放、多变的业务环境。如何 动态灵活的进行应用集成,是l t 专家所面临的一个挑战面向服务的计算 ( s e r v i c e o r i e n t e dc o m p u t i n g ) 作为一种新兴的、面向i n t e m e t 的分布式计算技术给动态 应用集成问题带来了曙光,正逐渐获得来自研究界和产业界的广泛关注 o r l 0 0 3 ,k h a l 0 3 b 。 岳0 4 1 。在面向服务计算范型下,应用系统的构造以服务作为基本计算单元,通过服务 组合完成由于现行的服务组合技术( 如s w o r d p o n n 0 2 】、e f l o w c a s a 0 0 a 】、 s e l f - s e r v i b e n a 0 3 等) 和服务组合语言( 如b p e l 4 w s b p e l 0 3 、b p m l b p m l 0 2 、 w s c i w s c l 0 2 1 等) 都侧重于软件层面,主要是为软件专业人士而设计,应用系统的建 设周期长、开发成本高,应用的即时集成仍旧是一个挑战性问题。 为进一步缩短开发周期、适应快速多变的业务需求,人们开始考虑能否让最终业务 用户直观、便捷的自行配置和使用应用资源。我们把这种应用构造方式称为业务端编程。 它适用于许多方面如动态供应链、应急系统、公众信息服务系统等。为支持业务用户主 导的网络应用即时构建,我们提出了业务端服务组合语言v i n c a h a n 0 3 ,并实现了 v i n c a 支撵环境。业务人员可直接利用v i n c a 规划其业务流程并配置经过了虚拟化处 理【房0 5 1 、具备业务语义的r r 资源。v 1 n c a 得到了若干具体应用 h o l t 0 3 ,印证了业务端 编程方法和技术的确有助于应用即时集成的实现。本文就是在此工作的基础上,提出了 基于v i n c a 的服务组合模板技术,以重用流程形式的领域知识。对基于v i n c a 的服务 组合模板的创建、管理和使用等问题进行了深入的研究 1 1 应用实例 我们以“网络化科研协作”一一面向科研工作者的动态协同问题求解环境研究项目 的一个模拟场景为例进行说明,实例描述如下: 实例: 小张是某遗传病研究所的一个科研工作者,他在研究中发现某种疾病的发病和基因 缺陷有关他希望能够比较人类基因片断和相应的其他哺乳动物的基因片段,以期找出 中国科学院硕士学位论文草于v 1 n c a 语占的业务缓服务组合模板研究 是否该基因片断的变异导致了疾病的产生基因比较工作一般包含以下步骤: 获得致病基因i d 格式化基因i d 获得需要比对的物种基因序列 创建基因序列的f as t a 字符串 进行字符序列的转换 进行字符序列比对 对序列比对的结果进行颜色标注 小张不了解基因比对试验的具体细节,只希望能够以最小的代价( 时间短,花费少) 得到比对结果 华大基因研究中心是我国专门从事生物基因学研究的科研机构华大基因已经把生 物信息领域许多常用的科学计算功能封装成了w e b 服务另外,网络上也有开放的生物 信息的数据库,以服务的形式提供检索功能王博士是华大基因生物信息领域的专家, 对基于信息技术的生物遗传学有深入的研究和丰富经验他希望能够共享自己在该领域 的知识和经验,为其他研究人员提供指导和借鉴 1 2 实例分析 实例中,小张和王博士的需求具有一定代表性,反应了科研领域的实际需求一方 面,由于现代社会科技发展的进步,各种领域知识的呈几何级增长,在这种背景下,专 业的细分是一个必然的趋势。普通的科研人员精力和兴趣有限,往往只关注领域内的某 些方面,不可能对整个领域的各个分支都有深入的了解和认识。但是,在实际的工作中 却可能会用到其它领域分支的方法技术来辅助解决自己所关注的问题。正如在实例中, 小张关注遗传病的研究,他需要用到生物信息科学的知识进行基因比对试验。但是,基 因比对试验本身是一个比较复杂的过程,完成这个试验有些具体要求。 在业务层面,进行对比试验要求了解试验的多个步骤,包括基因i d 的确定,基因 序列的获取,基因序列的比较,最后为了便于比较结果的直观呈现还要对比对的进行颜 色标注的处理。对于并非专业从事生物信息中基因研究的小张,并不了解这些具体的步 骤。小张不得不花费大量的时问和精力,查阅相关的文献或者请教生物信息专家才能够 掌握这个基因对比试验的工作过程 在软件层面,尽管服务化的软件构件提供了生物信息检索和生物计算的功能,但是 要使用这些w e b 服务要求了解软件层面的基础知识,诸如x m l 的格式,服务的w s d l 2 第一荦绪论 描述、服务的绑定和调用。小张不得不求助于i t 技术人员构建特定的应用程序调用所 需的w e b 服务,完成基因比对试验。但是这种应用开发模式存在业务领域和1 1 r 领域之 间的“鸿沟”问题一方面业务人员不懂得i t 技术和方法。另一方面,i t 人员也不懂 得生物专业的术语、规范和知识。如此开发应用必然费时费力,而构建出的程序质量也 值得怀疑。 针对后一个问题我们提出了面向业务用户编程的思路,通过业务动作抽象、语义基 础设施构建和服务虚拟化等手段,让业务用户参与到应用开发中来在此基础上,我们 提出v 1 n c a 语言并实现了面向业务用户编程的支撑环境。在实例中应用v 1 n c a 的思 路可以有效的解决小张所面临软件层面的问题。 对于前一个问题,目前的v i n c a 语言并没有提供可行的解决方法。v i n c a 的方法 假定业务用户完全了解自己所需构建的应用,对每个环节都有清晰的把握。要求业务用 户能够从服务社区中选取出自己需要的业务服务,并以逻辑控制和数据关联把它们组合 起来。然而,不同于领域专家,业务用户往往只知道要做什么,并不清楚如何去做。缺 乏对所构建的应用的全面了解,业务用户难以实现按需构建应用的理想。因此,业务用 户是否拥有相应的专业知识,是他们能否成功构建应用的关键。类似于实例中小张的业 务用户缺少有效的途径进行知识的获取而类似于实例中王博士的领域专家拥有专业的 知识和经验,但是这些知识和经验缺乏有效地载体,更没有一个公共的知识库对领域知 识进行汇集、管理和维护。因此,为了解决业务知识的重用需要解决以下三个方面的问 题: 领域知识的表示 知识不是一个简单的、各种元素的无序集合,而是被纳入一个动态的、与人和组织 交互的系统。领域知识往往存在于专家的脑海之中,在使用中才能表现出来,体现 其价值。如何能够结合专家的经验,以合适的方式表达领域知识是知识重用所要解 决的首要问题。 领域知识的管理 由于领域知识的丰富多样,无论以何种形式作为知识的载体,其数量也将非常巨大。 如何对知识进行有效的分类、管理将大大影响知识复用效果正如数据库管理数据, 社区管理业务服务,知识的载体也需要一个强有力的管理工具有效的管理有利于 业务用户寻找适合自己问题的知识,从而提高知识复用的效率 领域知识的使用 当业务用户获取到领域知识后,如何使用这些知识发挥作用也是一个问题由于业 务用户所要解决的问题千差万别,无论以什么形式承载的知识都不能做到适用所有 3 中国科学院硕七学位论文罐于v i n c a 语言的业务级服务组台模板研究 情况。业务用户需要针对具体需求,对知识载体进行相应的处理。 具体到v i n c a 方法中,领域知识主要隐含在以业务服务构建的v i n c a 流程中。 因此,我们以v i n c a 流程为基础,提出了服务组合模板的概念。服务组合模板以流程 的形式封装领域知识,利于知识的管理和重用本文充分利用“关注分离”和“软件复 用”的思想,将构建服务组合模板的任务交给领域专家。业务用户只需要在服务组合模 饭的基础上进行简单的配置就可使用,从而可以提高服务环境下业务用户参与的应用构 造的效率 要达到上述的要求,在业务层和软件层都存在一些问题,在业务层面专业人员的知 识和经验如何描述、表示、组织、管理和重用;在软件层面如何根据专业人员的知识和 经验打造这些基础设施:最后业务用户又如何利用这些基础设施构造自己的个性化应 用。因此为了使业务用户能主动高效地参与到应用的构造中,本文在v i n c a 已有工作 的基础上着重解决基于v l n c a 的服务组合模板的流程知识管理与复用问题: 软件复用是提高软件开发效率的一个有效手段。为了有效地复用v i n c a 中的业务 流程,我们提出了服务组合摸板的概念,其实质是对业务流程的封装。利用服务组合模 板构造应用的本质就是对知识的重甩,它能最大限度地重用软件专业人员和领域专家的 知识和经验。但是专家的知识很多情况下都是非结构化的,甚至足一些隐性的知识,如 何表示它们才能既便于计算机识别又易于用户的理解和使用,也就是组合模板表示形式 和基本结构如何,另外怎样通过创建、组织、管理和维护这些组合模板来管理这些专家 的知识,用户怎样识别、选取和利用这些组合模板构造自己的应用等等,因此概括说来, 在基于组合模扳的流程知识管理与复用中主要关注以下几个具体问题: 如何将反映共性领域需求的知识表示为服务组合模板 领域专家如何结合自己的知识经验和领域共性需求为业务用户建立大粒度的组 合模块服务组合模板,以及如何组织、管理这些组合模板,以便为用户的 直接参与应用构造提供支持。 用户如何查找和选取服务组合模扳 组合模板封装了专家的知识和经验,包含了一定的业务服务以及它们之间的逻 辑关系,可以避免用户一切从头开始构造应用,但是当组合模板数量很大的时 候,用户如何查找、选取合适的组合模板将成为一个难题。 如何使用服务组合模板构造应用 用户选取到相应的组合模板后,如何使用它们以完成最终应用的构造理想的 4 第一章绪论 情况是如果模板中刚好包含了用户的所有需求,则用户可以直接应用这些模板, 但是如果模板中包含的服务超出了用户的需求,用户又要进行相应的修改,用 户怎样对这些模板进行修改,又怎样才能保证用户修改的正确性,这也是基于 组合模板构造应用时面临的一个难题。 1 3 关于本论文 1 3 1 本文的研究思路 在面向服务的计算背景下,基于面向业务用户的编程语言v i n c a 提供一种服务 组合模板,服务组合模板封装了领域专家的业务知识,应用模扳可以进行服务的大 粒度组合。本文将对服务模板的创建、管理和使用方法进行深入研究。 1 3 2 本文组织 本文后续各章的具体组织如下: 第二章重点介绍服务组合相关的技术和本文工作的基础v 矾c a 第三章重点讨论基于v i n c a 的服务组合模扳的创建、管理和使用方法。 第四章介绍服务组合模板支撑环境的设计和实现。 第五章通过一个生物信息计算中的应用对服务组合模板的可行性进行了验证。 最后,是总结和展望。 5 2 1w e b 服务 第二章相关工作介绍与分析 w e b 服务是一种新型的w e b 应用程序,也是目前面向服务的应用系统的主要的基 本元素。它们是自适应、自我描述、模块化的应用程序,这些应用程序可以跨越w e b 进 行发表、定位和调用。w e b 服务所执行的功能可以足从简单的请求到复杂的商业过程 中的任何事。简单的w e b 服务可以提供例如股票报价或处理信用卡交易等服务。一旦 部署了w e b 服务,其它的应用程序( 及其它的w e b 服务) 可以发现和调用所部署的 服务。w e b 服务的体系结构是基于w e b 服务提供者、w e b 服务请求者、w 曲服务中介 者三个角色和发布、发现、绑定三个动作构建的。简单地说,w e b 服务提供者就是w e b 服 务的拥有者,它希望为其他服务和用户提供自己已有的功能,并将这些功能封装成w e b 服务,把服务的描述信息和调用信息( w s d l ) 注册到服务中介;w e b 服务请求者就是 w e b 服务功能的使用者,它首先把自己的需求提交给服务中介,然后根据服务中介的 返回结果生成s o a p 消息向w e b 服务提供者发送请求以使用服务;w e b 服务中介者的 作用是服务提供者和服务使用者之间的一个桥梁,它负责根据服务使用者的需求从服务 提供者注册的服务中找到合适的服务,它充当管理者的角色,典型的如u d d i 。这三个 角色是根据逻辑关系划分的,在实际应用中,角色之间很可能有交叉:一个w e b 服务 既可以是w e b 服务提供者,也可以是w e b j 匣务请求者,或者二者兼而有之。图2 1 显示 了w e b 服务角色之间的关系:其中,”发布一是为了让用户或其他服务知道某个w e b 服务 的存在和相关信息;”发现一是为了找到合适的w e b 服务;”绑定”则是在提供者与请求者之 间建立某种联系 7 中国科学院硕士学位论文蓐于v i n c a 语占的业务级服务组台模板研究 2 2 服务组合 图2 1 面向服务架构 厩稠 作为构造应用的基本模块,为尽可能地提高重用性和应用构造的效率,w e b 服务趋 向于服务的组合,而不是各个服务孤立地使用。服务组合是指通过i n t e r n e t 将分布在不 同环境、平台或公司间已存在的w e b 服务按照一定的规则,动态地发现并组装成为一 个增值的、更大粒度的服务或是一个系统以满足用户复杂需求,并提高软件生产率的一 个过程【饶0 5 1 。 组合在计算机科学领域并不是一个新的概念。在软件工程中,我们经常看到高效地 利用以前写过的软件来开发新的应用,这被叫做软件重用( r e u s e ) 。从开发者的视角看, 服务组合提供了重用的可能性;从用户的视角看,服务组合提供了无缝访问各种复杂服 务的能力 2 2 1 服务组合语言 w e b 服务组合建模语言建立在w e b 服务标准之上,为组合服务流程提供规范化的 描述方式。目前学术界和工业界提出了许多服务组合描述语言,但这些语言主要针对各 自不同的问题和目标,因而缺乏统一的规范和标准。目前比较典型的服务组合语言包括 b p e l 4 w s b p e l 0 3 】、w s c i w s c l 0 2 】、b p m l b p m l 0 2 1 、w s c m t w s c d i 0 4 】、 d a m l - s o w l s o w i a m 等 b p e i a w s 是i b m 的w s f l w s f i d 1 语言和微软的x l a n g i x l a n g 0 1 语言的结 合体,w s f l 是一种支持服务的静态配置以及服务注册的运行时查找的基于x m l 的服 8 第二蕈相关工作介绍与分析 务组合语言,x l a n g 利用行为规范扩展了w s d l ,并提供了服务静态组合与配置的模 型。b p e l 4 w s 是一种集成了w s f l 的面向图形的过程表达以及x l a n g 的基于结构化 的构建模型的新型业务过程执行语言规范。它明确定义了基于w e b 服务的业务流程。 b p e l 4 w s 通过抽象流程和可执行流程两种方式描述业务流程。可执行业务流程模拟业 务交互中参与者的实际行为;抽象流程描述业务协议,指定协议各方相互可见的消息交 换行为并隐藏它们的内部行为。b p e l 4 w s 扩展了w s d l 中关于同步和异步消息的无状 态定义,具有错误处理机制,支持补偿操作 一 w s c i 是基于u m l 活动图的服务业务层会话描述语言,主要描述了参与协作的各 w e b 服务之间的消息交互。w s c i 仅指定抽象业务流程,为参与信息交互的w e b 服务提 供动态接口的描述,以描述服务之间可见的行为,不负责实际信息交换时的内部流程的 定义和实现。w s c l 支持信息关联、序列规则、异常处理、事务处理和动态协作。 b p m l 足由b p m i 组织提供的一种跨组织的工作流描述语言,为跨防火墙内外的异 构系统建立商业过程模型提供一种标准语言。它既可以作为业务流程的抽象化描述,也 能作为可执行业务流程的具体描述,能应用于各种场合,包括企业应用集成和w e b 服 务组合。b p m l 解决企业业务流程各个方面问题,包括复杂变化的活动、事务处理和补 偿、数据管理、并发、异常处理,是可执行业务流程规范。b m p l 定义三种流程类型( 控 制流、数据流和事件流) ,定义控制结构实现条件选择、顺序、重复和并行执行 w s c d l 用于精确描述任意类型的业务流程服务之间的对等协作,它从全局的角度 出发,定义不同网络服务参与者为实现某一共同商业目标在预定义的规则下进行的信息 交换,描述服务之问的协同作业。w s c d l 足非执行的抽象业务流程规范,它不依赖于 任一合作方内部的具体业务流程实现语言,不仅支持对任意数量的服务之间协作的描 述,同时也支持对等协作中的异常处理和事务处理 d a m l , - s o w l - s 是基于d a m l + 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 c e p r o f i l e 、p r o c e s s m 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 s m o d e l 详细描述服务具体的工作流程,g r o u n d i n g 描述服务的具体访问细节。其中p r o c e s s m o d e l 是服务组合的语义描述 上述不同的服务组合语言各具特色,又有相似之处,引发了很多专家学者从不同角 度和侧重点对服务组合建模语言进行比较文献 a a l s t 0 3 b 各建模语言所支持的流程 结构模式和通信模式为基础,对x l a n g 、w s f l 、b p e l 、b p m l 和w s c i 等进行分析 和比较,并认为这些语言与现有的工作流语言相比,犹如“新瓶装老酒”文献 y u 0 4 l 确 9 中国科学院硕士学位论文基于v i n c a 语言的业务级服务组合模板研究 定了服务组合语言必须满足的1 3 项技术要求,以这1 3 项要求为标准比较分析b e p l 4 w $ , b p m l 和w s - c d l , ,文献【吕0 3 1 在分析w e b 服务环境下系统集成的体系结构模型基础 上,提出了一个在w e b 服务环境下业务过程建模语言比较框架,对常见的建模语言进 行了比较分析和评述。文献【m e n d 0 3 1 从表达能力、语义描述、服务的自动发现、组合和 执行、事务处理和故障处理等方面对b p e i a w s 和d a m l , - s 分析比较。综合各种不同 的比较方案和结果可以看出,w s - c d l 着重在w e b 服务的信息交互,b p m l 着重w c b 服务的执行流程,b p e l 同时包含这两个方面。他们都具有异常处理、补偿和上下文相 关的功能,有能力构建复杂的结构和活动,但缺乏非功能性的属性描述,缺少领域知识 的支持,无法支持服务的自动发现、组合和执行。这些语言最主要的目标就是满足一个 协调与合作的服务调用规范来支持w e b 服务的长期运行与多服务的事务管理机制 【h o w a 0 3 ,为此,它们借用了工作流管理系统中的一些基本概念,并把这些概念应用到 w e b 服务的协议栈中,但是对这些语言的表达能力、形式化特征、完备性以及存在的限 制一直没有进行全面系统的分析与验证,而且这些语言适合于软件歼发人员,对于业务 用户来说使用起来并不方便d a m l - s 着重于服务的语义,提供丰富的计算机可理解的 语义级别服务功能和属性在语义级别的描述,能够支持服务的自动发现、组合和执行, 但缺乏事务机制、异常处理的考虑 2 2 2 服务组合方法 目前出现的各种服务组合方法,可以归纳为两大类:基于工作流的服务组合方法和 基于人工智能的服务组合方法。前者以流程为中心进行服务的选取与组合,存在较多的 人工参与,实现比较容易,多应用于电子商务领域的应用集成以及流程管理;后者围绕 问题域进行自动服务组合,人工干预较少,实现较难,多应用规划问题求解。 工作流是计算机辅助下的流程自动化或半自动化处理,它通过将流程分解成定义良 好的活动、角色、规则和过程来进行执行和监控,旨在全面整合企业资源,提高流程流 转效率工作流相关技术已经成为企业流程管理、业务过程重组、应用集成等方面的主 要方法 a a i s t 0 3 a l 。基于服务的工作流根据流程中的活动是否都通过调用服务来执行可以 分为两种:混合工作流和服务工作流前者部分活动通过调用本地应用来执行,部分活 动通过调用外部服务来执行;后者所有的活动都通过调用外部服务来执行服务工作流 的一个具体运行过程即一个流程实例就是一个服务组合【c 醛a 0 1 a 】,也被称为服务流 ( s e r v i c e f l o w ) w e t z e l 0 2 。如何利用工作流技术进行服务组合的研究以及相关平台开发已 经吸引了大批研究机构和公司。c a s a t i 和s h u i g u a n g 等人对工作流与服务组合进行了分 1 0 第二章相关工作介绍与分析 析比较,认为工作流与服务组合既有非常相似之处,又有显著的不同点 【c a s a o l a ,s h u i 0 4 a 。相似之处在于两者均具有相同的生命周期,即流程建模阶段与流程 运行阶段,在建模阶段均需要指定数据流和控制流,在运行阶段都由执行引擎负责解析 流程定义并生成实例,通过调用外部应用或者服务进行执行尽管工作流与服务组合存 在很多相似之处,但两者在流程模型、建模过程、执行过程以及对分布式、动态性、安 全性方面的要求不一样。表2 2 列举了工作流与服务组合的不同之处。 表2 2t 作流与服务组合的不同点比较 工作流服务组合( 服务流) 活动。应用 活动。服务,活动查询条件 固定的应用 不固定的服务 流程建模阶段 固定执行者( u s e r r o l e o r g ) 不固定的服务提供商 局域范围( i n t r a n e t ) 广域范围o n r e r n e t ) 服务查询匹配,i 是取 多样的数据格式统一的x m l 数据格式 流程运行阶段 “黑盒”式应用调用“半透明式”服务调用 服务安全因素 基于工作流的服务组合方法在很多服务组合的研究文献、原型系统和成型产品中得 到体现 b e n a 0 3 ,c a r d 0 3 ,c a s a t i 0 0 , c h a d 0 3 ,h a n 0 3 a , m a j i 0 4 a , s h u i 0 4 a 。根据动态性、灵活 性等特点将基于工作流的服务组合的实现方式分为三类:预先定义的服务组合 ( p r e d e f i n e d ) 、基于模扳的服务组合( t e m p l a t e b a s e d ) 着l l 按需构建的服务组合( j u s t i n t i m e ) 。 这三类组合方法在动态性、灵活性、实现的难易上各不相同,具体参见表2 3 。动态性 是指服务组合在建模阶段活动与服务之间绑定的固化程度灵活性则包括两个方面,其 一是指服务组合流程建模的灵活性,其二是指服务组合在运行阶段服务绑定的灵活性。 表2 3 三类基于工作流的服务组合方法比较 方法类别服务绑定动态性灵活性实现难度 预先定义的服务组合建模时较差较差容易 基于模板的服务组合执行前一般一般较难 按需构建的服务组合执行中较好较好较难 预先定义的服务组合:也有人称之为静态服务组合 c h a k o l l ,它要求在建模阶段, 为每一个活动人为的选取某一具体服务;在服务组合执行阶段,执行引擎根据与活动绑 定的具体服务进行参数传递和服务调用这种方法在现有的工作流管理系统上经过扩充 而支持服务组合的设计和执行( 其扩充主要体现在对服务的调用) ,因此这种方法容易 1 1 中国科学院硕士学位论文甚于v i n c a 语言的业务级服务组合模板研究 实现。例如c f l o w c a s a 0 0 就是使用预先定义的服务组合方式。由丁二预先定义的服务组 合在建模阶段已经由设计者做好了服务绑定,所以减少执行引擎在服务组合执行期间为 活动绑定服务而带来的开销。然而这也使得服务组合失去了必要的动态性和对异常的应 变能力。一旦事先绑定好的服务变得不可用,或者存在更佳的可选服务( 性能、价格等 方面更优越) ,这种方法就不能实时的为活动执行提供更好的支持,因此动态性差。此 外,对于服务组合设计者而言,要从数量巨大的w e b 服务中为每一个活动找到一个目 标w e b 服务也比较难,因而灵活性差,所以这种方法适合在少量w e b 服务之间进行组 合。 基于模板的服务组合:与预先定义的服务组合相比,基于模扳的服务组合在动态性 和灵活性上都得到了提高。该方法允许服务组合设计者为某些活动设定服务模板,而无 须指定具体的服务 c a r d 0 3 ,b e n a 0 3 。在服务模扳中对希望的目标服务进行描述,内容包 括目标服务的功能,输入、输出、服务质量等。采用这种方法定制服务组合流程,形成 流程定义之后,在执行之前需要一个中问过程将抽象的服务组合定义转变成静态的服务 组合流程。这种方法将服务的选取匹配绑定交给中问过程自动处理,因此减少了服务 组合设计者的工作量,具有较好的动态性和灵活性。要实现基于模板的服务组合必须解 决服务的自动发现、匹配和查询的关键技术。然而服务的自动查询与匹配的实现难度较 大。目前普遍的做法是将语义、本体论等知识融入到服务和服务模板的描述q 6 p a 0 0 2 , 利用逻辑推理等进行服务之问的匹配和服务查询的自动处理。由于服务组合流程中存在 选择分支结构( s p l i t - o r ) ,因而在服务组合执行过程中,有的路径是不会被执行到的, 因此这些路径上的活动无须绑定服务然而目i i 的基于模板的服务组合方法是在组合执 行前期将每一个服务模板替换为一个具体的服务 c a r d 0 3 l ,因此一旦服务模板数量较多, 将影响“局部抽象”流程定义转换到静态流程定义的效率。因而这种方法适用于少量服务 模板的服务组合 按需构建的服务组合:前面两种基于工作流的服务组合方法要求组合中的服务绑定 在执行之前就完成。如果服务组合流程中有的活动执行的时问比较长,由于网络环境是 高度动态变化的,因而后续活动
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中秋晚会结束致辞范文(11篇)
- 云南省防汛抗旱减灾工作讲话稿(7篇)
- 中学的军训心得体会
- 买衣服课件教学课件
- 影像科图像质量评价
- 安全实践课件教学课件
- 建筑和土木工程 词汇 第3部分:可持续性术语 编制说明
- 爱立信系列基站设备知识培训
- 人像插画课件教学课件
- 电力拖动课件教学课件
- 大金vrv集中控维修手册
- 重庆市高级兽医师职称考试复习资料整理
- 环境因素汇总识别及评价表(保卫部 )
- 医院品牌建设课件
- JJG 113-2013标准金属洛氏硬度块(A,B,C,D,E,F,G,H,K,N,T标尺)
- GB/T 5169.5-2020电工电子产品着火危险试验第5部分:试验火焰针焰试验方法装置、确认试验方法和导则
- GB/T 1957-2006光滑极限量规技术条件
- GB/T 1423-1996贵金属及其合金密度的测试方法
- 产城(产业发展基础、城服务功能)融合示范建设总体方案
- 钻孔应力计安装步骤及注意事项
- 智能家居ppt模板
评论
0/150
提交评论