




已阅读5页,还剩84页未读, 继续免费阅读
(计算机科学与技术专业论文)基于bpel的服务构件组合执行引擎研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【一 r e s e a r c ha n di m p l e m e n t a t i o no fb p e lb a s e ds e r v i c e c o m p o n e n tc o m b i n a t i o ne x e c u t i o ne n g i n e at h e s i ss u b m i t t e dt o d a l i a nm a r i t i m eu n i v e r s i t y i np a r t i a lf u l f i l l m e n to ft h er e q u i r e m e n t sf o rt h ed e g r e eo f m a s t e ro fe n g i n e e r i n g b y w uy a n ( c o m p u t e rs c i e n c ea n dt e c h n o l o g y ) t h e s i ss u p e r v i s o r :p r o f e s s o rz h a n gw e i s h i j u n e2 0 1 1 咖4洲4洲66删98 jim y 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成博硕士学位论文= = 基王旦旦坠的腿釜掏鲑纽盒垫堑曼i 整婴究曼塞现= = 。除 论文中已经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已 在文中以明确方式标明。本论文中不包含任何未加明确注明的其他个人或集体己 经公开发表或未公开发表的成果。本声明的法律责任由本人承担。 学位论文作者签名: 鸦 学位论文版权使用授权书 本学位论文作者及指导教师完全了解大连海事大学有关保留、使用研究生学 位论文的规定,即:大连海事大学有权保留并向国家有关部门或机构送交学位论 文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将本 学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫 描等复制手段保存和汇编学位论文。同意将本学位论文收录到中国优秀博硕士 学位论文全文数据库( 中国学术期刊( 光盘版) 电子杂志社) 、中国学位论 文全文数据库( 中国科学技术信息研究所) 等数据库中,并以电子出版物形式 出版发行和提供信息服务。保密的论文在解密后遵守此规定。 本学位论文属于:保密口在年解密后适用本授权书。 不保密口( 请在以上方框内打“) 论文作者躲鸦导师躲了p 弓膨 日期:2 d f f 年- 月 中文摘要 摘要 s o a ( s e r v i c eo r i e n t e da r c h i t e c t u r e ) ,面向服务的架构,是分布式软件系统构造 方法和环境的新发展阶段,是用于利用i t 实现组织目标的战略手段。但是如何实 现s o a ,是业界一直争论的焦点。当前在业界逐渐得到广泛认可的是服务构件架 构s c a ( s e r v i c ec o m p o n e n ta r c h i t e c t u r e ) 和服务编排技术b p e l ( b u s i n e s sp r o c e s s e e x e c u t i o nl a n g u a g e ) 。b p e l 与s c a 一起构成了s o a 基石,是实施s o a 架构的 核心技术。因此,研究服务构件组合技术对于实现s o a 架构具有深远意义。 本文在分析研究总结国内外相关研究成果的基础上,对s o a 架构、服务构件 组合和b p e l 引擎架构进行了深入的研究,设计了基于b p e l 的服务构件组合执行 引擎,并给出了该引擎的总体框架。研究了s c a 与b p e l 的结合方式,给出了该 引擎在s c a 架构中的位置。重点研究了b p e l 流程数据竞争问题,给出切实可行 的算法。针对该引擎的各个模块功能进行实现,采用d o m 4 j 实现了对b p e l 流程 定义文件的解析:采用a o p 编程模型实现了日志管理模块;采用r m i 技术实现对 服务构件的调用等;采用x s t r e a m 实现了该引擎的消息接口模块。最后,以一个 培训机构的案例展示了服务构件组合全过程,同时也验证了本文给出的引擎总体 架构的可行性、有效性和实用性。 本文基于用b p e l 组合服务构件形成一个具有一定业务逻辑功能的服务构件 的理念,设计了基于b p e l 的服务构件组合执行引擎,实现了s c a 与b p e l 的结 合,即用b p e l 编排调用服务构件,对于s o a 的实施具有一定的理论意义和应用 价值。 关键词:服务构件;服务构件组合;引擎;b p e l 英文摘要 a b s t r a c t s e r v i c eo r i e n t e da r c h i t e c t u r e ( s o a ) i st h en e ws t a g eo fc o n s t r u c t i o nm e t h o da n d e n v i r o n m e n to fd i s t r i b u t e ds o f t w a r es y s t e m ,a n ds t r a t e g i cm e a n su s i n gi tt oa c h i e v e o r g a n i z a t i o n a lg o a l s h o w e v e r ,t h e r e h a sb e e nal o n gh e a t e da r g u m e n to nh o wt o i m p l e m e n ts o a i ns o f t w a r ee n g i n e e r i n g c u r r e n t l y , i ti ss c a ( s e r v i c ec o m p o n e n t a r c h i t e c t u r e ) a n db p e l ( b u s i n e s sp r o c e s se x e c u t i o nl a n g u a g e ) t h a th a sb e e nw i d e l y r e c o g n i z e di nt h ei n d u s t r y t o g e t h e ra st h ec o r n e r s t o n eo fs o a ,s c aa n db p e l a r e c o r et e c h n o l o g yt oi m p l e m e n ts o aa r c h i t e c t u r e t h e r e f o r e ,t h es t u d yo fs e r v i c e s c o m p o n e n tc o m b i n a t i o nt e c h n o l o g yh a sf a r r e a c h i n gs i g n i f i c a n c et ot h er e a l i z a t i o no f s o aa r c h i t e c t u r e t h i sp a p e ra n a l y z e dt h ed o m e s t i ca n df o r e i g nr e s e a r c hr e s u l t so fr e l a t e d t e c h n o l o g i e s a n dr e s e a r c h e d d e e p l y t h es o aa r c h i t e c t u r e ,s e r v i c e c o m p o n e n t s c o m b i n a t i o na n db p e le n g i n ea r c h i t e c t u r e o nt h i sb a s i s ,t h ep a p e rd e s i g n e db p e l b a s e ds e r v i c ec o m p o n e n tc o m b i n a t i o ne x e c u t i o ne n g i n ea n dp r o p o s e da no v e r a l l f f a m e w o r ko ft h ee n g i n e i ts t u d i e dt h ec o m b i n a t i o nw a yo fs c aa n db p e l ,a n d e x p l a i n e dt h ee n g i n e si m p o r t a n tp o s i t i o ni nt h es c aa r c h i t e c t u r e a l s o ,f o c u s i n go nt h e d a t er a c ep r o b l e mi nb p e lp r o c e s s ,t h ep a p e rp r o p o s e da ne f f e c t i v ea l g o r i t h m m a j o r f u n c t i o nm o d u l e so ft h ee n g i n ew e r ei m p l e m e n t e di n t h i sp a p e r ,i n c l u d i n gb p e l p r o c e s sd o c u m e n tp a r s e ri m p l e m e n tu s i n gd o m 4 j ,l o gm a n a g e m e n ti m p l e m e n tu s i n g a o pp r o g r a m m i n gm o d e l ,c a l l i n gs e r v i c ec o m p o n e n tu s i n gr m it e c h n o l o g ya n dd a t a f o r m a tc o n v e r s i o ni m p l e m e n tu s i n gx s t r e a m a tl a s t ,ac a s eo ft r a i n i n gi n s t i t u t i o n sw a s i n t r o d u c e dt os h o wt h ew h o l ep r o c e s so fs e r v i c ec o m p o n e n tc o m p o s i t i o n ,a n dt o d e m o n s t r a t et h ef e a s i b i l i t y ,e f f e c t i v e n e s sa n d p r a c t i c a l i t yo f t h eo v e r a l ls t r u c t u r eo ft h e e n g i n ed i s c u s s e di nt h i sp a p e r b a s e do nt h ec o n c e p tt h a tc o m b i n a t i o no fs e r v i c e sc o m p o n e n tw i t hb p e l t of o r ma n e ws e r v i c ec o m p o n e n tw i t hac e r t a i nb u s i n e s sl o g i cf u n c t i o n ,t h ep a p e rd e s i g n e db p e l b a s e ds e r v i c ec o m p o n e n tc o m b i n a t i o ne x e c u t i o ne n g i n e ,r e a l i z i n gt h ec o m b i n a t i o no f s c aa n db p e l i ti so ft h e o r e t i c a la n dp r a c t i c a lv a l u et ot h ei m p l e m e n t a t i o no fs o a k e yw o r d s :s e r v i c ec o m p o n e n t ;s e r v i c ec o m p o n e n tc o m b i n a t i o n ;e n g i n e ;b p e l 目录 目录 第1 章绪论l 1 1 研究背景1 1 2 课题来源2 1 3 国内外研究现状2 1 4 本文的意义以及核心内容8 1 5 本文的组织结构8 第2 章服务构件及b p e l 相关理论9 2 1 服务构件9 2 1 1s o a 面向服务架构9 2 1 2s c a 服务构件架构l o 2 2 服务构件组合17 2 3b p e l 规范18 2 3 1 什么是b p e l 18 2 3 2 为什么要用b p e l 1 9 2 3 3b p e l 元素介绍19 2 4 本章小结一2 6 第3 章基于b p e l 的服务构件组合执行引擎的总体架构2 7 3 1 基于b p e l 的服务构件组合执行引擎的架构2 7 3 1 1s c a 与b p e l 引擎的结合2 7 3 1 2 引擎总体架构2 8 3 2b p e l 引擎的工作流程。3 2 3 3b p e l 业务流程实例3 4 3 3 1 业务流程实例状态转换3 4 3 3 2 业务流程实例周期3 5 3 4 本章小结3 6 第4 章基于b p e l 的服务构件组合执行引擎的实现3 7 4 1 引擎的数据结构3 7 4 2 引擎中功能模块的实现4 0 4 2 1 消息接口4 0 4 2 2 业务流程管理模块4 3 4 2 3 流程队列管理模块4 6 目录 4 2 4b p e l 编排及解析器模块4 8 4 2 5 持久化管理模块5 5 4 2 6 日志管理模块5 9 4 3 本引擎与其它引擎的比较6 l 4 4 本章小结6 2 第5 章基于b p e l 的服务构件组合执行引擎的实例应用6 3 5 1 案例简介6 3 5 2 系统整体设计方案6 4 5 3 服务构件的设计与实现。6 4 5 4b p e l 业务流程的设计与实现6 5 5 5b p e l 业务流程的执行7 0 5 6 本章小结7 l 第6 章总结与展望7 2 6 1 论文总结7 2 6 2 下一步工作展望7 2 参考文献7 4 致谢7 6 基于b p e l 的服务构件组合执行引擎研究与实现 第1 章绪论 1 1 研究背景 随着信息技术的发展,企业对分布式系统中数据的集中、系统的整合的要求越来越 迫切,对新建的系统从技术上要求能“随机应变”,由此面向服务的架构s o a ( s e r v i c e o r i e n t e da r c h i t e c t u r e ) 运用而生【l 】。“s e r v i c eo r i e n t e da r c h i t e c t u r e ,顾名思义, 面向服务的架构,后者说,以服务为基础搭建的企业i t 架构。s o a 是一个完整的软件系 统构件体系,包括运行环境、编程模型、构件风格和相关的方法论等。其核心是服务, 并涵盖服务的整个生命周期,建模一开发一装配一运行一管理。s o a 的核心理念是业务驱动, 采用松耦合的、灵活的体系架构来满足随需应变的业务需要【2 】。从技术上看,s o a 代表 了一种开放的、可扩展的、可联邦的、可组合的设计范型,是软件构件技术在分布计算 机环境的自然延伸。s o a 的基础设施是已有中间件平台的演化和发展,保留了传统架构 的成功特征。简言之,s o a 是一种遵循面向服务原则指导的软件体系结构【3 1 。 面向服务架构是一个思想,在企业应用中还没有真正构建s o a 应用和解决方案。 这是因为s o a 的技术需要建立在一个统一的标准之上,只有这样才能实现真正意义上 的业务整合。在这样的背景下,业界逐渐形成了一种服务封装技术:s c a ( 服务构件架 构) 。s c a 只关注服务,不同的服务可以用统一的方式调用,且服务可用不同的方式构 建【4 1 。这样简单的服务远远不能满足现在企业负责的业务流程,b p e l 就是在这样的环 境下运用而生。 b p e l ( b u s i n e s sp r o c e s se x e c u t i o nl a n g u a g ef o rw e bs e r v i c e ,也称作w s b p e l 或b p e l 4 w s ) 即业务流程执行语言【5 1 ,是业界在以x m l 、w e b 服务为基础的诸多规范之上 提出的一种新型的业务流程定义语言。它以业务流程及其参与者的交互为基础定义了业 务流程的描述语法,用于业务流程建模。其中,业务流程可直接调用符合w e b 服务规范 的服务。 b p e l 标准发布后,由于其以w e b 服务为基础,与具体的实现无关,具有平台无关性 和松耦合性。特别是随着s o a 即面向服务的体系结构概念的出现,所有的软件资源与应 用都封装成服务,服务即是基本的操作单位。业务流程在s o a 中既是服务的消费者又是 第1 章绪论 服务的提供者。它居于s o a 上层,将s o a 系统中孤立服务按照预定的规则进行调度与协 调,从而提供有价值的流程服务。而服务构件架构( s e r v i c ec o m p o n e n ta r c h i t e c t u r e , s c a ) 是s o a 思想的一种具体实现。b e p l 与s c a 相结合,将成为简化s o a 的相关应用程序 开发的新模式。 在本文中,将以用b p e l 组合服务构件s c a 为研究对象,重点研究基于b p e l 的 服务构件组合执行引擎的设计与实现。b p e l 与s c a 的结合,以及b p e l 引擎的实现大 大降低了构建s o a 架构的复杂性,为企业流程的变更提供了更好的灵活性【4 1 。 1 2 课题来源 该课题来源于国家自然科学基金项目“基于进程网络的w e b 服务组合建模和验证 方法研究( 项目批准号:6 0 9 7 3 0 1 3 ) 。该基金项目旨在给出一套完整的w e b 服务组 合建模和验证解决方案【6 】。在本论文中,研究了用b p e l 业务流程定义语言组合服务构 件的关键技术,设计并实现了基于b p e l 的服务构件组合执行引擎。 1 3 国内外研究现状 ( 一) b p e l 研究现状 随着面向服务架构( s o a ) 的迅速发展,位于s o a 协议栈核心的b p l e 也日益发 展。b p e l 作为一种业务流程描述语言,提供了并发和同步机制,因此,b p e l 业务流 程也像传统的多线程一样面临着数据竞争和死锁的问题。研究数据流和控制流是当前研 究b p e l 的主流方向。 对控制流分析和验证的技术主要有进程代数、p e t r i 网【3 7 1 、自动机,对数据流研究主 要有消息匹配【3 4 1 、数据依赖和数据竞争【3 5 】。针对数据竞争问题,文献【3 5 1 是利用线程 程序依赖图的思想,采用图理论方法,通过活动之间的可达性来判断并发的可能性,该 方法实现起来比较复杂。本文在对b p e l 规范活动节点分析的基础上,提出了一种基于 x m l 节点树分析的数据检测方法【3 2 舯】。 ( z ) b p e l 引擎研究现状 当前b p e l 引擎主要有b e x e e ,a c t i v e b p e l ,o r a c l eb p e lp r o c e s sm a n a g e r , w e b s p h e r e p r o c e s ss e r v e rv 6 等。下面对现有的引擎进行简要分析。 基于b p e l 的服务构件组合执行引擎研究与实现 ( 1 ) b e x e e 2 5 】 b e x e e 是一个b p e l 执行引擎并且是b p e l 标准的一个开源实现,它是瑞士b e r n e 大 学工程与信息技术学院的两个学生发起的开源项目。当他们离开学校后,没有足够的时 间再去推进项目,所以b e x e e 只发布了b e x e e l 0 版本。虽然b e x e e l 0 版本的引擎没有设 计自己的b p e l 编排工具,也没有考虑诸如安全性、性能等问题,但是它实现了b p e l 引 擎的核心功能,它能够执行用b p e l 4 w s l 0 规范描述的业务流程。也为引擎后续的扩展 提供了基础。b e x e e 架构如图1 1 【1 7 1 所示。 图1 1 b e x e e 架构图 f i g 1 1b e x e ea r c h i t e c t u r ec h a r t b e x e e 执行业务流程主要是通过流程控制对象p r o c e s s c o n t r 0 1 ( ) 来实现的,具体过 程如下:首先分析b p e l 定义文件,执行时先执行 或 复合活动,对于复 合活动中所包含的每一个活动,流程控制对象发送该活动对应的a c c e p t0 方法对其进行 处理:处理结束后,又把该活动对应对象发回给p r o c e s s c o n t r o l 对象继续进行处理,直 到所有活动都被执行。 ( 2 ) a ctiv e b p e l t 2 6 】 a e t i v e b p e l 引擎是e n d p o i n t s 公司的开源项目,它可执行符合b p e l 4 w s l 1 规范的 业务流程。a c t i v e b p e l 是一个单独的b p e l 引擎,可以在任何j a v a j 2 e e 应用服务器下 以w e b 应用( w a r 文件) 的形式运转。由于a c t i v e b p e l 属于开源产品,所以它与事实上的 j a v a j 2 e e 开源t o m c a t 、a p a c h e sw e bs e r v i c e s 框架a x i s 以及流行的构建工具a n t 第1 章绪论 紧密的结合在一起。a c t i v e b p e l 引擎的最新版本3 0 ,完全支持w s b p e l 2 0 规范。其 包含引擎和定制工具以及控制台。a c t i v e b p e le n g i n e 的架构由4 个核心概念组成:引 擎、流程、活动和文件。图1 - 2 【铡所示的是a c t i v e b p e l 引擎的体系结构,其中右边的 数据库元素代表一般的持久化存储。a c t i v e b p e l 引擎采用了插入式的结构,不同的 管理器可以执行不同的存储机制。 图1 2a c t i v e b p e l 引擎架构 f i g 1 2a c t i v e b p e le n g i n ea r c h i t e c t u r e 受目前国内中小型客户对流程需求的限制,基于b p e l 的开源引擎或小型产品被市 场接受度还很低。其次,虽然b p e l 引擎是开源的,但是它没有自己的设计器,它的公 司已经将其设计器a c t i v e v o s 商业化。 ( 3 ) o r a c l eb p e lp r o c e s sm a n a g e r 2 7 1 目前随着s o a 的发展,许多大的软件商家都极力进军s o a ,在s o a 方面投入了大量 的资金。o r a c l e 就是其中一家。o r a c l eb p e l 流程管理器为创建、部署和管理b p e l 业 务流程提供了广泛而易用的基础架构。o r a c l eb p e lp r o c e s sm a n a g e r 通过将一系列同 基t - b p e l 的服务构件组合执行引擎研究与实现 步和异步的服务组合到一个端到端b p e l 流程流中,简化了基于面向服务的体系结构 ( s o a ) 开发应用程序的流程。o r a c l eb p e lp r o c e s sm a n a g e r 为设计、部署和管理b p e l 业务流程提供了一个开发人员易于使用的可靠的解决方案。o r a c l eb p e lp r o c e s s m a n a g e r 包括三个主要组件: j d e v e l o p e rb p e ld e s i g n e r : j d e v e l o p e rb p e ld e s i g n e r 扩展了o r a c l ej d e v e l o p e r1 0 9 的功能,并支持使用 b p e l 进行业务流程的建模、编辑和设计。它提供了一个图形化和用户友好的方式构建 b p e l 流程。j d e v e l o p e r 使用b p e l 作为其原生格式,因此构建的流程是可移植的。 o r a c l eb p e lp r o c e s sm a n a g e rs e r v e r : o r a c l eb p e lp r o c e s sm a n a g e r 提供了b p e l 服务器的一个可伸缩的强健实现。 o r a c l eb p e lp r o c e s sm a n a g e r 执行标准的b p e l 流程并提供“脱水”功能,因此长期运 行流的状态在数据库中能够得以自动维护,从而实现了用于故障切换和可伸缩性的集 群。b p e ls e r v e r 利用的是基础j 2 e e 应用服务器。 o r a c l eb p e lc o n s o l e : o r a c l eb p e lc o n s o l e 为管理和调试部署到b p e l 服务器上的流程提供了一个基 于w e b 的成熟界面。审计跟踪和流程历史报告信息可通过b p e lc o n s o l e 和j a v aa p i 自动维护和提供。 ( 4 ) w e b s p h e r ep r o c e s ss e r v e rv 6 4 3 】 i b mw e b s p h e r e p r o c e s ss e r v e rv 6 ( w p sv 6 ) 是建立在w e b s p h e r e 应用服务器上 的新一代业务集成平台。它支持面向服务的应用架构( s e r v i c e o r i e n t e da r c h i t e c t u r e ,s c a ) 和企业服务总线( e n t e r p r i s es e r v i c eb u s ,e s b ) ,含有符合业界标准的业务流程引擎, 使用统一的服务调用和业务表现模型,并遵循业界的开放标准。w p sv 6 的基本架构是 基于服务组件的,图1 3 刻画了w p sv 6 运行环境的基本组成。 w p sv 6 运行环境建立在w e b s p h e r e 应用服务器之上,其最基础的部分是s o a 核心 机制。它基于w e b 服务( w e bs e r v i c e ) 规范,实现并规定了w p sv 6 中服务组件的交互 方式和统一的业务模型,是整个w p sv 6 运行环境的基础。服务组件架构( s e r v i c e c o m p o n e n ta r c h i t e c t u r e ,s c a ) 提供了统一的服务调用模型。业务对象( b u s i n e s s 第l 章绪论 o b j e c t ,b o ) 提供了统一的业务数据模型。通用事件基础设施( c o m m o ne v e n t i n f r a s t r u c t u r e ,c e i ) ,以统一的事件格式( c o m m o nb a s ee v e n t ,c b e ) 记录运行环境 中的事件,为w e b s p h e r e 监测器( w e b s p h e r em o n i t o r ) 提供数据存储。 s e r v i c e c o m p o n e n t s s u p p o r t i n g s e r v i c e s 锭,r :一一it 一一一豫一,一”一一”一:翟一、夕”? ”静氇i ,“9 哆”r : 一:? ;:- ;“: + 0 7 h ? 7 ,: | 黪j 。0 “_ ,一_ i i 黧i 器彳蠢? 囊0 ,一 7 + “ t “,j “ ,多j r 霭瑟黧零露一鼍瑟黎 豫 。? ,7 7 ”? ,:一 “、| ”;jl ;。o 。7 。j : h “, 黼懈4 如嚣“,“ ? , ! im+i t w e b s p h e r e 细蟛e a t i s e r v e r j 2 e er u n t i m e ,: 图1 3 w p s 运行环境 f i g 1 3w p sr u n n i n ge n v i r o n m e n t 在s o a 核心机制之上的是w p sv 6 的支撑服务,包括:s c a 接口转接器( i n t e r f a c e m e d i a t o r ) 提供了s c a 接口转接的功能,它可以把同一s c a 模块内不同s c a 组件接合起 来,即使它们的接口并不匹配。接口转接器与业务对象映射服务( m a ps e r v i c e ) 以及 关系服务( r e l a t i o n s h i ps e r v i c e ) 一起,完成接口转接的功能。 s e l e c t o r 提供输入输出的路由选择功能,动态决定调用目标,降低客户和调用目标 间的耦合度。在支撑服务之上的是w p sv 6 运行环境进行业务处理的主体服务组件,包 括 业务流程引擎( b u s i n e s sp r o c e s se n g i n e ,b p e ) 。 人工任务管理器( h u m a nt a s km a n a g e r ,h t m ) 。 业务状态机( b u s i n e s ss t a t em a c h i n e ,b s m ) 。 业务规则( b u s i n e s sr u l e s ,b r ) 。 根据以上综述,当前主要的b p e l 引擎都是基本w e b 服务的,但是随着w e b 服务 基于b p e l 的服务构件组合执行引擎研究与实现 应用的日益深化,面向服务架构s o a ( s e r v i c eo r i e n t e da r c h i t e c t u r e ) 以其语言独立性、平 台无关性以及应用实现松耦合的强大优势,在服务集成方面迅速发展起来【6 】。然而s o a 仅仅给出了面向服务体系结构的框架,对于业界关心的w e b 服务组装也没有提出统一 的规澍。服务构件架构( s e r v i c ec o m p o n e n ta r c h i t e c t u r e ,s c a ) 在s o a 的思想基础上, 提出一套完整的基于服务构件的组装规范,迅速成为当前研究的热点【6 】。s c a 主要的优 点是它使服务构件与传输协议的松耦合,实现了将服务构件与传输协议的分离,使得服 务可以自由绑定任何传输协议【7 】。这样的优点使得s c a 服务构件的实现可以与传输协议 分离,使服务构件的实现不受传输协议的限制;尤其是在夸平台系统调用时,优点显得 更突出。当我们对多种系统集成时,我们希望可以不管对方的接口和内部代码,而直接 考虑业务流程逻辑。s c a 服务构件很好的做到了这一点。 b p e l 是一种流程定义语言,编排现有w e b 服务以形成新的业务流程,即通过组织 现有w e b 服务来实现新的服务功能。b p e l 引擎的功能就是执行b p e l 编排w e b 服务 而生成的新的业务流程定义文件。b p e l 要编排w e b 服务,就需要对w e b 服务进行调 用来实现新的业务流程。将服务构件架构和b p e l 引擎的结合,使得b p e l 引擎在调用 w e b 服务时,不必关注服务的传输协议,而专注于业务流程的编排,即通过消息接口 ( s c a 绑定) 实现b p e l 引擎与传输协议的松耦合。因此,本文将b p e l 引擎组装在服 务构件架构中是可行的,并且有价值的。 当前主流的的b p e l 引擎,如o r a c l e 公司的o r a c l eb p e lp r o c e s sm a n a g e r , 以及 e n d p o i n t 公司的a c t i v e b p e l 引擎,其功能结构的设计上,不仅包含引擎必须的业务流 程管理模块,队列模块,日志模块,持久化管理模块,还包括了人工交互功能模块以及 服务发布和部署功能,以实现引擎功能的全面化。这样的引擎就显得“笨重 ,在很多 中小型企业的应用中以及一些实验室里的研究是根本用不到这么多的功能,并且这些引 擎一般都不是开源的,即便是开源的a c t i v e b p e l 引擎也不容许用应在商务领域。另外, 对于b p e l 文件中存在的数据竞争和死锁问题,现在的主流引擎不会去检测,本文结合 最新的关于b p e l 数据流研究成果,在引擎中加入对b p e l 流程文件的验证,确保b p e l 流程文件在执行前的正确性,以避免死锁的发生。 第1 章绪论 因此,本文在基于当前的b p e l 引擎架构,又结合了服务构件的特点,设计了基于 b p e l 的服务构件组合执行引擎,实现服务构件组合和b p e l 引擎的结合。 1 4 本文的意义以及核心内容 b p e l 和s c a 结合,b p e l 可以直接引入s c a 构件的w s d l 描述而对s c a 构件进行调用, b p e l 流程本身也可以作为s c a 的一种实现,像其他s c a 构件一样对外提供服务。这样使 得b p e l 的服务调用具有很好的“插拔”性【5 】。只要s c a 构件的接1 2 和b p e l 所暴露的引 用相匹配,就可以随便替换s c a 构件,这样既可以做到了流程逻辑的可重用,又获得了 被调用服务的可重用。 本文的核心工作就是研究用b p e l 编排s c a 服务构件形成一个具有一定的业务流程 的s c a 服务构件,并设计一个b p e l 引擎驱动该业务流程的执行。在文章的最后,给出 了一个具体的实例( 培训信息系统) 对b p e l 引擎架构进行验证。 1 5 本文的组织结构 结合研究的主要内容,将本论文共分为六章: 第1 章绪论,介绍服务构件组合的背景和意义,并对国内外的相关工作进行分析和 总结,阐明本文的研究目标和主要内容。 第2 章介绍服务构件和b p e l 业务流程定义语言等相关理论,主要包括服务构件和 服务构件组合的概念,以及b p e l 语言规范。 第3 章提出了用b p e l 组合服务构件的设计思想,并给出了基于b p e l 的服务构件 组合执行引擎的总体架构以及该引擎的特点。 第4 章基于第三章提出的该引擎的总体架构,设计并实现了引擎中各个功能模块, 重点研究了该引擎的数据竞争检测方法,并给出了具体算法。 第5 章案例研究,以一个培训机构的培训系统为例,对第三章提出的引擎架构进行 验证,证明了该引擎架构的正确性。 第6 章总结与展望,总结本文的工作,并提出下一阶段工作的研究方向。 基于b p e l 的服务构件组合执行引擎研究与实现 第2 章服务构件及b p e l 相关理论 s o a 的理念最初由全球最权威的i t 研究与顾问咨询公司g a r t n e r 于1 9 9 6 年提出, 当时的定义是:“as e r v i c e o r i e n t e da r c h i t e c t u r ei sas t y l eo fm u l t i t i e rc o m p u t i n g t h a th e l p so r g a n i z a t i o n ss h a r el o g i ca n dd a t aa m o n gm u l t i p l ea p p li c a t i o n sa n d u s a g em o d e s 。但是当时的技术水平和市场环境尚不具备真正实施s o a 的条件,s o a 并未引起人们的真正关注。进入2 1 世纪之后,i n t e r n e t 的迅速发展,越来越多的公司 将业务转移到互联网领域,为了能够将公司业务打包成独立的、具有强大伸缩性的可跨 越i n t e r n e t 访问的服务,人们提出了w e b 服务的概念,这是s o a 实践的真正发端。在 短短几年内,在厂商、研究人员和标准化组织的共同努力下,已经制定出一大批s o a 标 准和规范,有力地推动了s o a 的发展。 2 1 服务构件 2 1 1s o a 面向服务架构 面向服务架构( s e r v i c eo r i e n t e da r c h i t e c t u r e ,s o a ) 是指以服务为基础来构建企业信 息技术的架构,是指为了实现在i n t e m e t 环境下业务的集成,并且通过连线就能完成特 定任务、独立功能的实体实现的一种软件系统架构,它是企业i t 基础架构的思想、方 法、风格、工具的一个总称1 8 , 9 。s o a 旨在使授权用户无需了解服务所在位置,无需了 解服务构建所使用的语言,无需了解使用哪种协议请求提供服务,即可重复使用各项服 务。所有这些技术详细信息均应公开透明地呈现在用户面前。 服务是s o a 的核心。s 即服务,表示一项或一组任务,可以完成某一工作,a 即架 构,一种可以满足松耦合的服务组织和调用方式。s o a 具有四个特性:粗粒度的服务, 松耦合的架构,简单、精确的接口和高层的通讯模型。 “s o a 是一种架构和组织1 1 r 基础结构及业务功能的方法,s o a 是一种技术、开发、 部署和管理信息逻辑单元( 服务) 的模型,s o a 是一个构件模型,它将应用程序的不同 功能单元( 服务) 通过这些服务之间定义良好的接口和契约联系起来” t o l 。s o a 可以 第2 章服务构件及b p e l 相关理论 实现互联互通,缓解信息孤岛;s o a 使业务驱动i t ,使i t 更贴近业务。s o a 让i t 变 得有弹性,更快速的相应业务需求,实现实时企业( r t e ) 。 2 0 0 9 2 0 1 2 年中国企业将广泛部署s o a 应用,s o a 部署将从局部实验性项目扩展 到企业范围。中国企业i t 建设背景和复杂多变的需求决定s o a 落地的中国路线,将综 合考虑企业的业务需求并有效整合原有系统。i d c 等研究机构预计,s o a 将在未来两到 三年进入全面的实施阶段。 但是,s o a 仅仅是个架构,如何让s o a 在中国着陆? 应该是中国i t 企业最关心的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电商内容营销自动化工具创新创业项目商业计划书
- 农畜产品天然成分提取创新创业项目商业计划书
- 农产品产地直销网络创新创业项目商业计划书
- 2025年学前教育机构师资队伍教师培训效果评价与反馈体系报告
- 2025年工业互联网平台NFV虚拟化在5G网络中的应用场景报告
- 2025年工业节能技术改造资金申请项目申报条件与评估报告
- 2025年教育行业人才流失现状与吸引力建设策略报告
- 2025年网络直播行业规范化与直播平台国际化发展商业模式创新报告
- 甘肃省定西市岷县2021-2022学年第一学期五年级科学期中试题(含答案)
- 营养师考试2025年备考实操技能与营养调查模拟试卷
- 电子商务法律风险与合规管理
- 缆索起重机检查评分
- 妊娠期并发产前子痫的处理培训课件
- 中国民族史纲要罗佑贤
- 城市道路路名牌设置、管理和维护导则
- 肝性脑病患者护理查房
- JJF(石化)053-2021间隙式湿膜制备器校准规范
- 4.3闭环控制系统的工作过程教学设计-高中通用技术必修《技术与设计2》
- 2023版设备管理体系标准
- 办公家具供货安装、保障实施及售后服务方案
- 《曼陀罗绘画疗愈-初三减压》PPT
评论
0/150
提交评论