(计算机应用技术专业论文)基于bpel的业务流程研究及在学校迎新系统中的应用.pdf_第1页
(计算机应用技术专业论文)基于bpel的业务流程研究及在学校迎新系统中的应用.pdf_第2页
(计算机应用技术专业论文)基于bpel的业务流程研究及在学校迎新系统中的应用.pdf_第3页
(计算机应用技术专业论文)基于bpel的业务流程研究及在学校迎新系统中的应用.pdf_第4页
(计算机应用技术专业论文)基于bpel的业务流程研究及在学校迎新系统中的应用.pdf_第5页
已阅读5页,还剩51页未读, 继续免费阅读

(计算机应用技术专业论文)基于bpel的业务流程研究及在学校迎新系统中的应用.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着市场竞争越来越激烈,企业需要不断改善业务流程,提高业务流程的 灵活性,适应市场的变化。企业迫切需要利用信息手段实现先进的流程管理。 通过对业务信息进行分析,制定出合适的业务流程,使企业能够灵活地应对市 场的变化,提高企业的竞争力。 传统的企业系统中业务流程和业务系统的耦合度高,使得业务系统很难随 着企业环境的变化而快速的改变,因此提出基于x m l 标准和w e b 服务的s o a 架构,以b p e l 作为业务流程执行语言,实现企业部门间业务流程动态集成的方 法。 b p e l 是一种抽象的、高级的、可执行的建模语言,是一项为w e b 服务组 合而制定的规范,它实现了w e b 服务的交互和流程编排,并将流程本身发布为 w 曲服务。一般情况下,b p e l 流程接收客户端的请求,并调用相应的w e b 服 务,然后响应调用方。由于b p e l 模型元素依赖于w s d l 中的端口类型、消息、 操作等元素,所以b p e l 可以看作是w s d l 的一种扩展。b p e l 可以将无状态的、 孤立的w e b 服务进行编排组合,从而将w r e b 服务技术作为应用集成平台的全部 潜能发挥出来。 本文以b p e l 技术为基础,研究如何将其应用于学校迎新系统中。论文首先 介绍了业务流程和b p e l 的概念,发展现状。然后详述了b p e l 和相关技术的基 本原理。最后给出将b p e l 应用于学校迎新系统业务流程编排的解决方案。 关键词:b p e l ;业务流程;w e b 服务 a b s t r a c t a b s t r a c t t h ef i e r c em a r k e tc o m p e t i t i o nr e q u i r e se n t e r p r i s e st oi m p r o v et h e i rb u s i n e s s p r o c e s s e sa n ds t r i v ec o n t i n u o u s l y ,a d a p tt om a r k e tc h a n g e s t h ee n t e r p r i s e sn e e df o r b u s i n e s s e st ou s et h ei n f o r m a t i o nm e a n st oa c h i e v ea na d v a n c e dp r o c e s sm a n a g e m e n t u r g e n t l y m a k et h eb u s i n e s sp r o c e s s e ss u i tf o rt h e m s e l v e sb ya n a l y z i n gb u s i n e s s i n f o r m a t i o n , e n a b l i n g t o r e s p o n d t om a r k e t c h a n g e sf l e x i b i l i t y ,e n h a n c e c o m p e t i t i v e n e s s t h et r a d i t i o n a lb u s i n e s ss y s t e m sb u s i n e s sp r o c e s sc o u p l e dw i mah i 曲d e g r e eo f b u s i n e s ss y s t e m s ,r e s u l t i n gi nd i f f i c u l t yt oc h a n g e 谢mt h ee n t e r p r i s eb u s i n e s s s y s t e m s ,p r o p o s e dw e b s e r v i c ea n dx m l s t a n d a r d ss o af r a m e w o r k ,u s eb p e l 嬲a b u s i n e s sp r o c e s si m p l e m e n t a t i o nl a n g u a g eb e t w e e nt h eb u s i n e s ss e c t o r so fb u s i n e s s p r o c e s s e st oa c h i e v ed y n a m i ci n t e g r a t i o na p p r o a c h b p e li sac r i t e r i o nf o rw e bs e r v i c e s ,i sah i g h - l e v e l ,a b s t r a c t , e x e c u t a b l e m o d e l i n gl a n g u a g e ,w h i c hi sn o to n l yi m p l e m e n t st h ei n t e r a c t i o nb e t w e e nw e b s e r v i c e sa n dp r o c e s sp l a n n i n g ,b u ta l s ob ee x p o s e da saw e bs e r v i c ei t s e l n o r m a l l y b p e lp r o c e s sr e c e i v et h ec l i e n t sr e q u e s t ,a n di n v o k et h er e l e v a n tw e bs e r v i c e ,a n d t h e nr e s p o n dt ot h eo r i g i n a lc a l l e r b p e lc a nb es e e n 硒a ne x t e n s i o no fw s d l ,t h i s e x p a n s i o nr e f l e c t e di nt h eb p e lm o d e l ,s u c ha st h ee l e m e n td e p e n d so l lt h ew s d l p o r tt y p e ,m e s s a g e ,o p e r a t i o na n do t h e re l e m e n t s t h ei n t r o d u c t i o no fb p e lc a l l a s s e m b l ei s o l a t e d , n o n - s t a t ep o r t f o l i ow e bs e r v i c e s ,w h i c hp l a yw e bs e r v i c e s t e c h n o l o g y a sa na p p l i c a t i o ni n t e g r a t i o np l a t f o r mf u l lp o t e n t i a l i nt h i sp a p e r , b a s eo nb p e lt e c h n o l o g y ,ir e s e a r c hh o w t h e yc o u l db ea p p l i e dt o t h es c h o o lo r i e n t a t i o ns y s t e m p a p e rf i r s ti n t r o d u c e st h ec o n c e p to fb p e lb u s i n e s s p r o c e s s e sa n dt h ed e v e l o p m e n to ft h es t a t u sq u o t h e ni n t r o d u c e sb p e la n dr r e l a t e d t e c h n o l o g i e sd e t a i l e db a s i cp r i n c i p l e s f i n a l l y ,g i v et h es o l u t i o no nb p e lb u s i n e s s p r o c e s sa p p l i e dt ot h es c h o o ls y s t e m k e yw o r d s :b p e l ;b u s i n e s sp r o c e s s e s ;w e bs e r v i c e i i 学位论文独创性声明 学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得南昌大学或其他教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确 的说明并表示谢意。 学位论文作者签名( 手写) :蝴签字日期:加i 伊年f 月多日 学位论文版权使用授权书 本学位论文作者完全了解直昌太堂有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权南昌大堂可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编本学位论文。同时授权中国科学技术信息研究 所将本学位论文收录到中国学位论文全文数据库,并通过网络向 社会公众提供信息服务。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:同魄佩 导师签名: 熏列 签字日期:劢。年f月力日签字日期:伽彤年1 月7 e t 第1 章绪论 第1 章绪论 1 1 研究背景 目前,企业普遍遇到的一个难题是:如何去解决采用不同技术和体系结构 构建的众多应用系统的语言差异性、协议差异性、数据差异性和平台差异性所 带来的高代价系统集成问题。 s o a ( 面向服务的体系结构) 和w c b 服务相结合,可以有效的解决上述问 题,是业界提出解决企业应用集成问题的优秀方法。 服务是s o a 架构的基本元素,这些服务是模块化的、独立的、可互操作的、 位置明确的、松耦合的,并且可以通过网络查找其地址,因此s o a 能够满足网 络环境下业务集成的需要。随着w e b 服务技术的相关标准正在逐渐成熟,使得 w r e b 服务正逐步成为资源封装的标准形式,特别是在网络环境中。因此,w e b 服务是实现s o a 的最佳选择。业界在不断丰富部署在网络上的w e b 服务,这些 集成的可被公共访问的服务构成了一个资源丰富的标准组件库。 随着w r e b 服务使用的增加,在使用w e b 服务架构下的多数企业都使用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 e ,业务流程执行语言) 来对他们的商业过程 建模。b p e l 规范标准是专为整合w e b 服务而制定的,是实现w e b 服务组合的 重要途径,是业界进行w e b 服务编排和协调的首选标准流程语言,已成为业界 默认的标准。 b p e l 是通过整合一组需要的w e b 服务,从而定义一个新的w e b 服务。b p e l 的流程模型和它的x m l 语法定义了企业中流程之间,以及与合作伙伴之间使用 w e b 服务进行交互的情况,同时也定义了这些交互之间的状态、协调逻辑以及 在遇到异常情形下系统的处理方式。业务流程复杂性的不断增加,使得人们正 逐渐认识到使用一个标准的业务流程语言和可视化的环境来设计、实现和归档 具有高度独立和复杂行为能力的业务流程所具有的价值。 1 2 研究现状 随着工作流技术的不断发展,业务流程的执行和管理已经步入了自动化的 模式。工作流系统可以自动的执行定制业务流程,可以在计算机网络中自动传 l 第l 章绪论 递相应的报表、图纸的数据,可以自动保存数据,并且难以人为地改变在执行 过程中的流程规则。企业通过这种方式,在一定程度上整合系统的一些资源。 但是,这样的业务流程仍存在很多问题: 1 流程的自动执行还只局限在企业内部甚至部门内部 由于流程采用的建模和执行语言多是系统定义的私有语言,因此难以进行 不同系统之间的互操作。企业之间的流程,甚至企业的不同部门之间还不能进 行互相调用。 2 难以与现有的系统进行集成 由于工作流系统还是相对封闭的,系统多是采用私有的协议进行紧耦合方 式的数据传输或接口调用。这导致了工作流系统很难与企业现有应用系统进行 集成,进而导致了工作流系统与企业现有业务之间相互脱离,从而不能全面的 整合企业现有资源,不能真正的实现流程的自动化。然而如果全新的改造现有 应用系统又必将使企业付出巨大代价。 3 流程模型不具备通用性 流程模型不具备通用性是因为业界当时缺乏统一的流程建模语言。虽然工 作流管理联盟在当时制定了推荐标准,但是并没有获得各大厂商的广泛支持。 各大厂商纷纷定义各自的流程建模语言并绑定已有的流程产品。而某产品输出 的流程模型几乎不可能用于其他产品,因此企业不得不依赖于固定厂商。 业界提出以b p e l 作为业务流程定义语言,该语言以x m l 、w e b 服务等诸 多规范为基础,它定义了用于业务流程建模的业务流程描述语法,描述业务流 程及其参与者之问的交互。其中,使用w e b 服务接口标准描述业务流程及其参 与者的交互,因此b p e l 流程可以直接调用符合w e b 服务规范的服务。b p e l 可以描述多个服务之间的交互,从而对外提供具有某种商业价值的流程服务。 随着面向服务的体系结构s o a 的出现,服务将是基本的操作单位,所有的 软件资源与应用都将封装成服务。业务流程位于s o a 的上层,既是服务的提供 者又是服务的使用者,它按照预定的规则将s o a 系统中的孤立服务进行调度与 协调,从而提供有价值的流程服务。b p e l 以w e b 服务为基础,与具体的实现 无关,因此b p e l 具有平台无关性和松耦合性。b p e l 规范的诸多特点使得其在 s o a 架构中具有固有的优势,将b p e l 作为s o a 产品中提供业务流程服务的部 分。 2 第l 章绪论 1 3 研究意义 由于以往对于不同的i t 系统之间很难进行相互沟通,从而产生了很多的集 成方面的问题。开发者逐渐开始使用w e b 服务与b p e l 相结合的架构对商业过 程进行建模。s o a 为基于服务的分布式提供了概念上的设计模式,它的服务是 构建在一系列基于开放标准的基础之上的。b p e l 是一种基于舭的用于描述 商业过程的开放标准,这使得它可以轻便的与各种环境进行互操作。因此,通 过b p e l 与s o a 相结合,可以提供一种理想的方式将服务编排进整个商业流程。 目前被广泛接受的方式是建立w e b 服务并将它们直接或通过一些组织间接 发布到i n t e m e t 上。这种方法可以方便快捷地使用w s d l 来生成w e b 服务描述, 并且可以使用w s d l 来生成客户端协议。b p e l 提供的基于x m l 的脚本环境可 以很好地适应异步文档调用过程。许多商业过程都需要状态存储,而b p e l 引擎 则会将与过程相关的状态自动存储到数据库,b p e l 引擎可以保证系统错误不会 影响到过程的内部状态。并且提供了自动恢复功能来处理流程运行中可能出现 的错误,使得业务流程中调用无状态的w 曲服务,而让b p e l 过程来存储运行 过程中需要的所有状态。 采用基于b p e l 的w r e b 服务组合技术来集成业务服务,实现了资源的共享 与应用集成,包含两个方面的实际意义:一方面,实现了企业间的复杂业务协 作。另一方面,在企业现有的应用服务基础上,充分利用w e b 服务组合技术, 根据实际业务流程的需求,将单一的w e b 服务组合出能够满足需求的组合w e b 服务,实现了对业务需求变化的灵活、快速响应。 学校迎新系统是目前数字校园建设中的一个重要组成部分,也是学校管理 工作的重要组成部分。但是现有的学校数字迎新系统中存在很多问题,比如: 异构平台下资源难以共享、难以适应业务频繁交互和重构的需求、难以根据实 际需求的变化快捷方便地进行业务流程再造等。如果学校迎新策略发生变化, 或为新生增加了新的服务( 比如开通绿色通道等) ,学校就会面临大幅度修改现 有数字迎新系统,甚至重新开发的困境。通过上述b p e l 优点可知,作为s o a 产品中提供业务流程服务的部分,将基于b p e l 的服务组合技术应用于新生报到 系统可以有效解决这些问题,特别是服务流程再造的问题。 本课题的研究为一些学校正在进行的应用系统集成项目提供了一些可参考 的技术方案,因此本课题的研究具有很强的理论意义和实际意义。 3 第1 章绪论 1 4 本文的结构 全文共7 章。 第1 章:绪论 介绍了本文的研究背景,研究现状和研究意义。 第2 章:业务流程管理概述 介绍了业务流程管理的相关概念、优势和业务流程管理技术的演进,并详 细介绍了业务流程管理中的流程建模。分析比较了业务流程建模语言。 第3 章:b p e l 概述 从几个方面分析了b p e l 规范,并介绍了当前市场上主要的b p e l 引擎。最 后,分析了b p e l 与w e b 服务体系结构的关系,并对基于b p e l 的业务流程管 理框架进行了研究。 第4 章:w e b 服务与s o a 对w e b 服务进行了详细的研究。同时分析了s o a 的理论、特点。最后,分 析了w e b 服务与s o a 的关系。 第5 章:b p e l 技术在学校迎新系统中的应用分析 根据s o a 的特点,给出了系统结构模型。并对学校迎新系统进行了详细的 需求分析。最后,简单介绍了开发平台。 每6 章:b p e l 技术在学校迎新系统中的实现 详细给出了b p e l 技术用于学校迎新系统中流程编排的实现过程。 第7 章:总结和展望 对全文进行总结,并对今后的研究工作进行展望。 4 第2 章业务流程管理概述 第2 章业务流程管理概述 2 1 业务流程管理 业务流程管理即b p m ( b u s i n e s sp r o c e s sm a n a g e m e n t ) ,组合并优化了人员、 设备、企业级b a c k o f f i c e 应用、桌面应用系统等内容,从而实现跨部门、跨应用、 跨客户与合作伙伴的企业运作,以达成一套企业各种业务环节整合的全面管理 模式。通常,b p m 中的信息传递、数据同步、业务监控和企业业务流程的持续 升级优化是以i n t e m e t 方式实现。由此可见,b p m 不但实现了传统“工作流的 流程传递、流程监控,而且突破了传统“工作流技术的瓶颈。b p m 的推出对 工作流技术和企业管理理念来说,都是一次划时代飞跃。 b p m 适合具有多方参与者,并且需要高动态协作的业务,具有跨平台性。 利用以流程为中心的开发方法,在集成了企业的各种信息资源的基础上,通过 对业务流程的建模、设计、开发,并用先进的信息技术来实现业务行为。b p m 基于计算机网络、工作流、企业应用集成e a i 以及可扩展的标记语言x m l 等技 术,从业务流程的角度对企业进行全方位的管理,并支持业务流程的持续改进。 其核心思想是为企业内及企业间的各种业务流程提供一个统一的建模、执行和 监控的环境l i j 。图2 1 所示是在理想状态下的闭环业务流程图。第一步先对流程 进行建模( m o d e l ) ,得到一个概念模型,为了发现流程中的一些问题,要对这 个概念模型进行模拟( s i m u l a t e ) ,然后将它转换成可执行的模型( i m p l e m e n t ) 。 接着把可执行的模型配置到相应的业务流程执行引擎中执行( d e p l o ye x e c u t e ) , 并对它进行管理和监控( m o n i t o r ) ,根据监控得到的数据分析出流程中存在的问 题,再对模型进行优化( o p t i m i z e ) ,最后形成了一个闭环的b p m 。 蛐1 t 。p ;,r o 。c ,e 。s 。s 。、l l 罂。z 图2 1 业务流程闭环 第2 章业务流程管理概述 2 1 1 业务流程管理的优势 通过使用b p m 系统,能够把业务逻辑从应用系统中分离出来,从而能够比 以前更快速地创建新的应用。 1 缩短流程周期 b p m 是提供业务流程建模、自动化、管理与优化的准则与方法。一个包括 正确商业领导和技术组合的成功的b p m 方案可以大幅缩短流程周期,节省了时 间与金钱。在跨系统、跨部门的流程中能更深刻的体现出这种优势。从技术上 来看,b p m 系统可以与现有的应用软件方便快速的集成,而不需要对整个系统 重新设计1 2 j 。 2 改善工作质量 表单丢失、文件丢失或重要信息的遗漏等错误都会给企业带来损失,b p m 能够有效降低甚至消除这些错误。通过提高流程的可视化程度,让流程参与者 不仅可以清楚了解自己在流程中的角色,而且在任何时候都能明确流程的状态。 可视化还可以明确职责,参与者很清楚在什么时候应当完成哪些工作。此外, 还提高了一致性,使得公司内外部各方对工作都有了明确期望。 3 固化企业流程并实现流程自动化 随着企业的成长,企业流程将不断增多,并且逐渐复杂化,各类业务流程 也不断规范化和细化,这会使得企业的规章制度越来越厚,而这些规章制度的 执行者却越来越坠入混乱之中。b p m 为了满足了企业管理的需求和企业服务质 量的要求,将企业的关键流程固化并导入系统,定义流程的流转规则,由系统 控制和记录下各环节的工作时间。并且只设定一个信息录入口,系统按照根据 企业需要而定义的流转规则、流程自动流转,实现流程自动化p j 。 4 强化团队合作 大部分情况下,单独部门难以完成企业的流程,而需要部门间的团队合作, 甚至是企业间跨地域的合作。因此,企业的业务流程具有各业务部门的天然联 系。b p m 以流程处理为面向,利用互联网技术自动地串起各部门、各地域,从 而达到业务流程良好完成的目的。 5 帮助优化流程 市场环境的不断变化在不断挑战着企业流程的科学性、合理性和有效性。 而一套健壮的业务流程管理系统不但应该具备科学、合理和有效等优势,而且 随着流程的执行流转,系统应该可以将已有流程的好坏优缺以直观的形式表现 6 第2 章业务流程管理概述 出来例如数据、图形、报表等,从而给决策者提供流程是否需要改善的直观现 实的依据,进而达到不断优化业务流程管理系统的目的【4 1 。 2 1 2 业务流程管理中的流程建模 业务流程有着一个迭代的生命周期,业务流程管理内容的展开则是围绕着 业务流程的生命周期进行。如图2 2 所示,业务流程管理的生命周期大致上可以 划分为四个阶段 6 1 : 1 业务流程建模。通过分析企业现行流程的工作方式与工作状况,作为后 续工作的基础和出发点。这其中最为重要的是明确当前流程中的消息流、事件 流和控制流,在此基础上利用流程建模工具设计新的流程。 2 部署和执行流程。设计好的新业务流程推出上线的过程称为部署。部署 后的执行,包括人机交互和自动操作都需要业务流程引擎或流程服务器的支持。 3 控制和管理流程的实时状态。,伴随业务流程上线而来的是管理和监控。 企业业务运营过程中内外部状况的不断出现或人员组织的变更都要求业务流程 实时地跟踪并及时处理问题。 4 业务流程优化。包括对流程运行时指标的分析、测定,调整参数和步骤 进行优化,并收集数据生成总结。 图2 2 业务流程管理的生命周期 2 2 业务流程建模语言分析比较 x m l 技术的不断发展,促使越来越多的业务流定义语言采用x m l 格式进 行定义。x m l 主要应用于定义业务流程的规范,以达到解决不同业务流程之间 相互协调和集成的目的。到目前为止,出现的流程建模相关应用的语言标准主 7 第2 章业务流程管理概述 要有x l a n g 、b p m l 、w s c i 、w s c l 、b p e l 掣7 】【8 】,下面将对这些流程建模语言 分别予以探讨。 1 x l a n g x l a n g 只注重公共过程,而不关注业务具体的实现。使用结构化的方式进 行流程描述是x l a n g 的重要特点,对流程的描述与结构化的编程语言相类似。 x l a n g 提供了事务、异常处理的支持,并给出了把w e b 服务相互协作的各方连 到一起的方法。 2 b p m l b p m l 作为公共流程标准的补充,其主要关注的是私有流程。b p m l 为企业 业务流程的制定提供了全面的方案。b p m l 全面的描述了数据流结构和控制流, 通过补偿活动支持s h o r t - r u n n i n g 和l o n g - r u n n i n g 事务,对异常和超时也有相应的 处理。 3 w s c i 9 1 作为一种描述w e b 服务协作的语言,w s c i 给出了w e b 服务之间协作的消 息编排的定义,描述了参与者的消息交换,而没有定义可以执行的业务流程。 w s c i 更多体现的只是一种约束了协作方内部业务流程的外部可见行为的抽象 的协作描述。 4 w s c l 【i o 】 w s c l 是一种w e b 服务会话描述语言,主要侧重于w e b 服务调用的编排, 更多体现的是从某一方的观点来看会话的编排,而没有全局协作的概念。w s c l 是一种不可执行的语言,但可以方便的映射到各种协作模型上。w s c l 提出了 能够使内部业务逻辑和会话逻辑分开,而是在w e b 服务的外面增加会话支持的 w r e b 服务器框架。 5 b p e l b p e l 规范是基于x m l 和w e b 服务的业务流程执行语言规范。拥有抽象业 务流程和可执行业务流程这两类业务流程是b p e l 的一个重要特性。抽象业务流 程不关心各协作方内部的具体实现行为,只使用流程描述来指定协议涉及的各 协作方之间的消息交换行为;可执行业务流程则具体描述了参与者在业务交互 中的实际操作行为。b p e l 是一种高级的可执行建模语言,它能够在支持b p e l 的流程引擎之上直接运行,它与w e b 服务的结合也天衣无缝。在本文第三章将 对其进行更深入的研究。 8 第2 章业务流程管理概述 2 3 本章小节 本章介绍了业务流程管理的相关概念,分析了业务流程管理在企业应用中 的优势。重点讨论了业务流程管理中的流程建模,对x l a n g 、b p m l 、w s f l 、 w s c i 、w s c l 、b p e l 几种业务流程建模语言进行了分析比较。 9 第3 章b p e l 概述 第3 章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 e )即业务流程执行语言,它的 早期版本称为b p e l 4 w s ( 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 ( w e bs e r v i c eb 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 ) ,简称为 b p e l 。b p e l 是一种业务流程定义语言,主要以x m l 、w e b 服务为基础,它定 义了业务流程的描述语法,并且以业务流程参与者之间的交互为基础,用于业 务流程建模1 1 1 1 。其中,用w e b 服务接口标准来描述业务流程及其参与者的交互。 因此符合w e b 服务规范的服务可以直接被b p e l 流程所调用。b p e l 可以描述多 个服务之间的交互与协调,对外提供流程服务,以达到某种商业价值。 可执行流程语言b p e l 是将一组现有的服务进行整合,从而定义一个新的 w e b 服务。它指定业务流程以及它们和w e b 服务的关系。用b p e l 指定的可执 行的业务流程在符合b p e l 的环境间是可移植的。b p e l 业务流程可以和其编排 的所有w e b 服务互操作。基于b p e l 的w e b 服务业务流程自动化的方法为当今 企业应用集成所面临的两大挑战提供了解决方案: 1 如何最大程度地降低成本,增加企业在市场环境下的敏捷性,实现企业 自动化。 2 如何使业务流程自动化的聚集不断增加的w e b 服务并对它们进行编排。 3 1b p e l 的基本特性 服务的异构性、松耦合性和自主性使得服务组装相对于对象组装更为复杂, 服务之间动态的、按需发生着一些交互,并且缺少中央控制。为此,b p e l 服务 组装模型提供了下列特性【1 2 】: 1 灵活性:b p e l 流程具有丰富的表现能力,能够描述复杂的交互场景,而 且能够跟着需求快速的变化。 2 嵌套性:服务是b p e l 流程的基本调用对象,一个服务在被一个流程调 用的同时也可向其他流程,其他客户提供服务。同时一个b p e l 流程本身也可发 布成一个标准的w e b 服务,并可以被其他服务或流程组装调用,构成更粗粒度 的服务,提高了服务的重用性和可伸缩性。 1 0 第3 章b p e l 概述 3 关注点分离:b p e l 只关注与服务组装的业务逻辑,具体的功能则由它所 调用的服务来实现,与b p e l 无关。事务处理,服务质量等,可被作为附加扩展 由具体实现平台进行处理。 4 会话状态和生命周期管理:一个业务流程通常具有明确的生命周期模型, 这一点不同于无状态的w e b 服务。b p e l 提供了对有状态的、长时间运行的交 互的支持。 5 可恢复性:b p e l 提供了完善的失败处理机制和补偿机制,对一些可预测 的错误进行处理。这对于业务流程( 尤其对长时间运行的流程) 是非常重要的。 3 2b p e l 规范的设计原则 用b p e l 定义流程实质上是按照企业的需要,对一系列无状态的服务进行编 排与调用,使得这些服务按照企业制定的流转规则进行。b p e l 流程的定义必然 要与外部服务进行交互,考虑到服务的简单性以及可重用性,服务接口定义应 是抽象的,不应涉及服务质量定义、服务绑定、以及其他相关的细节问题【1 3 】。 因此,服务的交互接口应由w s d l 所描述的w e b 服务接口所定义。这些实现相 关的定义可在b p e l 流程部署时加以确定。b p e l 流程本身也以由w s d l 所描述 的接口声明为w e b 服务。在这里,b p e l 实际上作为w e b 服务的一种实现向外 界提供服务调用。 b p e l 的前身是x l a n g 和w s f l 。x l a n g 是一种由专门的控制构件构成 的结构化的流程建模语言,而w s f l 是一种基于加入( j o i n ) 和转换( t r a n s i t i o n ) 条件的、图形化的建模语言。w s f l 可以根据流程模式进行图形化的建模,具有 很强的直观性,易于图形化建模工具的支持。这两种建模语言都有很大的用户 群,因此b p e l 的目的是要融和两者的优点,争取最多的用户群,提供一个易于 直观的图形化建模,同时又可以不加修改的部署到运行环境上的业务流程语言。 因此它的建模视图和执行视图应该是一致的,基于同样的概念集,不需任何转 换【1 6 1 。 b p e l 是以流程规则的定义为中心的,并不是一般意义上的数据操作语言, 因此b p e l 的数据操作支持应以保证流程建模的需要为基础,提供相对简单的数 据操作,而复杂的数据存取和数据操作功能则应交给b p e l 过程所调用的服务来 完成,而将结果返回给b p e l 流程。 第3 章b p e l 概述 b p e l 定义了流程的模板。在b p e l 流程的执行环境中,同一个流程模板可 以生成多个b p e l 流程实例。同时b p e l 的服务调用是松耦合的,它所调用的服 务不会保留b p e l 的实例信息。在b p e l 流程与一个服务进行异步交互时,如何 将属于同一交互的消息路由到正确的流程实例,是b p e l 必须面对的问题。因此 b p e l 提供了消息与流程实例的关联机制以解决该问题。为了保持w e b 服务的 实现无关性,这种关联机制必须依赖于业务数据,也就是消息中所携带的业务 数据,而不是实现相关的数据,如流程实例的标示符。为此b p e l 规范定义了关 联集合( c o r r e l a t i o ns e t ) 的概念用于消息和流程实例的关联。用户将一组业务属 性定义为关联集合,关联集合必须唯确定一个b p e l 流程实例。b p e l 运行环 境将消息路由到与该关联集相匹配的流程实例。而且,对于流程中不同的接口, 用户可以定义不同的关联集合,以适应不同的业务需求。 由于b p e l 本身可以作为w ,e b 服务的实现向外界提供服务调用。w e b 服务 是一种无状态的服务描述,而b p e l 作为多个服务的协调服务可以看做一种有状 态的服务。对外的无状态性以及自身的有状态性,决定了对b p e l 实例的生命周 期管理必须是隐含性的。生命周期的隐含性意味着流程实例的创建和销毁是由 b p e l 运行环境根据到来的消息自动进行的,不需人工干预。因此b p e l 服务的 调用者也就不能通过w e b 服务调用直接对b p e l 的实例进行管理,如实例的创 建,运行实例的挂起与继续,实例的销毁等。这些高级的b p e l 生命周期的管理 功能将留待今后的版本予以增强1 1 7 1 。 3 3b p e l 关键元素分析 图3 1 是b p e l 流程的构成示意图,它说明了一个b p e l 流程包含哪些主要 元素【2 0 j 。 伙伴链接中给出b p e l 流程对服务的调用方式,在b p e l 流程中引用w s d l 定义文件中的伙伴链接类型定义。同时b p e l 流程本身对外提供的服务接口也由 伙伴链接进行描述。 变量在b p e l 流程中用于表示流程的中间状态,也用于暂时保存调用服务时 的输入参数以及服务调用后的返回结果。b p e l 中的变量既可以由w s d l 中的 消息定义,也可以是x m ls c h e m a 所定义的元素或复杂类型。 关联集合在b p e l 流程中表示一组属性的集合,用来确定消息将路由到哪个 1 2 第3 章b p e l 概述 流程实例。在w s d l 定义中,通过将多个属性别名定义引用到同一属性上而获 得不同消息部分的关联。 活动是b p e l 业务流程中构成业务流程逻辑框架的基本单位,b p e l 规范将 活动分为基本活动和结构化活动。基本活动是不可再分的执行单元,它包括执 行变量分配,服务调用等基本任务。而结构化活动是基本活动和结构化活动的 容器,它对其内部的活动按照一定的规则和顺序执行,如串行执行活动、并行 活动等。 在业务流程的执行过程中可能发生错误或异常情况,b p e l 规范定义了错误 处理机制和补偿处理机制。错误和补偿处理应与正常的流程逻辑分开,在整个 流程处理发生错误时,可以对发生的错误进行相应处理,对于已经执行并生效 的操作,将通过补偿操作的方式撤销定制。 图3 1b p e l 流程构成示意图 图3 2 说明了b p e l 是如何进行服务调用并形成业务流程的。 此图表明,b p e l 的活动通过伙伴链接向外界提供服务和调用外部服务。 1 3 第3 章b p e l 概述 b p e l 活动还可能引用已经定义的变量作为输入输出参数以及引用关联集合进 行消息与流程实例的关联。在必要时,错误处理器可以定义在流程以及活动级 别上处理错误发生的情况【2 1 1 。 服务 l b p e l 流程 。变量 竺竺兰占佩翰暑喜鬟巍 服务调用 坚型嘤坐 蝙撬 图3 2b p e l 流程服务调用示意图 伙伴链接 竺竺i 竺堡壁堡网 3 4b p e l 引擎 b p e l 引擎是运行b p e l 流程的环境,负责b p e l 定义的解析和执行。b p e l 文件是一个x m l 文档,流程设计人员在了解业务流程需求的基础上,使用提供 图形化用户界面的b p e l 设计工具进行b p e l 流程设计,用户设计好流程图后, b p e l 设计工具可以自动生成符合b p e l 标准的b p e l 定义文件,并由b p e l 引 擎执行。b p e l 管理工具可以对b p e l 引擎中的流程实例的运行情况进行监控和 管理。 1 b e a 的w e b l o g i ei n t e g r a t i o n 和a q u a l o g i c 2 a j b e aw e b l o g i ei n t e g r a t i o n 的目标是提供稳健的功能架构,帮助企业实现业 务流程自动化,访问各种企业资源,并迅速调整信息系统以适应不断变化的业 务需求。其功能结构可以分为三层:动态集成服务层,企业资源访问层以及业 务流程管理层。动态集成服务层为系统与现有系统的集成提供了支持;企业资 源访问层则提供了业务用户、企业应用以及业务伙伴的快速集成;业务流程管 理层则提供了快速进行流程建模、流程自动执行以及业务流程分析的环境。尽 管b e a w e b l o g i ci n t e g r a t i o n 可以被用来在业务过程中集成现有的w e b 服务,以 1 4 第3 章b p e l 概述 及将实现的业务过程作为w e b 服务导出,但是它在产品定位上主要还是作为企 业内业务集成的产品套件。 2 微软的b i z t a l ks e r v e r t 2 4 】 微软的b i z t a l ks e r v e r2 0 0 6 提供两大核心功能:消息通信能力以及业务流程 的编排和驱动能力。b i z t a l ks e r v e r 2 0 0 6 通过消息适配器来支持通过各种不同的 协议来接收和发送消息。收到消息后,b i z t a l ks e r v e r 将用“编排”来处理消息,“编 排”是业务流程逻辑的载体,并可以预定消息,收到相应的消息,业务流程便被 激发。流程开发人员可以利用o r c h e s t r a t i o nd e s i g n e r 以图形化的方式开发业务流 程。 3 i b m 的w e h s p h e r ep r o c e s s s e r v e r l 2 s l m m 的w e h s p h e r ep r o c e s ss e r v e r 简称w p s ,是完全基于s o a 的业务流程 服务器。它基于i b m 的应用服务器所提供的强大功能,如j 2 e e 架构、资源管 理、高可用性、公共事件管理,安全管理,事务管理等特性,提供组件化的业 务流程运行环境。w p s 可用于企业内以及企业间的业务流程集成,对应用集成 以及人工流程都能很好地支持。 4 a p a c h eo d e 捌 a p a c h eo d e ( o r c h e s t r a t i o nd i r e c t o r e n g i n e ) 即编制指导引擎,是基于j a v a 的 开源b p e l 引擎,它于2 0 0 7 年7 月1 8 日从a p a c h e 的孵化器中诞生成为一 个项级项目。它的主要功能就是执行使用b p e l 描述的业务流程,实现业务流 程自动化,它支持长期运行和短期运行的过程。与上述几种b p e l 引擎相比o d e 有自己的优势: ( 1 ) 开源,文档相对较为齐全 ( 2 ) 与e c l i p s e - b p e l 设计器、t e m p o ( b 4 p 的一个实现) 结合相对比较紧 密,集成难度相对较小从e c l i p s e b p e l 的s v n 上来看,它的下一版本将会与 o d e 集成,设计完的流程可以直接部署到o d e 引擎中,还有就是i b m 的 d e v e l o p e r w o r k s 网站上对于b p e l 流程设计的教程也是通过o d e + e c l i p s e b p e i 的方式来进行描述的。还有就是o d e ,以及t e m p o 最初都是源于同一个公司 i n t a l i o ,而且该公司也已经发布了一个o d e + t e m p o + b p m n - m o d e l e r 的产品。 ( 3 ) 与j b i 的集成较为简单,因为o d e 的实现就考虑到了j b i 集成问题。 1 5 第3 章b p e l 概述 3 5b p e l 和w e b 服务 b p e l 规范位于w e b 服务标准之上,它是基于w s d l 接口的,可以对w e b 服务进行调用。图3 3 是b p e l 规范与w e b 服务标准的关系图。 啪l ! ! 囹 u d d i u d d i w s d l s o a p h t t p j m s 服务发现 、 、 服务发布 服务描述 基于x m l 的消息交换 网络协议 , w 曲s e r v i c e 图3 3b p e l 与w e b 服务关系图 w s d l 是b p e l 服务调用的接口定义标准,b p e l 使用w s d l 定义了服务 端口类型、b p e l 流程的伙伴链接类型、b p e l 流程的属性等信息: 1 定义服务的端1 3 类型( p o r tt y p e ) ,服务的端口类型描述了服务将要调用 的接口和对外提供的接口以及它们所包含的操作和操作所用到的参数定义。 2 定义b p e l 流程的伙伴链接类型( p a r t n e rl i n kt y p e ) ,伙伴链接类型用以 描述b

温馨提示

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

评论

0/150

提交评论