(计算机软件与理论专业论文)基于web服务的工作流系统的研究与应用.pdf_第1页
(计算机软件与理论专业论文)基于web服务的工作流系统的研究与应用.pdf_第2页
(计算机软件与理论专业论文)基于web服务的工作流系统的研究与应用.pdf_第3页
(计算机软件与理论专业论文)基于web服务的工作流系统的研究与应用.pdf_第4页
(计算机软件与理论专业论文)基于web服务的工作流系统的研究与应用.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(计算机软件与理论专业论文)基于web服务的工作流系统的研究与应用.pdf.pdf 免费下载

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

文档简介

中文摘要 摘要 由于处理复杂事务的能力,工作流系统得到了日益广泛的应用。然而,在 i n t e m e t 和电子商务快速发展的今天,工作流系统还存在着很多不足。首先,工作 流系统不能很好的支持i n t e r a c t 交互,工作流程缺乏动态性和互操作性,难以适应 跨部门、跨组织的分布式应用;第二,大部分工作流系统都是面向特定领域和最 终用户,搀杂了业务规则和应用数据,工作流系统与应用系统“长”在一起,耦 合度较高,可扩展性差,无法重用。工作流系统的这些缺点使得它的应用处于一 个非常谨慎的状态。 本文针对这些不足展开研究,设计并实现了基于w e b 服务的工作流系统 w s f l o w 。 w s f l o w 设计了一个充分支持工作流特征和w e b 服务特征的小型内核,实 现了工作流和w e b 服务必不可少的功能和特征。w s f l o w 面向利用开发工具构造 应用系统的专业开发人员,而不是最终用户,这样就可应用于各种领域,克服了 传统工作流系统与应用系统“长”在一起,不易移植、不易扩展、不易维护的缺 点。作为中间件,本身灵活,易于维护,进行二次开发,可明显缩短开发周期。 w s f l o w 将w e b 服务引入到工作流系统中,w e b 服务是一种可以通过u r l 地址来访问的网络资源,w e b 服务有统一的标准和完好的可封装性与可集成性, 可以很好地解决底层通信环境不一致带来的互操作性差、集成性差问题。 w s f l o w 设计了基于w e b 服务的流程定义语言w f d l ,w f d l 是对x p d l 的改进,w f d l 简化了x p d l 的语言规范,添加了支持w e b 服务的语言特征。 最后,本文给出了w s f l o w 的应用实例,验证了系统的正确性和有效性。 关键词:工作流系统:w e b 服务;工作流引擎;流程定义语言 英文摘要 r e s e a r c ha n da p p l i c a t i o no fw o r k f l o ws y s t e mb a s e do nw e bs e r v i c e a b s t r a c t b e c a u s eo ft h ea b i l i t yo fh a n d l i n gd i f f i c u l t ya f f a i r sw o r k f l o ws y s t e m sa r eb e i n g a p p l i e dm o r ea n dm o r e h o w e v e r , t h e r ea l es t i l lm u c hs h o r t a g ei nw o r k f l o ws y s t e m n o w a d a y sw h e ni n t e r a c tt e c h n o l o g ya n de - e c o n o m i ca r ed e v e l o p i n gv e r yf a s t f i r s t , w o r k f l o ws y s t e mc a n n o tg i v es u p p o r tv e r yw e l lt oi n t e r n e tc o n m a u c a t i n n ,a n df l o wi s l a c ko fd y n a m i ca n dc o o p e r a t i o nc h a r a c t e r i s t i ca n dt h ei n t e g r a t i o ni su s u a l l yv e r yb a d s ot h ew o r l f f l o ws y s t e mi so f t e nd i f 矗c u l t yt oa c c l i m a t i z ei t s e l f 幻d i s t r i b u t i n g a p p l i c a t i o n b e t w e e nd i f f e r e n t o r g a n i z a t i o n sa n dd e p a r t m e n t s s e c o n d ,t h em o s t w o r k f l o ws y s t e mo r i e n tt h ec e r t a i nd o m a i na n de n db s e r s ,i ti sm i n g l e dw i t ht h ec e r t a i n e n t e r p r i s eo p e r a t i o nr e g u l a t i o na n da p p l i a n c ed a t a t h ew o r k f l o ws y s t e ma n dt h e a p p l i c a t i o ns y s t e mi so n l yo n e t h i si l a k e st h es y s t e mh i 出c o u p l i n ga n dl o wf l e x i b i l i t y a n de x p a n s i b i l i t ya n db a du s a b l i t y t h e s ef l a w sn l a k et h ea p p l i c a t i o no fw o r k f l o w s y s t e mv e r ym o d e s t t h i sp a p e rd e a l sw i t ht h e s ef l a w so fn o w a d a y sw o r l o q o ws y s t e ma n daw e b s e r v i e e - b a s e dw o r k f o ws y s t e mw s f l o wi sd e s i g n e da n di m p l e m e n t e d w s f l o wd e s i g n e sam i n i t y p ek e r n e lw h i c hf l a t l yc o n t a i nw o r k f l o wa n dw e b s e r v i c ec h a r a c t e ra n dp r o v i d e sa b s o l u t e l yn e c e s s a r i l yw o r k f l o wa n dw e bs e r v i c e f u n c t i o n a l i t y w s f l o wi sf o rt h ep r o f e s s i o n a ls o f t w a r ed e v e l o p e r sw h ou s ed e v e l o p t o o l st oa r c h i t e c ta p p l i c a t i o ns y s t e m ,n o tt h ee n du s e r s i nt h i sw a yi t c a nb ea p p l i e d e v e r yk i n do fd o m a i n s ot h ep r o b l e m so ft r a d i t i o nw o r k f l o ws y s t e ma n da p p l i e a t i o n s y s t e mi n t e g r a t et o g e t h e r , b a de x p a n s i b i l i t ya n df l e x i b i l i t ya n dm a i m a i n a b i l i t ya r e r e s o l v e d a sam i d n m r ei t sa g i l ea n de a s yt om a i n t a i n d e v e l o p m e n tt i m ei so b v i o u s l y s h o r t e n e dw h e nu s i n gw s f l o w w s f l o wp u tw e bs e r v i c et ow o r l d l o ws y s t e m w 曲s e r v i c ei sak i n do fn e t r e s o u l t c ew h i c hc a i lb ea c c e s s e dt h r o u g hu r la d d r e s s i ti sr e l a x e da n dc o u p l i n ga n d f l e x i b l e t h ep r o b l e m si nd i s a c c o r d i n gc o m m u n i c a t i o nc i r c u m s t a n c e s ,c o o p e r a t i o na n d i n t e g r a t i o na r es o l v e dv e r yw e l lf o rt h es t a n d a r d i z e dc h a r a c t e r i s t i c ,e n c a p s u l a t i o na n d i n t e g r a t i o no f w e bs e r v i c e 荚文摘要 w s f l o wa l s od e s i g n e saw e bs e r v i c e - b a s e dw o r k f l o wd e f i n i t i o nl a n g u a g en a m e d w f d l w f d li st h em e n d i n go fx p d l w f d lp r e d i g e s t sx p d la n da d d sc h a r a c t e r s c a a b l ew e bs c t v i c e a tl e n g t h , t h i sp a p e rg i v e sa p p l i c a t i o ni n s t a n c et ov a l i d a t ew s f l o w k e y w o r d s :w o r k f l o ws y s t e m ;w e bs e r v i c e ;w o r k f l o wc n g i n e :w o r k f l o wd e f i n i t i o n l a n g u a g e 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立迸行研究工作所取得的成果, 撰写成硕士学位论文 :基王里垫退釜丝王往速丕苤趁堑窥星廛厦:。除论文中 已经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均己在文中 以明确方式标明。本论文中不包含任何未加明确注明的其他个人或集体已经公开 发表或未公开发表的成果。 本声明的法律责任由本人承担。 论文作者签名:獬埘年月,罗日 学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连海事大学研究生学位论文提交、 版权使用管理办法”,同意大连海事大学保留并向国家有关部门或机构送交学位 论文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将 本学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或 扫描等复制手段保存和汇编学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于:保密口 不保密口( 请在以上:h - 框内打“4 ”) 一:却铮宏摊名坪硎 日期:砷年弓月侈e t 基于w e b 服务的工作流系统的研究与应用 第1 章绪论 1 1 引言 随着经济全球化的深入发展,市场竞争日益激烈。企业要想生存和发展,就 必须能够不断调整优化自己的业务流程。工作流系统【1 】正是暇应这一需求产生和发 展的,它通过合理的调用和分配有关的信息及资源来管理业务过程中的各个活动。 工作流技术作为现代企业实现过程管理与过程控制的二项关键技术,为企业 的经营过程提供了一个从模型分析、建立、管理、运行的完整框架。同时,工作 流系统通过一套集成化、可互操作的软件工具为这个框架提供了全过程的支持。 工作流的应用范围已经扩大到移动计算、系统管理、因特网应用、行业应用开发、 顽向对象技术的扩展、操作系统和事务管理等。工作流技术是实现企业业务过程 建模、企业过程仿真分析、业务过程优化、业务过程管理与集成,最终实现业务 过程的自动化的核心技术。 1 2 研究现状和存在的问题 1 2 1 研究现状 工作流技术是近年来研究的热点问题。工作流技术在近十年得到了迅速的发 展。由于各种新技术层出不穷,各个采用了新技术的工作流系统也不断推出,目 前,工作流领域存在如下几种不同方向的工作流系统。 1 基于成熟产品的工作流系统 以f i e r o s o re x c h a n g e 和i b md o m m on o t e s 为典型的成熟群件平台,在其上 做二次开发,较容易实现工作流基本功能,并且具有开发周期短、稳定性高等优 点,但由于是二次开发,不能完全拥有自主版权。更为重要的是,这些成熟群件 平台无法适应一些用户的多样性需求,适应性较差。 2 面向对象的w f m s 随着面向对象技术的成熟与应用,许多学者开始研究如何利用面向对象的技 术来推动工作流技术的发展,主要包括两个领域:第一,如何利用o o 技术如名 第1 章绪论 字服务、安全控制技术来简化w f m s 的实现,它是一种基于c o r b a 标准面向对 象w f m s ;第二,如何利用面向对象的分析方法来构建面向对象的流程定义,以 提高流程的可重用性。 3 分布式w f m s 为了提高系统的鲁棒性,许多学者研究如何实现w f m s 的分布处理,一个流 程可以使用多个分布的工作流引肇,每个引擎可以调度不同流程实例或流程实例 的不同任务,一个调度引擎发生故障时,不会影响其他引擎的工作。分布式系统 会带来一系列的问题,如数据一致性、引擎闻调度、故障恢复等问题。 4 基于w e b 构架w f m s 基于w e b 构架的应用系统,由于零安装、移动性好、易操作等优点得到了巨 大的发展,许多应用系统转移到基于w e b 构架上来,w f m s 也不例外。现有的许 多w f m s 也增加了对w e b 的支持,但多局限于用w e b 来实现任务项的处理,而 在s e r v e r 端通过c g i 与工作流引擎通信这种体系结构,c g i 程序的瓶颈、h t m l 不能表示结构化数据都使现有的w e b 系统效率不高。如何利用k m l 和j a v a 等技 术来实现w e b 构架的w f m s ,是一个急需研究的课题。 1 2 2 存在的问题 工作流系统随着技术的进步得到了日益广泛的应用,但其应用还处于一个非 常谨慎的状态,根本原因就是当前工作流系统存在着各种各样的缺陷或不足。 1 工作流的运行必须要有底层的通信基础结构的支持 工作流系统必须要建立在适当的底层通信基础之上,以便实现执行工作流所 需要的分布计算环境。比如说,c o r b a 、d c o m 、j a v a r m i 等。但是,就目前能 够实现分布计算环境的产品来看,他们在实际应用中仍然不够成熟。他们受到对 操作系统、编写语言的特定局限以及网络环境的限制,大多使用专有协议通过特 别的端日进行远程通信,不能很好的支持客户端和服务器通过i n t c r n c t 进行通信。 2 集成性和互操作性差 当前工作流模型主要针对企业内部流程进行建模,对跨组织的工作流的支持 基于w 曲服务的工作流系统的研究与应用 考虑较少。这样形成的工作流系统是一个信息孤岛,只能调用自己企业内部的应 用,完成企业内部的任务。一些企业的实际应用往往只能实现内部简单的流程调 用,并不能组合外界环境中的流程。流程模型缺乏可互操作性机制,不能实现流 程资源的共享,流程递归定义无法实现。在i n t e r a c t 技术和开放式电子商务飞速发 展的今天,是不合对宜的。 3 柔性问题 现有的工作流系统表现出柔性差的特点,这样的工作流系统模型很难被扩展。 许多模型都是通过穷举法来规定活动间的控制依赖类型和数据依赖类型,而现实 中,模型的实现是千变万化的,很难穷举所有的依赖类型,多数模型缺乏扩展依 赖类型的机制,因而柔性较差。 4 与应用系统耦合度较高,可扩展性和可重用性差 当前的工作流系统与应用系统相互问耦合度较高传统的工作流系统提供的 功能是以集成的方式实现,从数据存储到运行环境往往都有自己的一整套体系结 构,想从中分离出某个功能,将会是一件非常困难的事情。而同时,大部分的工 作流系统,包括产品和研究原型,都致力于提供所有全面的功能,用于适应尽可 能大的应用范围。这样的结果是,开发出来的系统可扩展性差,无法重用,每次 工作流系统的开发往往需要重新开始流程的设计,重复建设情况很严重,造成了 资源的极大浪费,很难适应大型复杂流程的设计。因此,当前的工作流系统很难 快速的根据具体的应用需求定制,灵活的集成到应用系统。 1 3 论文的主要内容和结构 本文围绕上述当前工作流系统中存在的四个问题展开研究。 针对前两个闯题,本文将w e b 服务田引入到工作流系统中,设计了一种基于 w e b 服务的工作流系统w s f l o w 。w e b 服务是基于w 3 c 的开放协议与标准,它 与平台和操作系统无关,是一个i n t e r a c t 上的松散耦合、高度灵活的分布式计算模 型。复杂应用的w e b 服务是一种可以通过u r l 地址来访问的网络资源,服务可由 外部的用户引用。由于w e bs e r v i c e 的标准性、完好封装性、高度可集成,开放性 第1 章绪论 以及松散耦合性,可以很好地解决上述底层通信环境不一致、互操作性差的问题, 使i n t e m e t 范围的业务活动的交互更加灵活。 针对后两个问题,w s f l o w 系统从够用、灵活的原则出发,设计并实现了一 个充分支持工作流特征和w e bs e r v i c e 特征的小型内核,实现了工作流和w e b 服务 必不可少的基本功能和特性,面向专业开发人员。第三方的软件开发人员可以通 过简单开发一调用相应的a p i s ,根据本领域中特定的业务规则构造相应的应用系 统。这使得软件开发者或是产品供应商不仅可以灵活的定制应用到不同领域的工 作流系统,而且还可以重用功能相同的工作流部件。这样就为工作流的应用提供 了一种敏捷开发的解决方式,很好的解决了柔性差、系统功能耦合度较高、可扩 展性和可重用性差的问题,使工作流系统的开发和维护变得更加简单。 针对上节中的几个阃题,本文设计并实现了基于w e b 服务的工作流系统 w s f l o w 。本文论述了w s f l o w 系统的架构,详细论述了其实现机制,最后给 出了应用实例。在本文的以下章节总共为六个部分: 第2 章介绍了工作流的基本概念和发展历史,简要介绍了工作流系统基本功 能和工作流参考模型。 第3 章分析了w e b 服务架构,给出了基于w e b 服务的工作流系统模型。 第4 章设计了w s f l o w 系统的架构组成,分析了各部分的基本功能。 第5 章给出了w s f l o w 系统各组成部分的详细实现。 第6 章将w s f l o w 系统应用到某实际业务系统中,给出了应用实例。 第7 章对论文的创新点进行总结,并且提出系统的进一步完善的建议。 1 4 本章小结 本章首先介绍了工作流技术在各行业的应用、目前工作流研究的现状和存在 的问题,然后阐述了本文的主要研究内容和结构。 基于w e b 服务的工作流系统的研究与应用 第2 章工作流技术概述 工作流技术是一项被业界广泛使用并且正在迅速发展的技术。它的主要特点 是能够使业务处理过程按照预先定义好的逻辑规则自动地执行,能够正确调度合 适的人或软件系统在适当的时间完成规定的工作。 2 1 工作流和工作流系统 工作流管理联盟给出的工作流定义【3 1 是:工作流是一类能够完全自动执行或者 部分自动执行的业务过程,它根据一系列的过程规则、文档和信息使得任务能够 在不同的参与者之间进行传递和执行。 g e o r a k o p o u l o s 给出的工作流定义 4 2 1 是:工作流就是将一组任务组织起来完成 某个经营过程,在工作流中定义了任务的执行顺序和触发条件,每个任务可以由 一个或多个软件系统完成,也可以由一个或一组人完成,还可以是由一个或多个 人与软件系统协作完成,任务的触发顺序和触发条件用来定义并实现任务的触发、 任务的同步和信息流( 数据流) 的传递。 工作流包括【1 1 1 3 9 1 : 1 流程的基本描述、流程各组成活动及活动描述; 2 ,流程各活动间时序选择约束关系、活动问信息流、活动任务完成内容; 3 流程活动的参与人,启动人、管理人、安全信息: 4 流程启动时间、任务期限。 工作流管理系统是一个软件系统,它负责完成工作流的定义和管理,并按照 预先定义好的工作流程管理工作流实例的执行【1 7 l 。还有人定义工作流系统以规格 化的流程描述作为输入的软件组件,维护流程的运行状态,并在人和应用之间分派 活动。 工作流管理系统并不是企业的业务系统,它只是为企业的业务系统运行提供 一个软件支撑环境。工作流管理系统在一个企业或部门的经营过程中的应用过程 是一个业务应用软件系统的集成与实施过程f 】9 】。 第2 章工作流技术概述 虽然不同的工作流系统具有不同的应用范围和不同的实施方式,它们还是具 有许多共同的特性。从比较高鲍层次上来抽象的考察工作流系统,可以发现所有 的工作流系统都是提供了三种功能【l 】: 1 过程建模 工作流管理建立阶段的功能主要是完成经营过程的计算机化定义。在这个阶 段,利用一个或多个建模技术与工具,完成实际的经营过程到计算机可处理的形 式化定义的转化过程称为过程建模。过程建模所得到的产品可称为过程模型、过 程模板或过程定义。过程建模主要解决如何根据过程摸板和系统约束条件,将系 统内的活动组织为适当的经营过程的问题。 2 工作流运行控制 在完成了过程模型的定义后,所生成的工作流模型将由工作流执行服务软件 进行实例创建并控制起执行过程。工作流执行服务对使用工作流模型描述的过程 进行初始化,并调度和监控过程中每个活动的执行,在需要人工介入的场合完成 计算机应用软件与操作人员的交互。 3 工作流管理中的人工交互 在工作流系统的运作过程中,人和应用是完成整个业务过程的主体。工作流 定义工具、工作流执行服务和任务表管理器都是为完成业务过程、支持人员工作 而提供的运行程序或工具。具体说来,在整个工作流执行中,不同的操作人员完 成的工作大约可分为以下三种:模型定义一般由企业的业务管理部门完成、人机 交互则由各业务部门的人员完成、系统运行状态监控由具有较高职务的系统管理 人员来完成。 工作流系统的元模型【8 】捌组成包括: ( 1 ) 工作流定义:对具有共性的企业业务流程的一种抽象,是对企业业务流程 的形式化描述,用于支持系统建模和运行过程的自动化。流程可分解为一系列子 流程和活动,其定义主要包括描述流程起始、终止的活动关系网络,以及一些关 于个体行为的信息。工作流系统的基础是工作流定义,它指定任务以什么次序执 行。 基于w 曲服务的工作流系统韵研究与应用 ( 2 ) 工作流实例:实际运行中的一个流程,每个实例代表一个能独立控制执行、 具有内部状态的线程。 ( 3 ) 活动:实现流程逻辑步骤的一项工作任务的描述,一般分手工操作和自动 处理两类,是过程执行中可被工作流引擎处理的最小工作单元。 ( 4 ) 工作项:可被工作流参与者执行的活动实例的表示,一个活动实例通常产 生一个或几个工作项,工作项通过赋予相关参与者的工作列表而被参与者所感知。 ( 5 ) 任务:活动和工作项的统一表示,在工作流定义的上下文中表示活动,在 工作流实例的上下文中表示工作项。 ( 6 ) 路由:工作流实例中任务间的关系,基本的路由关系有:顺序、选择、派 生、合并、同步等。 7 ) 构造块:工作流定义中各分支的合并或分裂关系,基本有:o r - s p l i t 、 a n d s p l i t 、o r - j o i n 、a n d - j o i n 四种。 ( 8 ) 资源:任务执行所需要的,一般指参与者,可以是机器,也可以是人。 ( 9 ) 触发器:导致任务的执行,可以是执行任务的资源,也可以是来自外部的 信息。 2 2 工作流系统的起源和发展 工作流技术可以追溯到上世纪7 0 年代的办公自动化和任务批处理,八十年代 初期,在个人计算机尚没有作为信息处理工具出现的时候,人们为了提高信息收 集、处理、储存、应用、传递、共享的效率,一些公司建立了自己专用的表单传 递应用系统用于处理日常表单的电子化和自动化,这些可看作现代工作流管理系 统的雏形【2 0 1 。1 9 9 3 年,工作流管理联盟w f m c ( w o r k f l o wm a n a g e m e n tc o a l i t i o n ) 的成立标志着工作流技术的发展进入了一个新阶段。w f m c 是一个非盈利的国际 性组织,它的宗旨是促进工作流技术的应用并指定其技术标准。 进入二十一世纪以来,计算机技术和通信的进步以及企业应用的强大需求大 大的推动了工作流管理系统的发展。技术的进步主要得益于网络信息技术的迅速 发展和分布式技术的逐步完善。尤其是c l i e n t s e r v e r 体系结构、b r o w s s e r v e r 体系 第2 章工作流技术概述 结构的日盏成熟以及c o r b a 、j 2 e e 、w e bs e r v i c e 等技术的出现,使得构建大规 模的异构的分布式应用系统在技术上成为可能。 2 3 工作流系统的组成参考模型 工作流联盟提出的工作流管理系统的组成参考模型中规范了工作流系统的各 功能组成部件和接h i 5 1 ,如图2 1 所示: 图2 1 系统组成参考模型僻 f i g 2 is y s t e mc o m p o n e n ti n f e r e n c em o d e l t s l 从工作流的参考模型中可以看出,工作流系统由以下几个部分组成: ( 1 ) 过程定义工具:采用u m l 活动图作为描述流程模型的手段,为用户提供 一种较好的实际业务过程分析、建模的方法。 ( 2 ) 工作流执行服务:借助于一个或多个工作流,激活并解释过程定义的全部 或部分,并同外部的应用程序进行交互,完成工作流过程实例的创建、执行与管 理,为工作流程的运行提供一个运行时环境。 基于w e b 服务的工作流系统的研究与应用 ( 3 ) 被调的w e b 应用:在过程实例运行过程中,工作流执行服务调用的、用 以对应用数据进行处理的w e b 服务,它们可能由不同编程语言编写的,运行于不 同的操作系统。 ( 4 ) 客户应用:定义客户应用程序a p i ,向工作流引擎请求服务。 ( 5 ) 管理及监控工具:提供对工作流管理中过程实例的状态进行监控与管理, 如用户管理、角色管理、w e b 服务管理。 该模型还定义了五个接i x l ,用于定义以上五个组件间的互操作规范:接口1 , 实现不同工作流定义工具与不同工作流执行服务间的互操作性【4 1 ;接口2 ,实现不 同工作流客户端应用与不同工作流执行服务问的互操作性嘲;接口3 ,实现不同工 作流客户端应用与不同工作流执行服务间的互操作性阁;接口4 ,实现不同工作流 执行服务闻的互操作性【6 l ;接口5 ,实现不同管理与监控工具与不同工作流执行服 务间的互操作性【刀 2 4 本章小结 本章在介绍了工作流和工作流系统的概念和特点的基础上,阐述了工作流系 统的元模型、工作流系统的起源和发展以及w f r e e 的工作流组成参考模型。 第3 章基于w e b 服务的工作流系统模型 第3 章基于w e b 服务的工作流系统模型 3 1 引入w e b 服务的必要性 随着网络技术和计算机技术的快速发展,企业计算机应用从最初的单个功能 应用、部门级的集成应用逐渐转向集成客户与供应商、跨企业集成以及动态电子 商务。企业的应用程序集成也从企业内部逐渐扩大到整个i n t e m e t 上的应用程序, 他们可能由不同的语言实现在不同的操作系统和硬件平台上。 而传统的工作流技术底层分布式计算模型c o r b a ( c o m m o no b j e c tr e q u e s t b r o k e ra r c h i t e c t u r e ,公用对象请求代理程序体系结构) 、d c o m ( d i s t r i b u t e d c o m p o n e n to b j e c tm o d e l ,分布式组件对象模型) 、j a v ar m i ( j a v ar e m o t em e t h o d i n v o c a t i o n ,j a v a 远端函数调用) 等,对操作系统、编写语言的特定局限以及由于 受到网络环境的限制,大多使用专有协议通过特别的端口进行远程通信,不能很 好的支持客户端和服务器通过i n t e m e t 进行通信,使工作流模型没有较好的互操作 性和可复用性 4 3 1 。 在这种情况下,工作流系统的流程模型缺乏灵活的可互操作性机制,不能实 现异构流程资源的共享,只能调用自己企业内部的应用,完成企业内部的任务【1 3 1 。 一些企业的实际应用往往只能实现内部简单的流程调用,而不能组合外界环境中 的流程。这样的工作流系统主要针对企业内部流程进行建模,对跨组织的工作流 的支持考虑较少,这样形成的工作流系统是一个信息孤岛。 w e b 服务技术使这种状况得以改善。w e b 服务作为一项炙手可热的技术,被 广泛应用到企业的玎系统和商业流程之中,给企业带来直接的经济效益。它是将 应用逻辑封装并以组件形式部署在w e b 上加以利用,使之在不同系统平台之间具 有互操作性,通过因特网实现了不同应用程序之间的远程过程调用嘲。 w e b 服务是基于w 3 c 的开放协议与标准,如x m l 、h t r p 等,它与平台和操 作系统无关,是一个i n t e m e t 上的松散祸合、高度灵活的分布式计算模型 2 1 。w e b 服务是独立于平台和实现的软件构件,是构件技术在i n t e r a c t 上的扩展。复杂应用 的w e b 服务是一种可以通过u r l 地址来访问的网络资源,服务可由外部的用户引 基于w e b 服务的工作流系统的研究与应用 用。w e b 服务是新代分布式企业计算的基础,有利于软件重用和企业集成。w e b 服务依照u d d i ( 统一描述发现和集成) 1 1 0 l 标准,通过名字和目录来定位服务,描 绘使用w s d l ( w e b 服务描述语言) 【1 1 1 语言规范,而这些消息对象采用简单对象访问 协议s o a p 。 w e b 服务构架 2 1 由三个参与者和三个基本操作构成。三个参与者分别是服务提 供者、服务请求者和服务代理。三个基本操作分别为发布、查找和绑定。如图3 1 。 图3 1w e b 服务构架 f i g 3 iw e bs e r v i c ea r c h i t e c t u r e w 曲服务体系结构的三个基本组件执行这三个基本操作: 1 服务提供者在服务代理者那里注册和发布服务; 2 服务请求者通过查找在服务代理者处发布的服务找到服务提供者; 3 服务请求者绑定服务提供者,并使用可以请求的服务。 3 2 基于w e b 服务的工作流系统模型 3 2 1 概述 基于w e b 服务的工作流系统,是一种先进的工作流模型。它可以通过i n t e m e t 一 , 分布式服务器或者中心服务器( 公共或私有u d d i ) 提供访问方法。企业和用户可 以通过标准的接口和一些公共服务来发现、描述和使用这些共享的系列服务。 第3 章基于w e b 服务的工作流系统模型 采用w e b 服务来实现 n t e r n e t 环境下的工作流应用的松散耦合和集成,使企 业可以方便的集成现有的应用和开发新的应用。在集成范围上,企业应用集成也 从单纯的程序间集成,逐渐过渡为企业范围和跨企业的不同应用之间的集成【1 8 1 。 而w e b 服务为实现供应链企业间的工作流体系提供了最有利的支持。 基于w c b 服务技术,对于企业原有应用,在不需要对原有系统进行修改,不 影响原有系统功能的情况下,只要在原有系统的基础上加上一个w e b 服务代理, 就可以将现有的用不同技术实现的系统互联起来,提供相互的数据交流和访问操 作,进而,各种不同的系统可以互相协作,形成一个更为强大的大系统。 3 2 2 模型的组成结构 基于w e b 服务的工作流系统模型如下图3 2 所示: 图3 2 基于w e b 服务的工作流系统模型 f i g 3 2w o r k f l o ws y s t e mm o d e lb a s e d - o nw 曲s e r v i c e 基于w e b 服务的工作流系统的研究与应用 首先用户需要进行流程定义建模。如果模型节点完成本地调用,则节点选择 普通节点;如果节点是远程w c b 服务,则调用w 曲服务代理模块来查找w c b 服 务。建模完成后,工作流执行服务将模型保存在相应的数据库中。当流程运行需 要某一流程模型定义时,工作流执行服务解析模型定义并将解析后的流程定义存 入相应的数据库中,按照定义中的流程调用相应的程序执行流程i 嘲。 w c b 服务也可以作为工作流的任务,这时工作流组合w 曲服务完成业务流程, 工作流以服务请求者的身份出现;工作流程可以发布到u d d i 上,被其他应用程 序调用,这时工作流以服务提供者的身份出现。 当工作流执行服务需要调用w e b 服务完成流程时,首先需要在流程实例运行 上下文中获取实例数据,然后根据w s d l 文档中对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 e b 服务代理根据请求中装载的应用数据和指定的工作流定义初始化一个相 应的工作流实例,交给工作流引擎执行管理。工作流引擎执行完流程实例后将结 果返回给流程w c b 服务代理,并迸一步返回给服务实现文件,流程w e b 服务实现 文件将结果返回给服务请求者。若w e b 服务提供的功能需要与服务调用者多次交 互,不能在一次请求应答中完成,则w e b 服务的内部流程必须适当对外暴露,服 务调用者才能更好的理解w e b 服务的功能以及如何与它合作完成调用。 当工作流作为服务提供者时,w e b 服务代理负责将工作流程以w s d l 的格式 发布到u d d i 上。工作流程发布、发现和调用的过程如图3 3 所示: 第3 章基于w e b 服务的工作流系统模型 图3 3 流程的发布、发现和调用 f i g 3 , 3t h ep u b l i s h , f i n d ,a n db i n d i n go f t h ep r o c e s s 由于w e bs e r v i c e 的标准性、完好封装性、高度可集成、开放性以及松敖耦 合性,可以很好地解决传统工作流系统中底层通信环境不一致、集成性差以及互 操作性差等诸多闯题,实现了跨平台、异地交互集成,并且使工作流具备装配服 务和被服务装配的特点,符合了企业发展的新需求。 本文在上述模型的基础上,将w e bs e r v i c e 引入到工作流系统中,设计并实现 了基于w e bs e r v i c e 的工作流系统w s f l o w ( w e bs e r v i c ew o r k i l o w ) ,其系统架构 和实现在后续章节讨论。 3 3 本章小结 本章首先对绪论中提出的第一个问题进行了回顾,然后介绍了w e b 服务的架 构,指出了基于w e b 服务的必要性。接下来给出了基于w e b 服务的模型,分析了 模型的构成和优势。 基于w e b 服务的工作流系统的研究与应用 第4 章w s f l o w 系统架构 基于上述提出的基于w e b 服务的工作流系统模型,本文设计并实现了基于 w e b 服务的工作流系统w s f l o w ( w e bs e r v i c ew o r k f l o w ) 。 4 1 架构 现有的工作流系统存在柔性差、模块耦合度较高的情况。当前的工作流系统 通常与业务应用系统集成在一起,内部与外部的功能娇柔在一起,各功能模块不 能拆开来分别单独使用【拥。大部分工作流系统都尽可能提供全面的操作,适应于 尽可能大的范围。这样造成系统的可扩展性差,重用性不好。 由于将所有的功能集成在一起,使得从中分离某个功能非常困难,需要详细 了解整个架构的构成,经常需要大量的代码修改,牵一发而动全身,使得维护起 来很困难,扩展性很差【2 “。进行维护的工作量往往大于重新开发相同的工作流功 能的工作量,使得开发者常常放弃原有系统,重新构造和组装系统逻辑,而无法 重用原有的工作流系统的功能。市场上存在这么多的工作流产品,而我们却不能 快速的定制能集成到特定应用中的工作流系统。 为了解决这些问题,w s f l o w 系统从够用、灵活的角度出发,主要考虑对流 程模型的定义和解释、活动之间的协调以及活动的分配和控制等功能提供支持阎 2 3 1 ,丽不支持诸如提供内建的应用开发工具、可视化流程定义工具等功能。而是 设计了一个充分支持工作流特征和w e bs e r v i c e 特征的小型内核,将工作流逻辑从 外部系统中抽取开来,在此基础上,利用组件灵活的可插拔的特性,软件开发者 可以对这个小型内核进行二次开发,来定制集成到特定应用的业务应用系统,还 可以针对不周的应用范围进行裁减。这样w s f l o w 就可以被其他软件开发者重 用,插拔在其他系统中,系统本身也更容易维护和扩展。 w s f l o w 系统将w c b 服务技术引入工作流中,对应于前一章中的模型, w s f l o w 位于服务请求者或提供者的位置:作为提供者,w s f l o w 将自己的流 程以w s d l 的形式发布到服务注册中心u d d i 上,被其他服务请求者调用;作为 请求者,w s f l o w 调用其他服务来组合自己的流程。 第4 章w s f l o w 系统架构 图4 1 给出了w s f l o w 系统与u d d i 和w c bs e r v i c e s 交互的示意图,上边的 兰色虚线框表示w s f l o w 系统,它可以将自己发布到u d d i 上被其他程序调用, 也可以调用w c bs e r v i c e s 和其他工作流服务( 下边的兰色虚线框所示) 。 f = 习 工作流系统w s f l o w 解析器i o l l j f = 工作流引擎 一监控管理卜 持 叫i 化 叶1 j 实僦管理1 1 路由选择 i件 i 依赖检查i l 应用程序调用i叫酷管理l 叶 fff 化:! 霰| h i 佴落硎嘉l 叶刁 上上、 1 w 曲服务代理 l j f 工作流服务i t f 、 日志管理 ( 芝竺x 、 流程调度 监控管理 定义解析 、 ) 异常处理 币厂、一叨d i 嘲g i 堡,i 、- 一 图4 1w s f l o w 系统架构 f i g 4 1w s f l o ws y s t e ma r c h i t e c t u r e w s f l o w 系统由w e b 服务代理、工作流引擎、运行辅助组件组成。w e b 服务 代理将工作流程封装起来,以w e b 服务的形式对外展现。同时它还具备发布服务、 寻址并绑定服务的功能。每个流程单元都可以调用其他服务,从而组合成新的流 基于w e b 服务的工作流系统的研究与应用 程。工作流引擎是系统的核心部分,负责流程的管理和运行实例的调度,包括模 型定义解析、流程调度、流程信息存储、监控管理、日志管理。工作列表和组织 结构为引擎运行辅助组件,用来辅助工作流引擎的运行。运行服务组件是在工作 流弓l 擎上的扩展,针对不同的业务环境,组件可以有所改变。 4 2w e b 服务代理 w e b 服务代理是完成系统与外界交互功能的组件,引擎与外界的交互就在 w c b 服务代理实现。w e b 服务代理负责将消息格式化,包装流程;发布流程服务 到公共或私有u d d i ;在网络上寻址并绑定指定的服务。 引擎在流程运行中调用流程定义中定义的w 曲服务,对于引擎而言,就如同 调用本地服务一样;其他应用程序调用本流程服务,就如同调用简单的w e b 服务 一样,这就是w e b 服务代理的第一个作用。它的第二个作用是将流程包装成可以 发布到u d d i 上的w e bs e r v i c e 并发布。w e b 服务代理负责将消息格式化,包装流 程;在网络上进行寻址并绑定指定的服务以及发布服务。简单说,就是引擎与外 界w e bs e r v i c e 的交互。 w e b 服务代理的主要功能如下: ( 1 ) 包装:将消息进行模式转化,经过x m l 序列化或反序列化后打入s o a p 封套

温馨提示

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

评论

0/150

提交评论