(计算机应用技术专业论文)bcsep中异常处理机制的研究与实现.pdf_第1页
(计算机应用技术专业论文)bcsep中异常处理机制的研究与实现.pdf_第2页
(计算机应用技术专业论文)bcsep中异常处理机制的研究与实现.pdf_第3页
(计算机应用技术专业论文)bcsep中异常处理机制的研究与实现.pdf_第4页
(计算机应用技术专业论文)bcsep中异常处理机制的研究与实现.pdf_第5页
已阅读5页,还剩82页未读 继续免费阅读

(计算机应用技术专业论文)bcsep中异常处理机制的研究与实现.pdf.pdf 免费下载

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

文档简介

,、, :,i ,ii ,_ _ , 1 o1_ at h e s i si nc o m p u t e r a p p i i c a t i o nt e c h n o l o g y t h er e s e a r c ha n d i m p l e m e n t a t i o no fe x c e p t i o nh a n d l i n g m e c h a n i s mi nb u s i n e s ss e r v i c eb a s e d c o m p o s i t es e r v i c e e x e c u t i o np l a t f o r m ( b c s e p ) b yl i um i n g t a o s u p e r v i s o r :p r o f e s s o rz h a n gbi n n o r t h e a s t e r nu n i v e r s i t y j u n e2 0 0 8 。, ! o 扎r 产 !一眇一 一 1 l 妒 l i - 了_ 毒 独创性2 声明 本人声明,所呈交的学位论文是在导师的指导下完成的。论文中取得 的研究成果除加以标注和致谢的地方外,不包含其他人已经发表或撰写过 的研究成果,也不包括本人为获得其他学位而使用过的材料。与我一同工 作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示谢 意。 学位论文作者签名:亥坂风涛 日 期: 加。晦6 同 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留、使用学位论 文的规定:即学校有权保留并向国家有关部门或机构送交论文的复印件和 磁盘,允许论文被查阅和借阅。本人同意东北大学可以将学位论文的全部 或部分内容编入有关数据库进行检索、交流。 作者和导师同意网上交流的时间为作者获得学位后: 半年。一年口 一年半口两年口 学位论文作者签名: 剥曰目漪 签字日期: i o 口毛军风 聊躲了呔 签字日期: 嘧么 ,。一-一“r !舭_ 1iijiil一 东北大学硕士学位论文 摘要 b c s e p 中异常处理机制的研究与实现 摘要 : 服务组合通过动态的合成已有的w e b 服务来实现更为强大的业务功能,从而为企 f 业间的业务合成提供了无限的可能。作者所参与的研究小组提出了业务服务模型来对 l w e b 服务进行面向业务领域的包装,并在此基础上设计和开发了基于业务服务的组合 服务执行平台b c s e p 。 目前,基于业务流程的w e b 服务组合研究主要集中在组合服务的描述及验证方面, 而对服务组合的例外处理尚不成熟。一个组合服务的成功执行不仅依赖于其内部的设计 和状态,还依赖于外部参与的服务的执行。w e b 服务的自治特性给它们的外部可见性和 易于管理带来了明显的障碍,这严重阻碍了组合服务的异常处理能力。本文针对这一现 状,着重研究了b c s e p 中的异常处理机制,并实现了b c s e p 的异常处理模块。 本文首先分析了组合服务中异常产生的原因,对b c s e p 中的异常进行了系统的分 类。针对服务自身演化所导致的预绑定服务在调用执行时可能不再满足用户需求的问 题,提出了基于服务可用性的异常检测方法;采用基于约束规则的异常检测方法,对平 台中的异常进行检测。检测到异常后,对流程的执行状态进行干预,使用异常消息对异 常信息进行封装,并采用消息传递机制将异常消息传递给异常处理部分。 异常处理部分采用基于e c a 规则的上下文敏感的异常处理方法a n a l e p t i c 。为 了采取适宜的异常处理动作,本文充分考虑了异常发生时的异常信息和流程中相关活动 的执行状态信息,将e c a 规则中的条件c o n d i t i o n 扩展为异常上下文和流程上下文两部 分,并定义了异常处理规则的数据结构和匹配算法。e c a 规则中的异常处理动作a c t i o n 由异常处理服务实现。异常处理服务是b c s e p 中实现异常处理策略的异常处理单元, l ,通过对基本的异常处理服务进行组合,可以实现具有复杂异常处理策略的新的异常处理 服务。 最后,在异常处理机制的研究基础上,对b c s e p 的异常处理模块进行了原型实现, 包括异常检测、异常分析和异常处理功能。运行表明异常处理模块是有效的。 关键词:服务组合:异常检测;异常处理;e c a 规则;异常处理服务 一i i l 企 - l 心f t , ,“ t h er e s e a r c ha n di m p l e m e n t a t i o no f e x c e p t i o nh a n d l i n g m e c h a n i s mi nb u s i n e s ss e r v i c eb a s e dc o m p o s i t es e r v i c e e x e c u t i o np l a t f o r m ( b c s e p ) a b s t r a c t s e r v i c ec o m p o s i t i o np r o v i d e sm o r ep o w e r f u lb u s i n e s sf u n c t i o n st h r o u g hd y n a m i c a l l y c o m p o s i n ga v a i l a b l ew e bs e r v i c e st o g e t h e r ,w h i c hb r i n g si n f i n i t eo p p o r t u n i t yf o re n t e r p r i s e b u s i n e s si n t e g r a t i o n o u rr e s e a r c ht e a mp r o p o s e sab u s i n e s ss e r v i c em o d e lt ow r a pw e b s e r v i c e sa c c o r d i n gt of e a t u r e so fb u s i n e s sd o m a i n s 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 ,t h e r e s e a r c h i n gg r o u po fu sd e s i g n sa n di m p l e m e n t st h eb u s i n e s ss e r v i c eb a s e dc o m p o s i t e s e r v i c ee x e c u t i o np l a t f o r m ( b c s e p ) c u r r e n t l y ,r e s e a r c ho fb u s i n e s sp r o c e s sb a s e dw e bs e r v i c ec o m p o s i t i o nm a i n l yf o c u s e s o nd e s c r i p t i o na n dv e r i f i c m i o no fs e r v i c ec o m p o s i t i o n ,a n dl a c k so f e x c e p t i o nh a n d l i n go f s e r v i c ec o m p o s i t i o ne x e c u t i o n t h ea c c o m p l i s h m e n to ft h e c o m p o s i t es e r v i c ee x e c u t i o n d e p e n d so nn o to n l yt h ei n t e r n a ld e s i g na n ds t a t e ,b u ta l s ot h ee x e c u t i o no fe x t e r n a l p a r t i c i p a t i n gs e r v i c e s a u t o n o m yo fw e bs e r v i c eb r i n g sg r e a to b s t a c l e st oe x t e m a lv i s i b i l i t y a n dm a n a g e m e n t ,w h i c hw e a k e n st h ec a p a b i l i t yo fw e bs e r v i c ee x c e p t i o nh a n d l i n g i nl i g h t o ft h i ss i t u a t i o n ,t h i st h e s i sf o c u s e so nt h em e c h a n i s mo fe x c e p t i o nh a n d l i n gi nb c s e pa n d t h ei m p l e m e n t a t i o no fe x c e p t i o nh a n d l i n gm o d u l e t h i st h e s i s a n a l y s e st h e c a u s e so fc o m p o s i t es e r v i c ee x c e p t i o n ,a n dc l a s s i f i e st h e e x c e p t i o n si nb c s e p b e c a u s ep r e - b o u n ds e r v i c e sm a yf a i lt o s a t i s f yt h e c o n s u m e r s r e q u i r e m e n t sd u et os e l g e v o l u t i o n ,t h i st h e s i sp r o p o s e st h es e r v i c e a v a i l a b i l i t yb a s e d e x c e p t i o nd e t e c t i o nm e c h a n i s m 。t h i st h e s i su s e sc o n s t r a i n tr u l e sb a s e de x c e p t i o nd e t e c t i o n m e c h a n i s mt od e t e c tt h ee x c e p t i o ni nt h ep l a t f o r m w h e nt h e e x c e p t i o ni sd e t e c t e d ,w o r k f l o we x e c u t i o ns t a t ei s i n t e r v e n e d ,a n dt h ee x c e p t i o ni n f o r m a t i o ni s e n c a p s u l a t e da n d d e l i v e r e dt oe x c e p t i o nh a n d l i n gc o m p o n e n tb yt h em e s s a g et r a n s m i s s i o nm e c h a n i s m t h ee x c e p t i o nh a n d l i n gm o d u l ea d o p t sac o n t e x t s e n s i t i v ee c a r u l e sb a s e da p p r o a c ht o h a n d l i n gc o m p o s i t es e r v i c ee x c e p t i o n ( a n a l e p t i c ) i no r d e rt op e r f o r ma p p r o p r i a t e - - i i i - - 东北大学硕士学位论文a b s t r a c t e x c e p t i o nh a n d l i n ga c t i o n s ,t h i st h e s i ss u f f i c i e n t l yc o n s i d e r st h ee x c e p t i o ni n f o r m a t i o na n d t h ee x e c u t i n gs t a t e si n f o r m a t i o no ft h e r e l a t e da c t i o n si ne x c e p t i o n so c c u r r i n g ,e x t e n d s c o n d i t i o np a r to ft h ee c ar u l e st ot h et w op a r t so fe x c e p t i o nc o n t e x t sa n dp r o c e s sc o n t e x t s , a n dd e f i n e st h ed a t as t r u c t u r ea n dm a t c h i n ga l g o r i t h mo ft h ee x c e p t i o nh a n d l i n gr u l e s t h e e x c e p t i o nh a n d l i n ga c t i o no ft h ee c ar u l e si si m p l e m e n t e db yt h ee x c e p t i o nh a n d l i n g s e r v i c e s t h ee x c e p t i 。nh a l l d l i n gs e r v i c e sa r ee x c e p t i 。nh a n d l i n gu 1 1 i t s 。fm ee x c 印t i 。n h a n d l i n gp o l i c i e si nb c s e eb yc o m p o s i n gb a s i ce x c e p t i o nh a n d l i n gs e r v i c e s ,n e we x c e p t i o n h a n d l i n gs e r v i c e sw i t hc o m p l e xe x c e p t i o nh a n d l i n gp o l i c i e sw i l lb eg e n e r a t e d a tl a s t ,b a s e do nr e s e a r c h e so ne x c e p t i o nh a n d l i n gm e c h a n i s m ,t h i st h e s i si m p l e m e n t s t h ep r o t o t y p eo ft h ee x c e p t i o nh a n d l i n gm o d u l eo fb c s e p , i n c l u d i n gf u n c t i o n so fe x c e p t i o n d e t e c t i n g ,e x c e p t i o na n a l y z i n g ,e x c e p t i o nh a n d l i n g t h ei m p l e m e n t a t i o ns h o w st h a t t h e e x c e p t i o nh a n d l i n gm o d u l ei se f f e c t i v e k e y w o r d s :s e r v i c ec o m p o s i t i o n ;e x c e p t i o nd e t e c t ;e x c e p t i o nh a n d l e ;e c a ;e x c e p t i o n , j - 一 目录 目录 独创性声明i 摘要i i a b s t r a c t i i i _ 第一章绪论1 1 1 课题的背景和意义l 1 2 本文的主要研究内容2 1 3 本文的组织结构。3 第二章研究基础5 2 1 服务组合5 2 2 异常处理研究基础。7 2 2 1 异常的定义7 2 2 2 异常的分类8 2 2 3 异常监控方法概述9 2 2 4 异常处理的原则1 0 2 2 5 异常处理研究回顾10 2 3 基于业务服务的组合服务执行平台b c s e p 1 3 2 3 1 业务服务模型1 3 2 3 2 基于业务服务的业务流程的执行机制1 5 2 3 3b c s e p 系统结构1 7 2 4 小结2 0 第三章b c s e p 中的异常检测2 l 3 1 异常处理过程2 1 。3 2 异常产生原因的分析2 2 3 2 1 组合服务生命周期中的异常分析2 2 3 2 2 业务服务生命周期中的异常分析2 4 3 2 3 系统中异常的具体分类2 5 3 3 异常处理模块中的异常检测方法2 6 3 4 基于服务可用性的异常检测方法2 7 3 5 基于约束规则的异常检测方法3 0 3 5 1 基于时间约束的异常检测3 0 3 5 2 基于接口约束的异常检测31 一v 一 东北大学硕士学位论文目录 3 5 3 基于上下文约束的异常检测3 3 3 6 检测到异常后对流程状态的干预3 4 3 7 异常消息的描述3 5 3 8 小结3 6 第四章异常处理方法3 7 4 1 异常的处理策略3 7 4 2 基于规则的异常处理4 0 4 2 1a n a l e p t i c 方法4 1 4 2 2 规则库的建立4 2 4 2 3 规则的匹配算法4 5 4 3 异常处理服务4 6 4 3 1 实现重试策略的异常处理服务4 7 4 3 2 实现替换策略的异常处理服务4 8 4 3 3 实现补偿策略的异常处理服务51 4 4 具有业务用户参与特性的异常处理5 2 4 4 1 人工干预的基础功能。5 3 4 4 2 人工干预的业务流程重编排5 4 4 5d 、结5 6 第五章异常处理模块的设计与实现5 7 5 1 模块设计5 7 5 1 1 模块结构设计一5 7 5 1 2 模块类设计5 9 5 2 数据库设计6 0 5 3 模块实现6 2 5 3 1 异常检测的实现一6 3 5 3 2 异常消息队列的实现一6 3 5 3 3 异常分析的实现6 4 5 3 4 异常处理服务的实现6 4 5 4 ,j 、结6 8 第六章结论6 9 参考文献7 l 致谢7 5 一v i 一 , , v 警 , o 一 , 东北大学硕士学位论文 第一章绪论 1 1 课题的背景和意义 第一章绪论弟一早珀t 匕 分布式应用集成是应用开发领域的一个热点问题,并已经出现了分布式对象技术、 中间件技术、协同计算技术等诸多分布式应用集成技术。随着业务环境动态性、开放性 的增强,已有的技术在无缝的解决系统组件异构性等问题上的不足越来越明显。面向服 务的计算( s e r v i c eo r i e n t e dc o m p u t i n g ) 技术的出现为解决广域网范围内应用集成中 的异构问题以及构造动态、开放环境下松耦合的集成化应用带来了诸多好处,获得了来 自研究界和产业界的广泛关注。近些年通过组合广域网范围内的服务来开发应用是分布 式应用集成的热点研究问题之一。 在动态、开放的面向服务计算环境中,服务是核心概念之一,如今也出现了诸如 w 曲服务( w e bs e r v i c e s ) 2 1 、g r i d 服务( g r i ds e r v i c e s ) 【3 1 等一些被广泛接受的具体使 能技术。到目前,w e b 服务技术已相当成熟。w e b 服务建立在完全开放的标准之上,被 认为是基于组件的开发模型,通过提供一种平台无关、语言无关、数据格式无关的访问 接口,形成了一种在网络环境下,支持不同的系统平台、数据格式和编程语言的企业解 决方案。 然而,面向服务的计算环境中的服务具有自治的特性,即服务具有自主演化、自主 控制等特性。这种“使用但不拥有 的资源使用模式使得通过服务组合开发应用的过程 中存在应用无法顺利使用服务的危险。换句话说,服务的自治性加强了服务和应用之间 关系的不确定性。所谓不确定性是指应用和被调用的服务间的关系的不确定、服务自身 演化的不确定以及应用变化的不确定。不确定的关联关系增大了应用运行的不稳定性以 及产生和服务相关的异常的可能性。为了能够开发具有较强健壮性的应用,必须对这个 问题进行处理。 此外,组合广域网范围内的服务来开发应用,广泛采取通过业务流程的方式来描述 服务间的控制逻辑关系和数据依赖关系,即认为组合服务是构建在一组静态或动态确定 的组件服务之上的业务流程。因此,同传统的工作流系统一样,基于业务流程的组合服 务在运行期间有可能受到多种异常情况的影响,例如,通信问题、计算机存储问题、程 序出错问题等底层的异常;错误的流程规划、对流程预期结果的违背、找不到流程预设 东北大学硕士学位论文 第一章绪论 的对象等流程相关的异常。 由于异常的存在,严重影响了组合服务的应用的运行质量,为了建立可靠的组合服 务执行平台,不仅要求系统在正常情况下能够顺利运行,更重要的是要求它能够灵活处 理各种异常问题,当异常发生时,能够采取措施恢复数据并保持数据的一致性。因此, 异常处理是组合服务的设计和执行中要解决的关键问题之一。 目前,基于业务流程的w e b 服务组合研究主要集中在组合服务的描述及验证方面, 而对服务组合的例外处理尚不成熟【4 1 。本文的研究工作正是上述背景和需求下进行的有 意义的尝试。 1 2 本文的主要研究内容 作者所参与的服务计算小组首先提出了业务服务模型的概念。业务服务模型作为高 层次的抽象模型,对w e b 服务提供的功能接口进行业务层次上的抽象和封装,使其体 现出业务接口一事件。业务服务模型可以使w e b 服务更好的适用于面向业务领域的系统 开发。在业务服务模型的基础上,对基于业务服务的组合服务的执行机制进行了进一步 研究,提出通过服务间的事件映射关系来描述服务间的相互关系,从而实现了业务流程 中业务服务之间控制逻辑关系和数据依赖关系的描述。 以业务服务模型和基于业务服务的组合服务的执行机制为理论基础,本服务计算小 组设计并实现了基于业务服务的组合服务执行平台b c s e p ,本文所作的组合服务中异 常处理机制的研究正是基于上述理论基础和执行平台进行的,并设计和实现了b c s e p 的 异常处理模块。 本文研究的主要问题是基于业务服务的组合服务执行平台的异常处理机制,对异常 的检测、分析和处理等主要步骤进行了深入研究,并提出了基于e c a 规则的上下文敏 感的组合服务异常处理方法a n a l e p t i c ( c o m e x t s e n s i t i v ee c ar u l e sb 2 l s 鲴a 1 2 p r o a c h _ t oh a n d l i n gc o m p o s i t es e r v i c ee x c e p t i o n ) a 异常的捕捉是否及时、完备是评定一个系统异常处理能力的一个重要指标。本文首 先对组合服务中异常产生的原因进行分析,并给出了执行平台中异常的具体分类。然后 对本平台中的异常的检测机制进行了研究,采用了基于服务可用性的异常检测方法来解 决绑定阶段所绑定的服务在调用执行阶段服务质量不再满足业务要求的问题;提出了基 于约束规则的异常检测方法,提出了时间,接口和上下文等3 种约束规则,并给出规则 的标准定义方式,以及如何根据约束规则对异常进行检测。在检测到异常之后,阐述了 一2 一 东北大学硕士学位论文第一章绪论 如何对业务流程的执行状态的进行干预。将异常发生时的异常信息封装成异常消息,并 采用消息传递机制将异常消息传递给异常的处理部分。 在检测到异常之后,便开始对异常进行实际的处理。首先介绍了常用的异常处理策 略【5 】【6 】,并对每种策略给出了评价和适用的情形,针对执行平台中异常的具体分类,对 每类异常可能采用的异常处理策略进行了说明。本文采用了e c a 规则并对其扩展,提 出了基于e c a 规则的上下文敏感的组合服务异常处理方法。e c a 规则中的e v e n t 对应 异常消息队列中的异常消息。将e c a 规则中的c o n d i t i o n 分为异常上下文和流程上下文 两部分,其中异常上下文用来指明异常发生时的具体异常信息,而流程上下文用来说明 异常发生时相关服务的执行状态。e c a 规则中的a c t i o n 对应具体的异常处理服务。异 常处理服务是对异常进行处理的基本单元,基于组合服务执行平台,本文给出了实现重 试、替换、补偿和人工干预等异常处理策略的异常处理服务。可将这些基本的异常处理 服务进行组合调度,进而实现具有复杂异常处理策略的新的异常处理,重而实现了服务 级的重用。需要指出的是,本文中异常处理服务对人工干预的支持,只能完成一些基本 的人工干预功能,本文对通过人工干预的方式实现业务流程重编排来处理异常进行了阐 述。 本文对异常处理机制进行了研究,并对业务服务执行平台的异常处理模块进行了详 细的设计与实现。 1 3 本文的组织结构 全文的内容共分为六章: 第一章绪论,提出本课题的研究背景、意义以及要解决的主要问题。 第二章对本文所涉及的相关知识w e b 服务、服务组合等做以简要介绍,并着重介 绍了异常的定义、分类、检测方法、处理原则以及异常处理的研究现状,在本章的最后, j对基于业务服务的组合服务执行平台b c s e p 的基本原理、系统结构加以介绍。 一 第三章首先对b c s e p 中异常处理过程进行说明。然后结合执行平台自身的特性, 对组合服务的异常产生原因进行分析,提出了平台中异常的具体分类。对b c s e p 中异 常的检测机制加以说明,并着重阐述了基于服务可用性的异常检测方法和基于约束规则 的异常检测方法。最后给出了异常检测之后的流程干预和异常信息的封装机制。 第四章对异常处理策略进行了介绍和评价,针对每种异常给出了异常处理策略的适 用情形。着重介绍了基于e c a 规则的上下文敏感的异常处理方法,对扩展后的e c a 规 一3 一 东北大学硕士学位论文 第一章绪论 则加以说明,同时给出了规则的匹配算法。最后对实现具体异常处理策略的异常处理服 务进行介绍和说明。 第五章对基于业务服务的组合服务执行平台中的异常处理模块进行详细设计与实 现。给出了的异常处理模块的结构设计、功能类设计以及数据库设计。并对模块中的主 要部分的实现加以说明。 第六章是结论,对全文作总结。 一4 一 东北大学硕士学位论文第二章研究基础 第二章研究基础 w e b 服务提供了一种平台独立的、自描述的、分布式的软件组件,w e b 服务组合是 在面向服务的体系结构下实现业务流程的一种松耦合的软件架构方法。由于w e b 的特 性,组合服务中的异常处理更为复杂,为了能够开发具有较强健壮性的应用,对组合服 务中的异常进行有效处理,需要对异常的相关知识进行了解。本章首先介绍了服务计算、 服务组合等相关概念,然后对异常的定义、分类、监控方法、处理原则、研究现状等异 常处理方面的研究基础进行介绍。在本章的最后,对作者所参与的基于业务服务的组合 服务执行平台b c s e p 的系统目标、原理、系统结构等进行了介绍。 2 1 服务组合 w e bs e r v i c e s 技术的广泛接受使得w e b 服务正逐步成为i n t e m e t 网络环境中资源封 装的标准形式。随着部署在i n t e m e t 上的w e b 服务不断丰富【7 】,这些可被公共访问和集 成的服务构成了一个潜在的巨大的标准组件库,通过u d d i 8 】( 用于发布和查找) ,w s d l 9 】 ( 用于描述) ,s o a p t l o 】( 用于通信) 等协议可以很容易地实现交互、协作和集成,快速 搭建出具有丰富功能的新应用。相应的,服务的用户对服务的反应速度,服务的功能, 服务的质量要求也越来越高,而且供应商提供的单个服务也越来越难满足用户的实际需 要【1 1 1 。 一方面,w | e b 服务技术己经能够提供了封装良好、平台无关与位置透明的w e b 服 务对象,完成一定的业务功能,从而提供了优良的服务组件【1 2 】。为了更加充分的利用这 些服务组件,有必要将它们组合起来提供增值的服务。另一方面,随着计算机网络技术 的发展,计算机硬件设备性能的日益提高,计算结构己经从主机一终端结构发展到分布 式对象模式,而且业务系统需求还在不断变化、演进,功能要求日益复杂。w e b 服务组 合能将粒度较小、完成功能有限的、共享的单个服务组合起来【1 3 】,提供复杂的、可扩展 的组合服务功能。 因此,在服务互操作技术的基础上,利用基于标准的协议( 比如s o a p ,w s d l 和 u d d i ) 把不同提供商提供的w e b 服务有效地集成,从而提供增值的服务也即是服务合 成,成为w e b 服务技术发展的必然趋势。在实际应用中,我们要求通过组合多个w e b 服务形成组合服务提供用户所需的功能,同时也具备用户可以接受的服务质量( q u a l i t y 一5 一 东北大学硕士学位论文第二章研究基础 o f s e r v i c e ,q o s 【1 4 】) 。 w e b 服务组合的本质就是若干w e b 服务相互间的通信和协作,从而灵活的实现上 层业务需求,同时屏蔽底层实现技术变迁对上层的影响。这种组合的结果表现为一个自 动执行的处理流程,它与传统工作流有很多共同的处理特征【l 引,需要去协调一个流程中 服务调用的顺序、对服务之间的数据流进行管理等等,需要提供有效性、可靠性和可持 续性的支持。服务组合避免了传统工作流的缺陷。传统工作流系统的最大缺陷就是:它 们大多采用了专有技术【l 酬。这使得业务流程与企业应用的结合变得非常复杂,通常需要 很长时间进行部署和实施,而与企业外部系统进行集成则更加困难,无法适应全球化浪 潮和互联网时代对企业灵活、无缝集成的需求。 面对越来越多的服务,如何组合相关服务以完成特定的任务,提高服务的重用性、 减少服务的开发成本成为亟待解决的关键问题。 组合服务的定义包括一系列的原子服务,以及服务之间的控制流和数据流。同样地, 一个工作流就是描述工作项流【1 7 】。因此,采用工作流的方法把w r e b 服务的组合当作分 布式的工作流程来实现,并采用控制结构来交错执行不同的服务。在灵活工作流等工作 流技术以及跨企业集成方面取得的研究成果也为自动化的服务组合提供了方法。而且动 态工作流提供了把抽象节点与具体的资源或服务绑定起来的方法。 服务组合的方法有两种,静态组合和动态组合【l 引。静态组合指组合服务是在设计时 进行的,相关的技术方案也已出现,如与工作流模型结合的方法、b p e l 4 w s 等,然而 这些方法只能对预先已知的服务进行组合,它们不能对网络上那些未知的但可用的( 如 新近发布的) 服务进行组合,这种组合通常称为静态组合。服务组件以事先协商的方式 互相交互,也就是在组合流程被设计的初期就要指定好特定的w e b 服务,并且指定好 前后服务间的参数匹配关系,一旦服务投入运行,则整个组合中的任何一个服务将不再 , 允许改变。这种组合方式的优点是简单,好管理,便于实现参数间的匹配,并且组合运 行成功的机率也比较大一些,只要各个w e b 服务能够顺利完成各自的任务,整个流程 。 就一定可以顺利完成,不会出现前后服务参数不匹配的问题而导致流程的失败。缺点是 不够灵活,很难适应现在多变的客户需求【i 9 j 。 而动态组合是在运行时进行的,服务组件快速的彼此发现并进行协商。也就是在组 合流程设计的初期并不需要指定某一个特定的w | e b 服务,流程设计者只要提出自己的 功能需求,也就是要完成什么样的功能;以及一些非功能性的约束,也就是在完成所要 求功能的基础上,还要满足所提出的这些约束。并不要像静态组合方式那样事先把具体 一6 一 东北大学硕士学位论文第二章研究基础 的服务指定,服务的指定由系统在运行期间,根据用户的要求与约束动态的确定一组最 佳的组合来投入运行。由此可以看出,动态组合方式的优点是灵活,能够满足用户日益 增加的多变的需求。但是缺点是,这将会使系统变得很复杂,特别是参数匹配的问题。 2 2 异常处理研究基础 一个组合服务的成功执行不仅依赖于其内部的设计和状态,还依赖于外部参与的服 务的执行【2 。因此,w e b 不仅提供了一个巨大的b 2 b 交互的机会,同时也提出了更具 挑战性的问题。多种自治的、异构的、分布式的参与者加大了组合服务背离正常状态, 产生异常的几率【2 。此外,w e b 服务自身的黑盒特性也给它们的外部可见性和易于管 理带来了明显的障碍,这严重阻碍了组合服务的异常处理能力。 面向服务的计算环境中的服务具有自治的特性,即服务具有自主演化、自主控制等 特性【2 引。这种“使用但不拥有的资源使用模式使得通过服务组合开发应用的过程中存 在应用无法顺利使用服务的危险。换句话说,服务的自治性加强了服务和应用之间关系 的不确定性。所谓不确定性是指应用和被调用的服务间的关系的不确定、服务自身演化 的不确定以及应用变化的不确定。不确定的关联关系增大了应用运行的不稳定性。为了 能够开发具有较强健壮性的应用,必须对这个问题进行处理。 下面对异常的定义、分类、监控方法、处理原则、研究现状等异常处理的研究基础 分别加以介绍。 2 2 1 异常的定义 迄今很多相关研究从不同的侧面对异常及异常处理也进行了定义。 从一个通用层面对异常进行定义:“异常是在执行一些操作的过程中检测到的引起 操作调用者注意的非正常的情形【2 3 】,同时他对异常的触发和处理也给出了对应的定义: “异常的触发是指将非正常的情形通知给操作调用者 ;而“异常的处理是指为了处理 发生的异常而执行的特殊的过程或者调用者的反应 。 从人对应用的干预角度将异常定义为当系统无法正确处理而需要手工干预来得到 应用所要达到的结果的情况【2 4 1 。 随着近些年业务应用开发受到越来越多的重视,从业务过程的角度对异常进行了新 的定义:“业务过程执行过程中的异常是理想事件序列中非正常的偏离,可以由设计错 误、资源失效、需求变更等因素导致【2 5 】 。 一7 一 东北大学硕士学位论文 第二章研究基础 2 2 2 异常的分类 我们可以从不同的角度对异常进行分类,按照异常出现的可预见性,可以分为: 可预测异常:在系统开发时就可以预料到的异常情况。通常对这类异常情况有充分 的了解,可以在建模时设计这类异常情况的处理方法。系统实施后,在该类异常发生时, 可以由系统按照预先设定的处理方法来处理; 不可预测异常:在系统开发时无法预料到的异常情况。因此,在建模时无法确定该 类异常发生后可以采取的解决措施,需要人的参与。 在面向业务流程的组合服务系统中,按照异常的来源,可将异常分为底层异常、流 程级异常和服务级异常,如图2 1 所示。 服务级 异常 流程级 异常 二二= 7仁二一7 j w e b 擘翌竺一 妙弋夕 面向业务流程的组合服务系统 t 一一一, 么二二二二二= 二二二一二:二一:二7 底层异常 i 一,一垫婴皇:d b 兰! 竺j 图2 1 异常分类模型 f i g 2 1m o d e lo fe x c e p t i o nc l a s s i f i c a t i o n ( 1 ) 底层异常 底层异常亦称运行平台异常。该类异常是指那些存在于组合服务系统的业务流程之 外的、但是支撑组合服务系统正常运行的底层平台的错误,如d b m s 故障、机器设备或 是网络联通问题、支持消息机制的j b o s s 服务器未初始化、数据库连接池的连接不可用 等等。 , ( 2 ) 流程级异常 流程级异常指业务流程执行中与原有业务逻辑的背离。业务流程执行到业务的某一 处时,前一阶段的流程执行结果无法使下一阶段正常执行,发生业务逻辑的背离,例如: 某订单系统中,物品库存不足,流程无法继续;此外,业务流程的制定者可对流程的每 阶段提出自己的预期,即个性化设置,例如:某订单系统中,用户期望总的订单额度 小于十万( a c c o u n t 1 0 0 0 0 0 ) 。在业务流程执行过程中,每一个与预期约束的背离,都 一8 一 东北大学硕士学位论文第二章研究基础 无法使业务逻辑正常执行,抛出流程级的异常。 ( 3 ) 服务级异常 服务级异常主要是由服务不可用造成的。基于服务的业务流程所面临的一个突出问 题就是服务的可用性问题。造成服务不可用的原因是多方面的:服务被大量访问时可造 成服务暂时的不可用或反应时间长,服务发生自我演化( 服务功能的变更,或服务的失 效) 时造成服务的不可用,又或者是网络中服务资源所在服务器的硬件故障所导致的服 务不可用等等。基于服务的业务流程若不能对单个业务服务所可能产生的不可用问题做 出处理,则整个业务流程的可用性将大打折扣。 2 2 3 异常监控方法概述 异常的捕捉是否及时、完备是评定一个系统异常处理能力的一个重要指标。异常的 捕捉通常通过监控应用系统组件的输入输出、比较组件的实际动作和预定义动作之间 的差别等方式完成。现有的监控技术主要有以下几类: 特定描述的监控:特定描述的监控主要应用于非确定性系统中。它的优点在于描述 的定义者可以避免描述不限管的动作,从而使得应用设计者能够方便的选择可替换的动 作来得到更加的期望值。这类监控的难点在于监控者需要对所有被允许的动作进行事先 的说明。如程序设计语言的i f e l s e 语句。多层的监控:对

温馨提示

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

评论

0/150

提交评论