(管理科学与工程专业论文)基于soa的业务流程管理系统研究与实践.pdf_第1页
(管理科学与工程专业论文)基于soa的业务流程管理系统研究与实践.pdf_第2页
(管理科学与工程专业论文)基于soa的业务流程管理系统研究与实践.pdf_第3页
(管理科学与工程专业论文)基于soa的业务流程管理系统研究与实践.pdf_第4页
(管理科学与工程专业论文)基于soa的业务流程管理系统研究与实践.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(管理科学与工程专业论文)基于soa的业务流程管理系统研究与实践.pdf.pdf 免费下载

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

文档简介

第- i - 页共6 6 页基于s o a 的业务流科管理系统研究与实践 文章摘要 当前,企业面临不确定的内、外部环境全球化经营环境巨变使得一些原来沿用多年的 流程基本逻辑本身已经过时,信息技术单凭对原有流程的自动化和模仿型优化已经难咀满足 环境变革因素造成的对新型柔性、动态、多参与方业务流程管理的实际需求,企业需要更加 柔性的业务流程应对这些变化,保持竞争优势。但是,目前的业务流程管理方式无法有效地 应对这些挑战,为此,本文提出了基于面向服务架构的业务流程管理系统( b u s i n e s sp r o c e s s m a n a g e m e n ts y s t e mb a s e do ns e r v i c eo r i e t e da r c h i t e c t u r e ,简称b p m s b s o a 懈决企业目前面 临的流程管理困境,该系统使用m 演算的方法对业务流程的行为进行建模,并在此基础上 对系统行为的正确性进行检查,同时在完善系统的数理基础上,采用基于面向服务的分析和 设计( s o a d ) 的方法代替传统的面向对象的分析和设计方法对业务流程系统进行设计。 文章从以下分四个方面阐述了业务流程的历史、b p m s b s o a 的理论基础和实现技术等: i 业务流程的历史业务流程管理技术的发展; 2 b p m s b s o a 的理论基础s o a d 原理和方法、演算; 3 b p m s b s o a 的实现技术w e bs e r v i c e s 相关技术: 4 b p m s b s o a 的实践。 屠后,文章在总结全文的基础上,指出了该系统e l 前存在的缺陷,提出了进步研究的 方向。 关键词:业务流程管理系统;兀演算;w e b s e r v i c e s ;面向服务的构架;面向服务的分析 和设计 第一2 - 页共6 6 页 基于s o a 的业务流程管理系统研究与实践 a b s t r a c t t o d a y , t h eo r g a n i z a t i o nf a c e su pw i t he n v i r o n m e n tc h a n g i n gt h a ti n t e r n a t i o n a ls i t u a t i o n h a v em a d eb a s i cl o g i co ft h eb u s i n e s sw o r k f l o wo l d h o w e v e r , i tc a n ts a t i s f yn e e do ft h en e w f l e x i b l e ,d y n a m i c ,m u l t i p a r tb u s i n e s sp r o c e s s ,s ow en e e dm o r ef l e x i b l eb u s i n e s sp r o c e s s t h e b u s i n e s sp r o c e s sm a n a g e m e n ts t y l ei sn o ta b l et os o l v et h ec h a l l e n g e ib r i n gu pt h eb u s i n e s s p r o c e s sm a n a g e m e n ts y s t e mb a s e do ns o a ( b p m s b s o a ) t os o l v et h ep r o b l e m s ,w h i c hu s ey i - c a l c u l u st om o d e la n dc h e c kt h ea c t i o n so fs y s t e m sa n da p p l ys o a dt od e s i g nt h es y s t e mi n s t e a d o fo b je c to r i e n t e da n a l y s i sa n dd e s i g n t h eb u s i n e s sp r o c e s sh i s t o r y , t h e o r e t i cf o u n d a t i o na n dr e l a t e dt e c h n o l o g yw i t hf o u rp a r t s : 1 h i s t o r y o fb u s i n e s sp r o c e s s 一一t h e d e v e l o p m e n to fb u s i n e s sp r o c e s sm a n a g e m e n t t e c h n o l o g y 2 t h e o r e t i c a lf o u n d a t i o no ft h eb p m s b s o a s o a d ,1 7 c a l c u l u s 3 t e c h n o l o g yo f t h eb p m s b s o a 一w e bs e r v i c e s 4 t h ei m p l e m e n t a t i o no fb p m s b s o a f i n a l l y , a f t e rg i v i n gs o m ec o n c l u d e o ft h i sp a p e r , g i v et h ef a u l to fb p m s b s o aa n dt h e d i r e c t i o no ff u r t h e rr e s e a r c h k e yw o r d s :b p m s ;1 7 一c a l c u l u s ;w e bs e r v i c e s ;s o a ;s o a d 第4 页共6 6 页基于s o a 的业务流程管理系统研究与实践 引言 随着企业竞争的加剧和内外部环境的变化,传统的流程管理方式将不能适应当今按需 而变的企业应用需求。现在的业务流程管理系统实际上建立在“混疑土”的一次性柔性系统, 它无法灵活地进行应需装配。由于组织边界的模糊,企业应用和流程将跨部门,甚至扩展到 企业间,如何将不同的应用逻辑进行组织,并且能够动态的演化适应应用的需求将是目前企 业急需解决的问题。 目前,企业内部已经构建了大量的信息系统和应用组件,这些组件包括c o r b a 、e j b 、 c o m c o m + 等,并且彼此问通信的信息格式也不尽相同。这些应用组件和信息系统是企业 的重要的资源,因此不可能推倒重来。如何将这些组件无缝地融入到一个全新的体系中,是 第一个必须解决的问题。 现代组织的流程往往涉及到多个组织间的交互,比如一个订购系统可能涉及到订货方、 供货方和银行等,它们会涉及到底层的软件组件,企业应用构架和业务流程,如何提供一个 完整的解决方案对构建大型的流程管理系统进行分析和设计,是第二个必须解决的问题。 当流程管理系统构建完成后,如何使其具有动态演化的能力适应需求的改变,并确保 这种演变后系统行为的正确性,则是第三个必须解决的问题。 本文围绕这三个问题展开论述的。第一个问题,采用w e bs e r v i c e s 的框架,对现有组件 进行包装,或者采用组件适配器【7 】,使不同的组件外部的行为和w e bs e r v i c e 组件并没有异 同;第二个问题,涉及到信息系统的基本分析和设计方法,由于原形法和面向对象的分析设 计方法都只集中在系统的底层组件上,而企业应用构架只涉及到企业的全局基础架构,b p m 构建在企业应用架构的基础上,是面向流程层的,它们并没有一个完整的方案满足业务流程 系统的分析和设计,因此本文综合面向对象的分析设计方法、企业应用构架和b p m 的方法, 提出面向服务的分析和设计方法( s o a d ) 对业务流程系统进行分析和设计:第三个问题, 则是目前业务流程技术急需解决的一个问题,如何对业务流程进行形式化描述并且这种描述 是可以验证的,文章提出兀演算的相关方法对业务流程进行形式化描述,并且采用相关的 工具对这种描述进行了验证。 文章分五个部分全面地阐述了上述问题,第一章主要介绍了业务流程管理技术的发展, 指出市场需求因素是新一代流程管理技术产生的根本拉动因素,这也是本文的现实背景。第 二章讲述了基于s o a 的业务流程管理系统的基本原理:面向服务的分析和设计方法和7 【演 第5 页共6 6 页基于s o a 的业务流程管理系统研究与实践 算的理论,面向服务的分析和设计方法为解决上述的第二个问题提供了可实现的操作方法, 兀演算的理论为解决上述的第三个问题提供了数理理论支持。第三章详细介绍了基于s o a 的业务流程管理系统的实现技术w 曲s e r v i c e s 的相关技术,同时介绍了如何用7 c 演算描 述和验证w e bs e r v i c e 的组合,至此,兀演算的数理理论和w e bs e r v i c e 的相关技术在业务流 程管理系统中找到了结合点;第四章介绍如何在b i z t a l k 的框架下,使用v s2 0 0 3 n e t 作为 开发工具实现基于s o a 的业务流程系统;第五章作为文章的总结,重点指出了系统存在的 不足和应继续努力的方向。 在解决以上三个问题的基础上,本文提出基于面向服务架构的业务流程管理系统 ( b p m s b s o a ) 解决企业目前面临的流程管理困境,它的创新之处在于: 1 运用s o a d 的分析和设计方法,为业务流程系统的设计和分析提供了从流程管理系 统的底层软件组件,到企业构架,最后到高层的业务流程的整套建模和设计方案。 2 运用n 演算的理论,对业务流程进行形式化描述和验证。在设计阶段使用n 演算有 助于清楚地描述系统的交互行为;而在系统建模建立后,则可以利用兀演算来推演系统 的行为,同时验证模型的正确性,如发现系统行为不完整、死锁、缺少同步等。 第6 页共6 6 页基于s o a 的业务流程管理系统研究与实践 第一章业务流程管理技术的发展 业务流程管理本身并非新概念,从广义的业务流程概念来说,自从有了社会组织形式就 有了管理,也就有相应的业务流程及其相应的管理。业务流程是对组织内外各种管理逻辑的 抽象和视图的刻画。正式成为管理理论的流程管理思想则起始于以追求作业效率为首要目标 的泰勒和福特时代,这一时代采用手工化的流程管理及局部优化为主要实现手段。流程管理 理论随着信息时代的到来而日渐丰富,信息技术逐渐成为流程管理的重要支持手段。在信息 时代初期,信息技术先是作为流程自动化的使能器( e n a b l e r ) ,将原来部分依靠手工实施的 流程管理转化为自动化流程管理。随着信息技术进一步发展和企业运营环境变迁,流程管理 与优化目标逐渐向追求流程价值效果转变,出现了以客户为导向、以企业价值增值分析为主 要手段的业务流程改善与重组技术,但这一阶段的流程管理技术仍然停留于流程固化集成思 想框架下,而非柔性集成,流程的动态优化能力不足。当市场需求出现高频率波动甚至市场 方向发生根本转变时,流程固化集成技术的弊端逐渐显露。进入2 l 世纪,由于信息技术能 力初步显示成熟期特征,并逐渐成为可迅速供给、日趋廉价的普通商品,同时企业间跨组织 流程交互活动更加频繁复杂,企业意识到单凭信息技术对流程进行自动化改造和固化集成都 难以应对市场波动和来自更广范围的竞争,企业问协作伙伴关系的顺畅化管理难度陡增,这 些问题均直接影响到企业的可持续竞争优势。因此目前的流程管理及技术方法均期待着新的 突破,企业管理者和理论研究界正努力探索适合多方参与者、跨业务平台、高动态协作环境, 且可直接支持战略的高效可敏捷扩展型流程管理技术,新型的流程管理技术还被要求对既往 流程投资进行新环境下的价值挖掘。业务流程管理在目前的环境下具有了全新的特征。2 0 0 3 年n i c h o l a sg c a r r 在哈佛商业评论上撰文指出现在的时代是“i td o e s n tm a t t e r 。那么究竟 什么才是企业新型竞争力的来源? 第三代流程管理的倡导者h o w a r ds m i t h 和p e t e rf i n g a r 认为“i td o e s n tm a t t e r , b u s i n e s sp r o c e s s e sd o ”企业竞争优势的根本载体是卓越的流程管理 能力。回顾上世纪9 0 年代的流程管理,当时以i t 支持下的变革管理为主线,在取得以b p r 和b p i 理论为代表的理论突破之后,却又迅速遭遇阻碍,高达7 0 的b p r 项目失败率促使 研究者们对流程管理与变革理论本身进行反思,预示着流程变革管理理论及其支持技术自身 同样需要重大的变革( r e e n g i n e e r i n gt h er e e n g i n e e r i n g ) 和理论创新 1 3 】。 1 1 科学管理 早在上世纪初,以泰勒为代表的科学管理学派就开始了对企业流程的理论探索,当时的 研究主要局限于底层作业效率的提高,提倡以科学明确的管理规程替代过去的经验管理,同 时代的福特在泰勒单工序过程活动研究的基础上,充分考虑单一化大批量生产的特点,对汽 车制造流程进行并行化协调优化,首先创建了第一条大规模生产流程( 流水线作业模式) 。 第7 页共6 6 页基于s o a 的业务流程管理系统研究与实践 泰勒和福特时代的流程管理技术旨在解决企业内较低层次的车间操作控制流程问题,主要方 法包括:减少产品类型,以较少数量的流程实施大规模生产;通过零件标准化提高互换性, 降低流程管理的复杂度;通过流程的专业化分工,固化流程内专业知识,如车间职能专业化、 机器工具专业化、工人作业专业化;采用简单反复的作业与工序,组合成较大规模的企业内 机械结构类型自动化流程。泰勒与福特时代的流程管理标志着现代高效率工业的开始,这一 时代的探索为今天的流程管理技术积累了不少有效的基本思想与方法,如隐性经验知识向显 性流程知识转化、流程细分、并行协调、反馈控制等思想至今仍然有效,并被后续的研究者 逐步理论化。由于技术背景的局限性,尤其是缺乏信息技术的支持,当时的流程管理能力非 常有限,期待着突破性技术的出现,计算与通信技术的发展是泰勒与福特时代流程管理迈向 信息时代流程管理的主要推动因素,带来了流程管理能力的一次跨越。 1 2 流程的自动化 上世纪中叶计算机的发明,标志着信息时代开始,计算、存贮、通信和微控制等技术迅 速发展,信息技术很快被引入流程管理领域,这个时期的流程管理强调利用信息技术对传统 流程的自动化改造,从底层的车间操作流程自动化逐渐延伸到中层的部门级运营流程集成、 参谋部门辅助流程集成,再到高层决策与协调流程集成。2 0 世纪6 0 年代信息时代初期的业 务流程管理并未改变当时广泛流行的阶层制组织结构,流程管理边界主要局限于阶层型组织 的各级单元内,以单元自动化为特征,信息技术的主要作用是将单元流程内原来依靠手工完 成的计算、信息传输、工序编排等作业任务逐步自动化,以高效的数据处理与分析能力获得 某个局部领域暂时相对的效率优势。例如当时著名的s a b r e 系统用数据实时更新技术突破性 地实施了对美国航空公司订票流程的自动化改造。 1 3 工作流的应用 2 0 世纪7 0 年代,流程管理开始出现跨部门信息共享特征,如i b m 采用多部门共享的 公共制造信息系统,辅助其计算机制造的组配流程,大大缩短了制造周期;而美国a h s ( a m e r i c a nh o s p i t a ls u p p l i e r ) 的( a n a l y t i cs y s t e m sa u t o m a t e dp u r c h a s i n g ) 系统则利用了当 时相对强大的远程通信能力在采购管理领域首先实施电子化和自动化改造,a s a p 可支持分 布式采购流程管理取得了长达将近l o 年的竞争优势。随后由于信息技术在这些局部流程管 理应用中取得卓越绩效的示范作用,信息技术被很快引入更广范围的流程管理,数据处理系 统被提升为管理信息系统,并试图对各种业务流程进行信息化改造。这一时代出现的主要的 信息化流程管理技术,如m r p 、m r p 2 等被应用于车间调度、库存管理、预测项目管理、 质量管理、服务中心批处理等局部流程领域。到了8 0 年代,信息技术逐渐向全企业战略级 第8 页共6 6 页基于s o a 的业务流程管理系统研究与实践 流程支持能力发展, 出现了以信息技术支持下的j i t 、t q c 、f m s 、c a d c a m 等计算机集 成制造系统( c i m s ) 为主导的流程管理支持技术;跨组织流程的信息则出现了e d l 支持技 术, 以电子化商业语言的标准化沟通方式协调企业间业务流程协作。 1 4b p r 和b p i 2 0 世纪8 0 年代末9 0 年代初,h a m m e r 等提出了业务流程重组( b p r ) 思想,这一理论 的出现一方面标志着流程管理理论的飞跃和创新,另一方面也暗示着当时的流程管理领域进 入了瓶颈阶段,紧迫需要变革。起因是全球化经营环境巨变使得一些原来沿用多年的流程基 本逻辑本身已经过时,信息技术单凭对原有流程的自动化和模仿型优化已经难以满足环境变 革因素造成的对新型柔性动态多参与方业务流程管理的实际需求。业务流程重组要求重新审 视过去曾经代表着高绩效、被沿用多年的流程逻辑,通过分拆原有流程组件的逻辑交织关系 进行创造性重新组合,以价值增值为目标,删除不利于整体价值增值的环节,增添新型流程 联结机制和新的流程组件业务逻辑,寻找解决流程失效的新方法。b p r 理论一般只被认为 是一种思想,或者说是用于指导流程管理变革的一般性原则,而并无具体的实施体系。b p r 理论出现的目的是希望能解决流程管理实践需求与理论缺乏之间的冲突,旨在对企业现有流 程运作的合理性进行根本性的再思考和彻底的再设计,以组织和信息技术为使能器,以求企 业整体运营绩效指标得到巨大的突破性的改善和提高。然而在实际b p r 项目实施中,高达 7 0 的失败率,促使更多的研究者对b p r 这种反思理论本身进行反思。大多数b p r 项目失 败的原因一般被归结为在实施中难以处理与“人”有关的因素,同时该理论本身作为一种剧 烈型变革的指导思想与原则却同样缺少严谨的理论支撑体系,尤其是它忽视了对既往投资的 保护和再利用。这些既往投资被称为遗留系统( l e g a c ys y s t e m s ) ,这些系统包括了以人为中 心活动因子的财务、基础设施、运营知识等重要的企业竞争力基础资源。与b p r 理论同时 出现的还有业务流程改善( b p i ) 、全面质量管理( t q m ) 、s i xs i g m a 等,这些理论可以被 看成是防止b p r 高风险的补充形式或风险弱化形式,以缓和渐进的方式从局部领域开始, 逐级对流程绩效进行优化。 2 0 世纪9 0 年代,流程管理实施技术以e r p 为代表,早期的e r p 属于局部流程固化的 企业内部集成技术,在模块选择与参数设置方面已经具有微动态柔性特征,e r p 的实施一 般需要在b p r 的辅助下推进。b p r 理论的发展是信息时代初期结束的标志。虽然b p r 理论 被许多企业所抵触,然而b p r 理论的失效现象却意味着新一代流程管理技术的诞生。 1 5 业务流程管理( b p m ) 2 0 世纪9 0 年代e r p 系统进入鼎盛时期,而互联网技术也同时迅速在全球普及,企业 第9 页共6 6 页基于s o a 的业务流程管理系统研究与实践 以e r p 系统作为内部集成的主要工具,全球大多数先进企业进行了适合信息时代加速期运 营环境特性的流程调整或重构,互联网强大的全球通讯能力使得复杂型跨组织流程成为可 能。到了9 0 年代末期互联网成为全球通讯技术的基本标准,称为“全i p 化”( e v e r y t h i n go v e r i p , i po v e re v e r y t h i n g ) ,基础设施的一体化互联促进了业务流程在全价值链范围 ( e n d t o e n d ) 柔性动态集成管理设想的实施。企业间的流程联结系统在通讯底层尽管实现 了无缝流畅互联,但由于在过去3 0 年,企业各自为了形成竞争优势而建成的各种应用系统 之间存在巨大差异; 形成了中间层各种多样的异类应用系统( h e t e r o g e n e o u ss y s t e m s ) ,它 们之间存在不同的技术与业务语义本体差异,其互操作连接成为高层流程集成管理的主要障 碍,甚至在单个企业内部由于系统实施的时代和技术选择差异也同样存在异类系统的集成难 题。针对这一问题,先后出现了m i d d l e w a r e ,e a i ,w o r k f l o w 等系统或流程集成技术。在电 子商务环境下企业或部门间的协作型流程集成则以基于服务的s o a ( s e r v i c eo r i e n t e d a r c h i t e c t u r e ) 结构为基础,出现了w r e bs e r v i c e s 、b i z t a l k 等技术与语义标准。在具体的行业 或业务类型领域还出现了企业间流程的接口标准或参考体系,如电子器件行业开始的 r o s s e t t n e tp i p 标准、供应链管理领域参考模型s c o r 等。这些新兴技术、标准和参考体系 部分解决了特定的异类系统和流程间的集成问题,但仍未从根本上消解异类动态型流程的集 成问题,缺乏普适性和动态柔性。在企业内部流程集成方面,尽管声称e r p 、e a i 等技术具 有柔性,相对于过去非组件化的信息系统是一种飞跃,即在实施之前可以根据具体的需求特 征柔性地选择实施模块、灵活设置模块和系统的技术与运营参数,但这种柔性在系统实施之 后则基本消失,被p e t e rf i n g a r 等称为“湿混凝土型一次性柔性”,因此不具备灵活动态重塑 能力。针对这一问题,有学者曾试图以循环反复的b p r 加以解决,但实际上每一周期的b p r 均需要花帮漫长的时间和巨大的投资,尤其是对既往投资的破坏作用巨大,企业难以承受如 此伤筋动骨的不断的巨变型改造,因此b p r 快速反复实施的现实可能性很小,企业只能在 基本框架流程不做重大调整的前提下进行b p r 之后的b p i ,仅在局部对流程进行微调,或 者对流程的部分参数进行重设置。这些调整尽管起到了局部绩效改善的效果,却难以从根本 上在全价值链范围取得敏捷适应动态变化的柔性能力,难以既保护过去的流程投资又能及时 响应客户需求的最新变化。针对这些涉及组织内外动态协作环境变化因素的流程管理新问 题,国际上众多流程管理研究者和机构分别进行了广泛深入的探索,新一代流程管理体系被 p e t e rf i n g a r 等研究者称为“流程管理的第三波”,相关研究正在全面推进。按照g a r t n e r 等 组织预测,新一代较为成熟的b p m 技术将在5 l o 年内出现,h o w a r ds m i t h 认为现在b p m 的发展将决定今后5 0 年i t 在企业管理中的应用趋势。 1 6 业务流程管理技术的发展 在全球化经营和互联网逐渐普及的今天,企业运营所处的社会和技术环境发生巨大变 第1 0 页共6 6 页基于s o a 的业务流程管理系统研究与实践 革。市场需求因素是新一代流程管理技术产生的根本拉动因素,如全球化、大规模客户化背 景下,客户需求多种多样、波动因素复杂,企业难以预测市场变化、难以实施平缓管理、跨 组织协作关系频繁、参与者关系多变、需要对全价值链进行动态管理,依靠旧有技术难以有 效协调。信息技术的发展是新一代流程管理技术产生的推动因素,如更高的计算与存储能力、 更强的网络沟通能力,以及新型信息资源管理技术、平台技术、流程智能技术、流程元模型 技术、系统集成与多方动态协调等技术的出现,使得市场因素带来的新型流程管理难题得到 可能的解决方案。 本文试图从面向服务的构架( s o a ) 的出发,以n 演算为数理基础,构建一类新型的 b p m s 。s o a 的相关技术和分析、设计方法,为b p m s 提供了从高层业务流程分析,到底 层软件组件的全面解决方案。兀演算为流程的组合、形式检查提供了基础,实现“e v e r y t h i n g i sap r o c e s s ”,利用n 演算把企业运营中的一切元素抽象为“具有移动特征的流程 ,上到高 层的跨产业全局价值链,下到底层最基本的堆栈处理,甚至可以把企业内具有主动移动交互 特征的“人”同样看成“流程”,而企业的运营就是各类丌演算的交互( 移动行为) 企业间 的跨组织协作流程被表示为流程之间的交互行为,流程的参与者就是流程。新型的b p m s 重点提高流程管理的柔性,促进部门、企业间流程的协作。 第1 1 页共6 6 页基于s o a 的业务流程管理系统研究与实践 第二章基于s o a 业务流程管理系统的基本理论及方法 面向服务构架( s o a ) 的相关技术和方法及兀演算理论的发展为新型的业务流程管理 系统的开发奠定了坚实的基础。面向服务的分析和设计( s o a d ) 为业务流程系统的设计和 分析提供了从流程管理系统的底层软件组件,到企业构架,最后到高层的业务流程的整套方 案。n 演算作为业务流程管理系统的数理基础,对业务流程进行形式化描述和验证。在设 计阶段使用n 演算有助于清楚地描述系统的交互行为;而在系统建模建立后,则可以利用 n 演算来推演系统的行为,同时验证模型的正确性,如发现系统行为不完整、死锁、缺少 同步等。每次修改模型时,都要进行这些检查,以保证系统是一致按照需求设计,并且正确 地实现。在兀演算部分,将主要介绍其概念、相关的操作和简单的类型系统。在面向服务 构架s o a 的相关技术和方法这部分中,将介绍面向服务构架的概念、面向服务分析设计 ( s o a d ) 的方法。 2 1 面向服务构架及其相关的分析、设计方法 由于业务流程管理系统涉及到底层的软件组件、企业构架和业务流程的规划。传统的面 向对象的分析和设计方法为软件组件的设计和开发提供坚实的理论基础;企业体系构架 ( e n t e r p r i s ea r c h i t e c t u r e ,e a ) 框架,为业务流程管理系统提供了企业基础解决方案的一致 性;b p m 的相关分析方法,给业务流程管理系统提供业务建模和分析指导。但是,在进行 业务流程系统的分析和设计、实现时,没有一套完整的方法能够贯穿整个设计和分析、实现 的生命周期。在综合面向对象的分析和设计方法、企业体系架构框架和b p m 的相关方法, 面向服务的分析和设计理论( s e r v i c eo r i e n t e da n a l a y s i sa n dd e s i g n ,简称s o a d ) 解决了这 一问题。本文利用s o a d 的方法为业务流程管理系统的分析和设计、实现提供全面的解决 方案。本节将介绍面向服务构架的概念、s o a d 的方法以及在运用s o a d 时应注意的事项。 2 1 1 面向服务构架的概念 面向服务的构架( 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 o a ) 是一个组件模型,它将应用程序 的不同功能单元( 称为服务) 通过这些服务之间定义良好的接口和契约联系起来。接口是采 用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使 得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互 1 6 】。因此,从概 第1 2 页共6 6 页基于s o a 的业务流程管理系统研究与实践 念上讲,s o a 中有三个主要的抽象级别: 操作:代表单个逻辑工作单元( l u w ) 的事务。执行操作通常会导致读、写或修改一 个或多个持久性数据。s o a 操作可以直接与面向对象( o o ) 的方法相比。它们都有特定的 结构化接口,并且返回结构化的响应。完全同方法一样,特定操作的执行可能涉及调用附加 的操作。 服务:代表操作的逻辑分组。例如,如果我们将c u s t o m c r p r o f i l i n g 视为服务,则按照电 话号码查找客户、按照名称和邮政编码列出顾客和保存新客户的数据就代表相关的操作。 业务流程:为实现特定业务目标而执行的一组长期运行的动作或活动。业务流程通常 包括多个业务调用。业务流程的例子有:接纳新员工、出售产品或服务和完成订单。在s o a 术语中,业务流程包括依据一组业务规则按照有序序列执行的一系列操作。操作的排序、选 择和执行称为服务或流程编排。典型的情况是调用已编排服务来响应业务事件。 这种具有中立的接口定义( 没有强制绑定到特定的实现上) 的特征称为服务之间的松 耦合。松耦合系统的好处有两点,一点是它的灵活性,另一点是,当组成整个应用程序的每 个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。而另一方面,紧耦合意味着 应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对部分或整个应 用程序进行某种形式的更改时,它们就显得非常脆弱。 对松耦合的系统的需要来源于业务应用程序需要根据业务的需要变得更加灵活,以适 应不断变化的环境;比如经常改变的政策、业务级别、业务重点、合作伙伴关系、行业地位 以及其他与业务有关的因素,这些因素甚至会影响业务的性质。我们称能够灵活地适应环境 变化的业务为按需( o nd e m a n d ) 业务,在按需业务中,一旦需要,就可以对完成或执行任 务的方式进行必要的更改。 虽然面向服务的体系结构不是一个新鲜事物,但它却是更传统的面向对象的模型的替 代模型,面向对象的模型是紧耦合的,已经存在二十多年了。虽然基于s o a 的系统并不排 除使用面向对象的设计来构建单个服务,但是其整体设计却是面向服务的。由于它考虑到了 系统内的对象,所以虽然s o a 是基于对象的,但是作为一个整体,它却不是面向对象的, 不同之处在于接口本身。s o a 系统原型的一个典型例子是通用对象请求代理体系结构 ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ,c o r b a ) ,它已经出现很长时间了,其定义 的概念与s o a 相似。 然而,现在的s o a 己经有所不同了,因为它依赖于一些更新的进展,这些进展是以可 扩展标记语言( e x t e n s i b l em a r k u pl a n g u a g e ,x m l ) 为基础的。通过使用基于x m l 的语 第1 3 页共6 6 页基于s o a 的业务流程管理系统研究与实践 言( 称为w e b 服务描述语言( w e bs e r v i c e sd e f i n i t i o nl a n g u a g e ,w s d l ) ) 来描述接口, 服务已经转到更动态且更灵活的接口系统中,非以前c o r b a 中的接口描述语言( i n t e r f a c e d e f i n i t i o nl a n g u a g e ,i d l ) 可比了。 w e b 服务并不是实现s o a 的惟一方式。前面刚讲的c o r b a 是另一种方式,这样就 有了面向消息的中间件( m e s s a g e o r i e n t e dm i d d l e w a r e ) 系统,比如i b m 的m q s e r i e s 。但 是为了建立体系结构模型,不但需要定义服务描述,而且需要定义整个应用程序如何在服务 之间执行其工作流。尤其需要找到业务的操作和业务中所使用的软件的操作之间的转换点。 因此,s o a 应该能够将业务的商业流程与它们的技术流程联系起来,并且映射这两者之间 的关系。例如,给供应商付款的操作是商业流程,而更新零件数据库,以包括进新供应的货 物却是技术流程。因而,s o a 还可以在工作流的设计中扮演重要的角色。第四章将用w e b 服务( w e bs e r v i c e s ) 的相关技术实现基于s o a 的业务流程管理系统。 此外,动态业务的工作流不仅可以包括部门之间的操作,甚至还可以包括与不为控制 的外部合作伙伴进行的操作。因此,为了提高效率,需要定义应该如何得知服务之间的关系 的策略,这种策略常常采用服务级协定和操作策略的形式。 最后,所有这些都必须处于_ 个信任和可靠的环境之中,以同预期的一样根据约定的 条款来执行流程。因此,安全、信任和可靠的消息传递应该在任何s o a 中都起着重要的作 用。 2 1 2b p m 、e a 和o o a d 早期的s o a 实现项目经验表明,诸如o o a d 、e a 和b p m 这样的现有开发流程和 表示法仅仅涵盖支持s o a 范式所需的部分要求。s o a 方法在加强已经制定的良好通用软 件体系结构原则( 如信息隐藏、模块化和问题分离) 的同时,还增添了附加的主题,例如, 服务编排、服务库和服务总线中间件模式,在建模时需要对它们给予特别的关注。 图l 展示了现有的b p m 、e a 和o o a d 建模方法的主要应用领域,也是随后讨论 s o a d 的出发点。图中的水平轴表示项目生命周期阶段;垂直轴表示不同抽象层或领域之 间的区别,而建模活动通常就是在其上进行的。 第1 4 页共6 6 页基于s o a 的业务流程管理系统研究与实践 项 目 生 命 阶 段 问题域 图1b p m 、e a 和o o a d 的位置 在由b o o c h 撰写的开创性的书【2 0 】中介绍的o o a d 方法在定义s o a 方面提供了非常 好的起点。同样地,虽然许多年来在体系结构层次中应用o o a d 技术和统一建模语言 ( u n i f i e dm o d e l i n gl a n g u a g e ,u m l ) 表示法是一个常见的实践,但是o o a d 还是与像类 和单独的对象实例这样的微观层次的抽象有关。由于每个问题域常常都创建单独的用况模 型,因此,应用程序开发项目,项目的大方向在许多情况下变得模糊。此外,由于种种原因, 用况模型并不总是与其对等的b p m 保持同步。 诸如t r e a s u r y 企业体系结构框架( t r e a s u r ye n t e r p r i s ea r c h i t e c t u r ef r a m e w o r k ,t e a f ) 、 面向特征的领域分析( f e a t u r e o r i e n t e dd o m a i na n a l y s i s ,f o d a ) 和z a c h m a n 这样的e a 方 法都将城市规划级的观点加在解决方案体系结构之上,但是并没有解决如何找到易于重用且 具有持久性的高质量企业抽象的问题 6 】。 虽然b p m 方法( 如b p m i ) 在功能工作单元之上提供了端到端视图,但是它们通常 都没有触及体系结构和实现领域。例如,在像用于w e b 服务的业务流程执行语言( b u s i n e s s p 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 s ,b p e l ) 这样的语言出现之前,b p m 表示法缺 少操作语义。此外,还出现了许多流程建模与开发活动彼此分离的情况。 最后,现有的规则中没有一个可以解决如何为s o a 启用现有的应用程序的问题;大部 分时间都采用自顶向下流程。现有的系统通常都存放有大量的重要数据和业务逻辑,并且不 能简单地加以替代。因此,为了研究包装和重构策略,必须对这些系统进行自底向上的分析。 第- 1 5 页共6 6 页基于s o a 的业务流程管理系统研究与实践 因此,对现有应用稃序的考虑必然会涉及到中间相遇的流程。 由于这些原因的存在,所以需要混合s o a d 建模方法。这种方法以最佳的方式组合了 o o a d 、b p m 和e a 中的原理,并且融入了一些具有创新性的原理。 2 1 3 面向服务分析设计( s o a d ) 在这一部分中描述s o a d 的需求,并且确定它的主题和原理。目的是将关于这个主题 的讨论引到进一步的i t 务流程管理系统设计工作。进一步的工作无疑需要形式化s o a d 方 法。图2 展示了s o a d 资源( 原理和技术) : 问题域 图2s o a d 原理图 1 ) s o a d 的需求 正如任何其他的项目和方法一样,必须正式( 至少半正式) 地定义流程和表示法。通 过选择和组合o o a d 、b p m 和e a 原理,就可以在需要时确定额外的原理。 s o a d 必须有结构化的方法来概念化服务:( 1 ) o o a d 为我们提供了应用程序层上的 类和对象,而b p m 具有事件驱动的流程模型。s o a d 需要将它们结合在一起。( 2 ) 方法 不再是面向用况的,而是由业务事件和流程驱动的。用况建模是在更低的层次上作为第二步 进行的。( 3 ) 方法包括语法、语义和策略。这就需要特别的组合、语义代理和运行时发现。 s o a d 必须提供定义良好的品质因素和最佳实践( 例如回答粒度问题) 。必须回答 b p e l 提出的角色问题。例如,谁为哪部分工作负责:是开发人员、架构师,还是分析人员? 第1 6 页共6 6 页基于s o a 的业务流程管理系统研究与实践 s o a d 活动还必须回答这样的问题:什么不是好的服务? 例如:不可重用的任何东西 都不可能成为好的一流s o a 成员( 即服务) 。 s o a d 必须易于进行端到端建模,并且有全面的工具支持。假如s o a 给业务带来了 灵活性和敏捷性,就应该对从企业到体系结构和应用程序设计领域产生的支持方法有相同的 期望。 2 ) s o a d 原理 除了组合o o a d 、b p m 和e a 技术之外,还有几个重要的s o a d 概念和方面有待 充实:服务分类和聚合、策略和方面、中间相遇流程、语义代理、服务获取和知识代理 服务分类和聚合 服务有不同的用法和用途;例如,软件服务可以不同于业务服务。此外,还可以将原 子服务编排成级别更高、功能齐全的服务。服务组合可以通过可执行模型( 如b p e l 建模 的模型) 来加以简化;这是传统的建模工具和方法不能处理的事情。 策略和方面 服务具有语法、语义和q o s 特征,所有这些都必须进行建模;正式的接口契约必须涵 盖的比w e b 服务描述语言( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e ,w s d l ) 的多。因此,w 曲 服务策略( w s p o l i c y ) 框架是一个重要的相关规范。 除了已经制定的良好体系结构可跟踪性原则之外,业务可跟踪性也是一个理想的品质: 应该有可能将所有的运行时构件直接与非技术领域专家可以理解的语言联系起来。这对于直 接在业务和服务层公开的抽象非常重要。s a r b a n e s o x l e y ( s o x ) 法案是需要这种业务可跟踪 性的业务驱动程序的一个例子。 流程:中间相遇 在真实世界中,并没有全新的项目,必须始终考虑遗留系统。因此,需要中间相遇的 方法,而不是单纯的自顶向下或自底向上的流程。 在设计取决于现有的i t 环境而不是现在和将来的业务需要的情况下,自底向上的方法 往往会导致不好的业务服务抽象。而自顶向下的方法可能会产生不足的非功能性需求特征, 并且损害其他的体系结构品质因素,另外,也会在服务和组件中产生不匹配的不良问题。 服务获取和知识代理 这是一个知识管理和生命周期问题:如何成功地准备好服务并且使其在概念化之后可 以重用? 应该将重用看作是标识和定义服务最主要的推动标准之一。如果组件( 或服务) 不 可能重用,就? 无法将其作为服务进行部署。它可以连接到另一个与企业体系结构相关的服 第1 7 页共6 6 页基于s o a 的业务流程管理系统研究与实践 务,但是不能单独作为一个服务而存在。 然而,即使从开始就计划好了重用,还必须形式化服务获取流程。由多个使用者使用 服务是明确的s o a 设计目标。构建时服务注册中心( 例如企业u d d i 目录) 可能能够解 决部分问题。 2 2 业务流程的数理基础n 演算 n 演算是r o b i nm i l n e r 在c c s 的基础上创建的研究并发系统的理论,于1 9 9 2 年发表 ac a l c u l u so f m o b i l ep r o c e s s e s ) ) 。h 演算发展了c c s 模型,它主要研究移动进程( m o b i l e p r o c e s s ) 1 ,它引入“移动性( m o b i l i t y ) ”来描述进程间的通信、网络间的互联及组件间 的交互等。兀演算是一个描述和分析并发系统的计算模型,适合于描述动态演化结构和进 程交互问题。兀演算的基本计算实体为名字( n a m e s ) 、活动( a c t i o n s ) 及进程( p r o c e s s e s ) , 进程之间的通信是通过传递名字来完成的。由于兀演算强大的类型系统构造能力,使得兀 演算不但可以传递c c s 中的变量和值,还可以传递通道名,并且将几种实体都统称为名字 而不再作区别,这使得兀演算具有建立新通道的能力,因此兀演算可以用来描述结构演化 的并发系统。 迄今为止,对兀演算的研究大致可以分为以下三个方面:( 1 ) 1 - i 演算本身的理论研究, 如兀演算的互模拟等价

温馨提示

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

评论

0/150

提交评论