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

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

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

文档简介

姆大学硕一1 :学位论文 摘要 工作流管理技术是近几年来被业界广泛采用并迅速发展的一个技术,通过采 用汁算机技术,使业务流程部分或者全部地自动化,使入以及各种应用: 具相互 之间协调工作,以完成某项工作。工作流管理系统按照正确的顺序将合适的任务 在恰当的时间分配给人,从而规范管理,提高工作效率。 本文作为上海大学科研项目“面向电子商务的工作流机制研究”的一部分, 通过列w f m c 的标准进行分析,结合w e b 服务技术,提出了个相应的工作流管理 系统w x f l o w 的设计方案,并对此进行了原型实现。 本文完成的主要工作是: 实现t w x f l o w 工作流引擎中的各种接口服务。 实现了以x p d l 为标准的工作流过程模型的执行。 设计并且实现了w x f l o w 的过程定义工具。 采用w e b 服务技术实现的w x f l o w 系统,改进了工作流管理系统的性能,使之 能更好的适应动态的现代企业业务流程。 本文组织如下:第一章是概述。第二章对w e b 务进行了简单介绍。第三章分 析了工作流模式。第四章为工作流系统技术背景及体系结构分祈。第五、六章为 本文核心,详细叙述了工作流引擎和过程定义工具设计实现。最后一章进行了总 结,并对不足之处进行了分析。 关键词:工作流管理系统,工作流引擎,过程定义工具,w e b 务 l 二海大学硕士学位论文 a b s t r a c t 1 口o r k f l o wm a n a g e m e n tt e c h n 0 1 0 9 y ,ar a p i d l yd e v e l o p i n gt e c h n o l o g y ,h a s t h em ajnc b a r a c t e r i s t i ct h a tm a k e sb u s i n e s sp r o c e s sa u t o m a t e da n d t h e a u t o m a t i o no fp r o c e s s e si n v o l v i n gc o m b i n a t i o n so fh u m a na n di t a p p l i c a t i o n w o r k f l o wm a n a g e m e n ts y s t e ma s s i g n st h er i g h tt a s kt ot h e r i g h tt a s kt ot h er i g h tp e o p l ea tt h er i g h tt i m ei nt h er i g h to r d e i ,s o itc a nb eu s e dt os t a n d a r d i z et h em a n a g e m e n tt h em a n a g e m e n ta n di m p r o v e t h ew o r k i n ge f f i c i e n c y t h isp a p e risp a r to fs h a n g h a iu n i v e r s i t ys e i e n c ep r o j e c t :o r i e n t e d p b u s i b e s sw o r k f o wm e c h a n i s mr e s e a r c h b ya n a l y z i n gw o r k f l o ws t a n d a i 、d s js s u e db yw f m ca n dc o m b i n i n gw e bs e r v i c e st e c h n o l o g y ,w ed e s i g na n d i m p l e m e n taw o r k f l o wm a n a g e m e n ts y s t e m - - w x f l o wb a s e do nw e bs e r v i c e s 。 t h em a i n w o r ko ft h et h e s i si sa sf o l l o w : i m p l e m e n tt h ei n t e r f a c e so fw x f l e ww o r k f l o we n g i n e i m p l e m e n tt h ep r o c e s se x e c u t i o na c c o r d i n gt ow o r k f o wp r o c e s s m o d e ls t a n d a r d i z e db yx p d l d e s i g na n di m p l e m e n tt h ep r o c e s sd e f i n i t i o nt o o l o fw x f i o w u s i n gw e bs e r v i c e st e c h n o l o g yw ec a ni m p r o v et h ep e r f o r m a n c eo fw x f l o w a n db e c o m ea c c u s t o m e dt ot h em o d e r nb u s i b e s sp r o c e s s t h eo r g a n i z a t i o no ft h i st h e s i si sa sf o l l o w s ,c h a p t e r1i sa n i n t r o d o c t i o n ,c h a p t e r2i sab r i e fo fw e bs e r v i c e st e c h n o l o g y c h a p t e r 3a n a l y z e st h ew o r k f l o wp a t t e r n s c h a p t e r4i st e c h n o l o g yb a c k g r o u n da n d t h ea r c h i t e c t u r eo fw o r k f l o w 矾a n a g e m e n ts y s t e m c h a p t e r5a n dc h a p t e r 6 ,t h em a i np a r to ft h i st h e s i s ,d e s i g na n di m p l e m e n tt h ew o r k f l o we n g i n e a n dp r o c e s sd e f i n i t i o nt 0 0 1 t h el a s tc h a p t e ri sc o n c l u s i o n ,w h i c h a n a l y z e st h ew e a kp o i n t so ft h es y s t e m k e y w o r d s :w o r k f l o wm a n a g e m e n ts y s t e m ,w o r k f l o we n g i n e ,p r o c e s s d e f i n i t i o n w e bs e r v i c e s 原创性声明 本人声明:所呈交的论文是本人在导师指导下进行的研究工作。 除了文中特别加以标注和致谢的地方外,论文中不包含其他人已发表 或撰写过的研究成果。参与同一工作的其他同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 签名:日期 本论文使用授权说明 本人完全了解上海大学有关保留、使用学位论文的规定,即:学校有权保留 论文及送交论文复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容。 ( 保密的论文在解密后应遵守此规定) 签名:一导师签名 日期 啦 珥 上海大学硕七学位论文 1 1 工作流管理简介 1 1 1 工作流起源 第一章概述 个关于工作流管理的普遍的误解,是认为这项技术大约在一h 个世纪九十年 代早期伴随着业务流程再造的浪潮发展起来的。事实上,工作流管理技术早在上 个世纪七十年代中期就已经存在了,当时采用面向业务过程自动化的方法和模 型,起源于帕洛阿尔托研究中心和沃尔顿的办公自动化原型“。受到早期p e t r i n e t 的影响,七十年代的过程模型多是基于p e t r in e t 进行过程建模,例如 s c o o p 。从1 9 7 5 至t 9 8 5 年,这十年期间,办公自动化的理论研究迅速发展起来, 为后来的通过分析技术支持管理过程的工业过程自动化应用的发展奠定了一定 的基础,此时的产生的系统可以看作是工作流管理系统w f m s ( w o r k f 。l o w m a n a g e m e n ts y s t e m ) 的雏形。随着计算机技术和网络技术的飞速发展,工作流管 理系统开始在工作流模型上处理企业的业务过程,这就意昧着企业的信息系统运 行已经从过去没有一个具体的可量化指标的管理信息系统,发展到一个建立在工 作流模型上,按照预先定义好的规则进行执行,并且对执行的结果随时进行监控 评价的规范化阶段。工作流管理系统由最初的创建无纸办公环境转而成为同化企 业复杂信息环境、实现业务流程自动执行的必要工具。 1 1 2 工作流定义 工作流管理联盟( t h ew 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 ) 为工作流 提供的标准定义是:工作流是业务过程的部分或全部在计算机应用环境下的自 动化“。它所要解决的问题就是根据某种规则实现文档、任务或信息在参与者之 间自动传递。从而工作流管理系统就是指一种在工作流形式化表示的驱动下通 过软件的执行而完成工作流定义、管理及执行的系统。 1 1 3 工作流分类 根据工作流过程本身的特点、系统建模的方式、所使用的底层支撑技术、以 及工作流过程的执行方式等的不同可以对目前流行的工作流进行相应的分类如 卜海大学候j j 学位论文 1 1 工作流管理简介 1 i i 工作流起源 第一章概述 一个关于工作流管理的普遍的误解,是认为这项技术大约在t 个世纪九十年 代早期伴随着业务流程再造的浪潮发展起来的。事实上,工作流管理技术早在上 个世纪七十年代中期就已经存在了,当时采用面向业务过程自动化的万法和模 型,起源于帕洛阿尔托研究中心和沃尔顿的办公自动化原型“。受到早期p e t r i n e t 的影响,七十年代的过程模型多是基于p e t r in e t 进行过程建模,例如 s c o o p 。从1 9 7 5 至1 9 8 5 年。这十年期间,办公自动化的理论研究迅速发展起来, 为后来的通过分析技术支持管理过程的工业过程自动化应用的发展奠定了一定 的基础,此时的产生的系统可以看作是工作流管理系统w f m s ( w o r k f l o w m a n a g e m e n ts y s t e m ) 的雏形。随着计算机技术和网络技术的飞速发展,工作流管 理系统开始在工作流模型上处理企业的业务过程,这就意味着企业的信息系统运 行已经从过去没有一个具体的可量化指标的管理信息系统,发展到个建立在工 作流模型上,按照预先定义好的规则进行执行,并且对执行的结果随时进行监控 评价的规范化阶段。工作流管理系统由最初的创建无纸办公环境转而成为同化企 业复杂信息环境、实现业务流程自动执行的必要工具。 1 - 1 2 工作流定义 工作流管理联盟( t h ew 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 ) 为工作流 提供的标准定义是:工作流是业务过程的部分或全部在计算机应用环境下的自 动化。它所要解块的问题就是根据某种规则实现文档、任务或信息在参与者之 间自动传递。从而工作流管理系统就是指一种在工作流形式化表示的驱动下,通 过软件的执行而完成工作流定义、管理及执行的系统。 i i 3 工作流分类 根据工作流过程本身的特点、系统建模的方式、所使用的底层支撑技术、以 及工作流过程的执行方式等的不同可以对目前流彳亍的工作流进行相应的分类如 及工作流过程的执行方式等的不同可以对目前流行的工作流进行相应的分类如 上海大学硕士学位论文 f 所述饽 1 ) 结构化的与即席的 结构化工作流指的是在实际工作过程中会反复重复、严格按照某个固定的步 骤进行的业务过程。定义此种工作流所需要的各种类型的信息可以通过对业务过 程进行详细的分析而得到,从而得到完整的过程定义并在以后的应用过程中反复 使用。大量的办公程序,如公文处理、审批等都属此类。即席工作流则是针对那 些重复性不是很强或没有重复性的工作流程的,关于这类流程执行所需的有关参 数( 如参加者等) 事先无法确定,而必须推迟到过程实例运行时才能确定,同时在 执行过程中间还可能会发生一些意外的情况。这种动态多变的特点在提供更高灵 活性的同时,也为过程的建模与执行带来更多的复杂性。 2 ) 面向文档的与面向过程的 前者的侧着点在于将电子形式的文档、图像等在有关的人员之l 、白j 进行分发, 以便能够得到不同人的处理与审阅。现有的文档管理与映像管理系统均属此类。 在面向过程的w f m s 中,工作流被描述成一序列执行环节。与各环节相应都有待 处理的数据对象。各环节的数据对象可以按不同的方式分发到其他环节中去,如 可以将数据对象的值作为控制条件、或者依此数据对象组装成其他的数据对象 等。高端的w f m s 一般都属此类系统。 3 ) 基于邮件和基于数据库 前者使用电子邮件来完成过程实例执行过程中消息的传递、数据的分发与事 件的通知。低端的系统所使用的经常就是此种方法,它可以充分发挥电子邮件系 统在广域环境下的数据分发功能,但整个系统将运行于一种松散耦合的模式下。 在基于数据库的w f l s 中,所有的数据都保存在某种类型的d b m s 中,过程的执行 实际上就是对这些数据的查询与处理。高端的大规模系统所使用的一般都是此种 方法。 4 ) 任务推动的与目标拉动的 前者指的是从过程的开始逐个环节的执行,当某个活动实例被处理完之后, 后续的有关活动将被创建并被激活,由此直至整个工作流程的完成。这是目前大 多数面向过程的w f m s 所使用的执行方式。而在目标拉动的w f m s 中一个业务流 程被看成是一个目标。过程实例执行时,该目标将被分解得到多个相互之间按一 f j 海大学碳 学位论文 定约束条件的关联起来的可执行的多个环节,其中各环节还可以当成是子目标而 进,。步进行分解。在各环节均执行完毕之后,整个过程也就完成了。目标拉动是 一种全新的执行方式,下一代的w f m s 将具有此种特征。应该说明的是:上述分 类只是从不同的角度八手的。一般来说,后面那蝗特点将给w f m s 带来更好的灵 活性,同时也将成为那些能够支持跨机构的大规模复杂工作流管理、面向关键任 务的w f m s 不可缺少的特征。 1 。2 工作流管理系统参考模型 工作流管理是正在发展的技术,它在不同的行业得到了应用。随着对工作流 产品需求的不断扩大,许多公司纷纷推出不同的工作流产品。这些工作流产品都 有自己的特点,也有自己的协议和接口标准,它们在不同的应用领域进行应用。 由于工作流管理技术与产品缺乏统一的标准,这些不同的工作流产品从术语的定 义和使用、系统结构的设计到应用之间的接口规范,都存在很大的差异,导致这 些产品之间、产品和其它应用之间的集成非常困难。 w f m c 正是在上述情况下应运而生,提出了有关工作流管理系统的一些规 范,定义了工作流管理系统的结构及其与应用、管理工具和其它工作流系统之间 的应用编程接口。这就是工作流管理系统的参考模型”1 ,图1 1 显示了这种参考 模型。 “:漉倚雕 r 乳 接l l5 援2 l 侔德ap l j 颦焕 式 l 阼浚鬻p 暇瓣 图1 1 工作流管理系统参考模型 已in : 配 趣 1 搽并 r 海大学颂士学位论文 图l 一1 所示的参考模型描述了工作流管理系统中的主要模块以及模块之f 刚 的接口。 图中的工作流引擎是工作流管理系统的核心,其主要功能就是使工作流实例 按照预先的定义严格的运转。 过程定义工具为用户提供了一种对实际业务过程进行分析建模的手段,并生 成业务过程的可被计算机处理的形式化描述。生成的过程定义通过接口1 能被工 作流引擎解释并执行。 工作流客户应用是指用户操作工作流管理系统分配的任务或者活动,由工作 流任务表管理器和用户操作共同完成。工作流任务表管理器提供给用户一个工作 项,然后用户执行反馈给工作流引擎。工作流客户应用和工作流直接调用的应用 通过接口2 和3 与工作流引擎相连。 工作流管理工具是一个非常重要的功能。在实际应用中不可避免的会出现很 多意外情况,正确及时处理这些意外情况具有十分重要的意义。工作流管理和监 控工具能够对工作流在整个系统中的流动情况进行监视,并提供一系列的管理功 能。它通过接口5 和工作流引擎进行互动。 通过接e 1 4 ,工作流管理系统可以和其它工作流系统进行互操作,从而能够 使任务项无缝地在各个工作流管理系统间流动。 w f m c 为图中的5 个接口定义了w a p i ,w a p i 是一组工作流应用编程接口及 其相应的数据交换格式,通过调用这些接口就可以完成参考模型中所示的5 个接 口的功能。 1 3 当前的研究现状 1 3 1 工作流管理技术的发展 工作流管理技术到目前为止经历了三个发展阶段: 初级阶段( 1 9 8 9 1 9 9 2 ) :人们对于工作流过程建模和过程的执行有初步的认 识,开发出能够提供一定工作流功能的工具,并在实践基础上得出一些理论和产 品原型。 第二阶段( 1 9 9 2 1 9 9 5 ) :人们在第一阶段所获得的各种成功和失败经验的基 础上,发展了概念模型和系统体系结构。这一阶段明显区别于第一阶段的是独立 的工作流引擎的出现,工作流过程模板的定义和应用程序中过程的执行相分开, 使工作流过程实现动态的改变成为可能。工作流过程的路由、系统开放性、交互 性技术进一步成熟,相关工作流系统产品不断涌现。具有标志性意义的是,w t 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 ,工作流管理联盟) 于1 9 9 4 年n 月制定了工作 上海大学坝七学位论文 流参考模型,使各种工作流系统有了统一的标准。不过,这个阶段,工作流系统 的灵活性仍然在很大程度上受到过程定义和执行引擎的限制。 第三阶段( 1 9 9 5 至今) :随着信息技术的发展,协同工作环境要求有更复杂、 更有效、更灵活的工作流管理系统,动态自适应性成为这一领域的前沿课题。动 态自适应性工作流要求工作流模板可以随着应用环境的需要而进行动态地调节, 整个系统能够方便地移植到不同的硬件和软件平台上,并易于系统扩展,增加新 的功能。i n t e r n e t 技术的发展与工作流技术的发展相辅相承,基于w e b 服务工作 流管理系统就是两者结合的产物。 1 3 2 工作流管理产品 现今在工作流技术研究中,已经有许多公司开发出了比较成熟的产品,比较 著名的有i b m 公司的a l m a d e n 研究中心的e x o t i c a ”3 、佐治亚大学计算机系的 m e t e o r “1 、w i d e “3 以及m e n t o r ”。等研究项目。但是各个公司的产品还处于百家争 鸣的状态,并没有哪个产品处于绝对领导地位,并且由于其各自为政,也为工作 流的标准化带来困难。 ( 1 ) 基于持久消息队列的分布式工作流管理系统一e x o t i c a 。e x o t i c a 工作流 管理系统由许多具有自治能力的节点组成,每个节点彼此之间都是互相独立的, 但是节点之间可以通过可靠的消息队列通知对方,告诉对方工作流过程中某一步 已经完成。这种运行机制避免了节点在过程运行中不断与服务器通信所造成的瓶 颈,增强了系统的鲁棒性,如果其中一个节点出现故障停止运行,其余节点仍能 正常运转。e x o t i c a 使用i b m 本身的工作流产品f l o wm a r k 提供的建模工具建立模 型。为了更好地处理活动和应用之间的数据信息传递,该建模工具引入了输入容 器、输出容器和数据流等模型元素。数据流由过程模型中的数据连接弧组成,它 描述了各个输入容器和输出容器之间的映射关系,使得活动间可以相互传递数据 信息。e x o t i c a 面向分布式环境下的用户,其过程实例的运行分布在整个运行环 境内,由各个节点根据摸型的定义和具体实例运行情况推进实例的运行。 ( 2 ) m e t e o r 的研究目的是开发出一个能够支持大规模复杂的工作流应用的 系统,并保证这些应用能在企业间异构的环境中正常运行。该系统采用了完全分 布的体系结构,并实现了对工作流任务的分布调度。m e t e o r 还提供了一个自动的 代码生成器,能够自动地将图形化的工作流模型转换为实际运行代码,并能对模 型进行动态修改,可有效地支持企业实现动态经营过程重组。整个系统由建模工 具、自动代码生成器、运行环境、监控器和数据库组成 ( 3 ) 基于分布式主动数据库技术的工作流管理系统- - w i d e 。w i d e 是出西班 r 海大学硕士学位论文 牙、意大利和荷兰等国的五个合作单位协同开发的工作流管理系统,主要目的是 利用分柿式数据库和主动数据库技术来实现工作流管理,并提供先进的、面向应 用的软件产品。 w i d e 工作流模型包括:组织模型、信息模型和过程模型。w d e 是对w f m c 参考 模型的一种扩展。它不仅定义了工作流的基本要素,而且还支持组织模型建复杂 的活动约束分配、动态流程控制、复杂过程结构以及工作流事务处理。 ( 4 ) 基于状态与活动图的工作流管理系统- - m e n t o r 。m e n t o r 以状态和活动图 作为建模理论基础,使用一个可视化工具作为建模工具,执行活动中所需要的软 件可以通过扩展接口集成到系统中。m e n t o r 可将所建型自动转化成状态活动图。 活动图描述活动之间的数据流动,状态图规定活动之间控制信息的流动在状态 图中,状态的转换由e c a 规则驱动。状态图还提供正交组件,允许处于相同层次 的两个状态图可互相独立地并行执行。为了支持异构环境下的各种应用程序,系 统以c o r b a 产品o r b i x 为底层支持,通过o r b 传递参数和激应用程序。系统中所有 需要被激活的应用程序都必须包装在o r b i x 中,并提供i i ) l 调用接口。 ( 5 ) 基于d o m i n on o t e s 技术开发的工作流管理系统的研究。i b md o m i n o n o t e s 群件平台提供了丰富的功能,使开发者能够根据具体要求进行定制。据资 料介绍,n o t e s 更适合进行二次开发。基于i b md o m i n on o t e s 系统开发工作流软 件具有以下优点: i b md o m i n on o t e s 提供了丰富的开发工具,而且更方便开发者: i b md o m i n on o t e s 系统对w e b 的支持较好。 其缺点是: 由于n o t e s 系统结构不太灵活,能让开发者自由发挥的余地比较小,对底层 编程困难; 同样是基于外国系统做二次开发,所以不能完全拥有自主版权。 1 3 3 工作流研究热点 工作流管理的研究之所以如此受人青睐,主要有两方面的原因:从技术角度 看,它集成了来自计算机科学和管理科学各个领域的原理、方法和技术,其中包 括数据库管理、异构分布计算、系统集成和业务重组等等,集成不同领域的概念 的确具有很大的挑战性:从应用角度看,工作流系统的可扩展、高性能、可管理、 可使用、安全性都存在着很大的市场需求,高性能的w f m s 能大幅度地提高企业的 竞争能力,获得相当可观的利润回报。 随着技术的不断发展,工作流研究也有了新的变化,目前国内外关于工作流 的研究热点主要在于如下方面: 卜海大学硕= l 学位论文 工作流过程建模 包括:f 作流过程模型和过程描述语言方面的研究,前者是对业务流程的 计算化描述,概括了实现流程所需的各种必要信息:如流程开始和结束 条件、组成该过程的各个步骤、步骤间的信息传递规则以及所需调用的 应用工具等等。模型一般通过文本或图形化的过程描述语言胀表现。目 前,己提出了许多具体的模型和描述语言,有待进一步的统一,w f m c 在规范化方面起了很大的作用。此外,基于各种形式化工具,对工作流 模型性能进行分析和评价,也是建模过程中极为关键的一环。 基于w e b 的工作流 由于零安装、移动性好、易操作等优点得到了巨大的发展,许多应用系 统转移到基于w e b 架构上来,w f m s 也不例外。现有的许多w f m s 也增加 了对w e b 的支持,但多局限于用w e b 来实现任务项( w o r k l t e m ) 的处理, 而在s e r v e r 端通过c g i 与工作流引擎通信这种体系结构,c g i 程序的瓶 颈、h t m l 不能表示结构化数据都使现有的w e b 架构的系统效率不高。如 何利用x m l 和j a v a 等技术来实现w e b 架构的w f m s ,是一个急切需要研 究的课题。 面向对象的w f m s 随着面向对象技术的成熟与应用,许多学者开始研究如何利用面向对象 的技术来推动工作流技术的发展,主要包括两个领域:第一,如何利用 o o 技术如名字服务、安全控制技术来简化w f m s 的实现,提高w f m s 的性 能和适应h a d 环境的能力,如佐治亚大学的m e t e o r 产品则是其中的代 表,它是一种基于c o r b a 标准面向对象的w f m s ,使用o o 技术提高w f m s 的容错能力:第二,如何利用面向对象的分析方法来构建面向对象的流 程定义,以提高流程定义的可重用性。 分布式工作流 工作流管理系统从支持单个工作组环境开始,现在逐步提高到企业级的 功能需求。这样,单个工作流程就要允许跨越广域网上的多个服务器和 客户端,通过并行计算、资源共享、分布操作使其可扩展性、可管理性 得以充分体现。然而,随之而来的是需考虑分布式系统的安全性和可互 操作性。 工作流互操作 互操作的研究主要包括两方面:工作流模型的互操作和工作流系统的互 操作。微观层的模型互操作包括研究单个模型内或多个模型问的活动可 互操作性,以及如何检测、分析产生的冲突,并提供可行的解决方案: 宏观层的系统互操作则包括系统内部协议定义、程序接口、数据共享的 t 海大学硕士学位论文 可互操作,以及工作流系统如何嵌入到其他业务系统中或如何实现与其 他异构系统的连接。工作流互操作是工作流管理技术目前研究中的大 难点。 工作流事务管理 事务管理是数据库技术中的一个重要概念。每个事务具有a c i d 特性, 即原子性( a t o m i e i t y ) 、致性( c o n s i s t e n c y ) 、独立性( i s o l a t i o n ) 和 持续性( d u r a b i l i t y ) 。事务管理充分保证了数据操作、数据存储、系统 管理的萨确性、可靠性和可管理性。目前高级事务模型已在各个领域得 以应用,但现有的工作流产品还不能显式的得以支持。 安全工作流管理模型 研究如何在分布、异构的环境下实现对工作流系统中所管理信息的安全 控制,包括安全策略、访问控制、加密算法、审计信息、备份策略等等 方面。 1 4 本文的研究目的和意义 工作流管理系统的应用会给企业带来巨大的效益。采用工作流管理系统将使 企业改变传统的按功能配置人员的组织机构,变成按企业要实现的业务流程来配 置组织结构,这样可以大大缩短主要业务流程的时间,提高对市场的响应能力, 减少在企业内部不必要的物流、信息的传递时问。其次,采用工作流管理系统对 于企业信息的现代化同样具有显著的作用。采用工作流系统可以在很大程度上集 成企业的现有信息资源,实现资源的充分利用。 随着i n t e m e t 技术的飞速发展和全球经济一体化的趋势,企业对于工作流技 术有了新的要求。随着i n t e r n e t 上电子商务活动的不断增多,电子商务的便利使 传统的企业合作变成了更松散更动态的关系。在这种动态电子商务的环境下,原 有的工作流管理系统缺乏柔性和互操作性的缺点使其显然不能满足现代企业业 务流程的管理。w e b 服务的出现,给我们解决这个难题提供了契机。w e b 服务是 一种基于标准的应用集成方式,具有动态特性,把一切看作服务。利用w e b 服务 技术一定会极大的提高工作流管理系统的性能。 因此,我们针对留前工作流管理系统的不足,采用全新的w e b s 目务及x m l 技术,提出了“基于w 如服务的工作流管理系统的研究与实现”这个课题。 f _ 海大学硕j 学位论文 2 。1w e b 服务简介 第二章w e b 服务 w e b 服务是微软提出的基于互联网的开发模型,一经提出即受到业界的广泛 推崇。所谓w e b 服务,它是指由企业发布的完成其特别商务需求的在线应用服务, 其他公司或应用软件能够通过i n t e r n e t 来访问并使用这个应用服务。 w e b n 务是一种基于标准的应用集成方式,它可以将运行在通过i n t r a n e t 、 e x t r a n e t 或i n t e r n e t 连接的分布式服务器上的应用集成在一起。这种集成网络上 分布式应用的想法并非新概念,但w e bj l 艮务使这种集成变得更加方便和安全,并 且省去了由开发人员为每个应用程序编写自定义界面的繁冗环节。我们可以把 w e b 服务看成是一种基于标准的“乐高”游戏,它把新的应用模块与现有模块相 匹配并混合使用,其最终的商业解决方案可以将企业内、外部的客户与合作伙伴 集成在一起。 w e b 服务将使目前电子商务环境所需的编写自定义代码工作成为历史。虽然 通过c o m + 、c o r b a 、r m i 等技术也可以创建分布式应用,但这些技术不能广泛地部 署在互联网上以便让全球大量用户共享,而这正是b 2 b 解决方案所必需的。此外, 这些技术还需要开发人员为应用集成编写客户化的界面。 w e b f l 务集中了这些技术的精华,并以开放标准为基础,推动电子商务取得 成功。简言之,企业可以通过w e b n 务重组其应用和业务流程,充分利用w e b 服务 的动态特性,在市场上抢得先机。 2 2w e b 服务体系结构 w e b 服务的一个主要思想,就是未来的应用将由一组应用了网络的服务组合 而成。只要两个等同的服务使用统一标准和中性的方法在网络上宣传自己,那么 从理论上说,一个应用程序就可以根据价格或者性能的标准,从两个彼此竞争的 服务之中选出一个。除此之外,一些服务允许在机器之间复制,因而可以通过把 有用的服务复制到本地储存库,来提高允许运行在特定的计算机上的应用程序的 性能。 w e b h r 务体系结构是面向对象分析与设计( o o a d ) 的一种合理发展,同时也 是电子商务解决方案中,面向体系结构、设计、实现与部署而采用的组件化的合 理发展。这两种方式在复杂的大型系统中经受住了考验。和面向对象系统一样, 封装、消息传递、动态绑定、服务描述和查询也是w e b 服务中的基本概念,而且, 海a 学1 j 葡士学位论立 w e b n 务另外一个基本概念就是:所有东西都是服务,这牡服务发布一个a p i 供网 络巾的其他服务使用,并且判装了实现细节。 下面我们就来看一下w e b n 务的体系结构一面向服务的体系结构( s o a ) 。 图2 1 面向服务的体系结构( s o a ) 从图2 一l 可以看m ,$ 0 a 结构中共有三种角色: 1 ) 服务提供者;发布自己的服务,并且对使用自身服务的睛求进行响应。 2 ) 服务中介者:注册已经发布的服务提供者肘其进行分类,并提供搜索 服务。 3 ) 服务请求者:利用服务中介者查找所需的服务,然后使用凌服务。 s o a 体系结构中的组件必须具有上述一种或多种角色。在这些角色之间使用 了三种操作: 1 ) 发布操作:使服务提供者可以向服务中介者注册自己的功能及访问接口。 2 ) 发现操作:使服务请求者可以通过服务中介者查找特定种类的服务。 3 ) 绑定操作:使服务请求者能够真正使用服务提供者。 为支持结构中的三种操作发布、发现和绑定,s o a 需要对服务进行一定的描 述,这种服务描述应具有下面几个重要特点:首先,它要声明服务提供者的语义 特征。服务中介者使用语义特征将服务提供者进行分类,以帮助具体服务的查找。 服务请求者根据语义特征来匹配那些满足要求的服务提供者。因此,语义特征中 重要的点就是对服务提供者的分类。其次,服务描述应该声明接口特征,以访 问特定的服务。最后,服务描述还应声明各种非功能特征,如安全要求,事务要 求,使用服务提供者的费用等等。接口特缸和非功能特征也可以用来帮助服务请 求者对服务提供者的查找。 注意,服务描述和服务实现是分离的,这使得服务请求者可以在服务提供者 的一个具体实现正处于开发阶段、部署阶段或完成阶段时,对其具体实现进行绑 定。另外,s o a 中的组件相互之间必须能够进行交互,才能进行上述三科操作。 所以w e b 服务体系结构的另一个基本原则就是使用标准的技术,包括服务描述、 通讯协议以及数据格式等。这样一来,开发者就可以开发出平台独立、编程语言 上海火学硕士学位论文 独立的w e b 服务,从而能够充分利用现有的软硬件资源和人力资源。 最后,s o a 体系结构没有对w e b 服务的粒度进行限制,因此一个w e b 服务即可 以是一个组件,该组件必须和其他组件结合才能进行完整的业务处理;w e b n 务 电可以是一个应用程序。 2 3s o a p 协议简介 s o a p 即简单对象访问协议( s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ) ,它是用于 交换x m l 编码信息的轻量级协议。它有三个主要方面:x m l e n v e l o p e 为描述信 息内容和如何处理内容定义了框架;将程序对象编码成为x m l 对象的规则;执行 远程过程调用的约定。 s o a p 可以运行在任何其它传输协议上。例如,您可以使用s m t p ,即因特网 电子邮件协议来传递s o a p 消息。在传输层之间的头是不同的,但x m l 有效负载 保持相同。 s o a p 用x m l 将消息编码,因此在调用过程的任何一步都极易处理消息。另 外,调试s o a p 消息的方便性使各种s o a p 执行能快速聚合在一起,这点很重要。 因为s o a p 就是要达到大范围的协同工作。而c o r b a 、d c o m 和r m i 对参数和返 回值使用二进制编码。除此之外,它们假设发送端和接收端充分了解消息的前后 关系,因此对诸如参数名称或类型的任何元信息都不编码。这种方法产生了良好 的性能,但使中介很难处理消息。因为每个系统使用不同的二进制编码,所以建 立互操作的系统很难。 表面看来,基于x m l 的模式本应比基于二进制的慢,但它并不像表面那么 简单。首先,当s o a p 被用于通过因特网发送消息时,在每个端点给消息编码 解码的时间与在端点间传输字节的时间相比较是微不足道的,所以这种情况下使 用) ( m l 没太大问题。 其次,当s o a p 用于封闭环境下的点对点间的消息传送,如在同一公司部门 间的传送时,各端点可能将运行相同的s o a p 执行。这样,这个特定执行就拥有 号门的优化机会。 2 4 w s d l 简介 w s d l 是用来描述网络服务或终端的一种x m l 语言,它用于定义w e b 服务以 及如何调用它们。w s o l 可以用来描述w e b 服务的属性,例如它做什么,它位于 哪里和:怎样调用它。w s d l 文档可用于动态发布w e b 服务、查找己发布的w e b 服 务以及绑定w e b 服务。 在w s d l 中包含了使用s o a p 的服务描述的绑定,也包含了使用简单h t t pg e t l 海大学坝卜学位论史 和p o s t 请求的服务描述的绑定。w s d l 将w e b 服务定义成一系列的端【_ _ 】,每个端 口用来表示从抽象端口类型到用于调用w e b 服务的具体通信协议的一个映射。端 口类型由一组与服务提供者交换信息的操作组成,它支持对包含消息的数据类型 的定义。 一个完整的w s d l 服务描述是由一个服务接口和一个服务实现文档组成的。 由于服务接口表示服务的可重用定义,它在u d d i 注册中心被作为t m o d e 发 布。服务实现描述服务的实例。每个实例都是使用一个w s d l 服务元素定义的。 服务实现文档中的每个服务元素都被用于发布u d d i 商业服务。 因为w s o l 包含了对服务接口的完整描述,所以我们可以使用它来创建能简 化服务访问的存根,该存根为一段j a v a 代码,它自动生成了访问w e b 服务的类。 如果我们需要访问w e b 服务,只需调用该类中对应的方法即可,而不用在客户端 程序中再写入那些令人头疼的配置信息了。 2 5u d d i 简介 u d d i 即u n i v e r s a ld e s c r i p t i o n d is c o v e r ya n di n t e f f r a t i o r l 。它提供了 在w e b 上描述并发现商业服务的框架。u d d i 通过服务注册,以及使用s o a p 访问 这些注册倍息的约定来实现上述目标。 u d d i 计划的核心组件是u d d i 商业注册,它使用一个i m l 文档来描述企业及 其提供的w e b 服务。从概念上来说,u d d i 商业注册所提供的信息包含三个部分: ”白页“包括了地址,联系方法,和已知的企业标识;”黄页”包括了基于标准 分类法的行业类别:”绿页“则包括了关于该企业所提供的w e b 服务的技术信息, 其形式可能是一些指向文件或是u r l 的指针,而这些文件或u r l 是为服务发现机 制服务的。所有的u d d i 商业注册信息存储在u d d i 商业注册中心中。 借助x m l 和s o a p ,集成和交互的问题将从层次上被简化。x m l 提供了跨平 台的数据编码和组织方法,而s o a p 建立在x m l 之上,定义了一种跨系统平台的 信息交换的简单包装方法。绑定于h t t p 之上的s o a p 协议,可以跨语言、跨操作 系统进行远程过程调用( r p c ) ,实现了编程语言和系统平台的无关性。而以前的 凋用方式则和复杂的分布式对象标准或是中间件有密切的关系,从长期的眼光来 看,这些都不是高效的解决方案。x m l 和s o a p 这样的跨语言、跨平台的解决方 案大大简化了不同企业系统之间的交互问题。 但如果仅仅是x m l 和s o a p 的话,对于公司间的交流仍存在着巨大的鸿沟。 u d d i 规范在x 札和s o a p 的基础之上定义了新的一层,在这一层次,不同企业 可以用相同的方法描述自己所能提供的,并能查询对方所能提供的服务。 卜海大学硕士学位论文 互操作 议 图2 2 协议层次 图2 2 描述了这些协议的层次关系: u d d 注册使用的核心信息模型由x m ls c h e m a 定义。使用x m l 是因为它提 供了平台无关的数据描述并很自然的描述了数据的层次关系。而选择x m ls c h e m a 是因为它支持丰富的数据类型,便捷的描述方式及其按信息模型对数据进行验证 的能力。 u d d ix m ls c h e m a 定义了四种主要信息类型,它们是技术人员在需要使用合 作伙伴所提供的w e b 服务时必须了解的技术信息。它们是商业实体信息、服务 信息、绑定信息和服务调用规范的说明信息。 u d d l 程序员a p l 规范分为两个逻辑部分:查询a p i 和发布a p i 。查询a p i 又 分为两个部分:一部分被用来构造搜索和浏览u d d i 注册信息的程序,另一部分 在w e b 服务出现错误时使用。程序员可以利用发布a p i 创建各种类型的工具,以 直接与u d d i 注册中心进行交互,便于企业技术人员管理商业实体或t m o d e l 结 构的发布信息。 每一个独立发布的w e b 服务都是使用一个绑定模板结构来建模的。对这个 w e b 服务的调用通常通过缓存绑定模板数据来实现。注意到这一点后,在你准备 编写调用某种w e b 服务的程序时,该如何使用u d d i 就很清楚了。下面列出了基 本步骤: 1 ) 编写调用远程w e b 服务的程序时,程序员使用u d d i 商业注册中心,通 过使用w e b 晃面或其它基于查询a p i 的工具来定位商业实体信息,这些 信息是由提供该w e b 服务的企业注册的。 2 ) 程序员可以进一步获得更详细的商业服务信息,或是得到一个完整的商 业实体结构。因为商业实体结构包含了有关已发布的w e b 服务的所有信 息,因此程序员只需简单地选择一个绑定模版并保存留待以后使用。 3 ) 基于w e b 服务在绑定模板的t m o d e l 中提供的调用规范的相关信息,程 序员可以按照该w e b 服务的调用规范编写程序。 4 ) 在运行时,程序可以按需要使用已保存下来的绑定模版的信息来调用 w e b 服务。 一般说来,只要远程w e b 服务和调用它的程序都准确的实现了必要的接口, 对远程服务的调用就一定会成功。 上海大学硕士学位论文 2 6 服务集成,工作流 因为w e b 服务实现是一种软件模块,所以通过组建w e b 服务来产生w e b 服务 是很自然的。当一个企业需要集成来自多方的w e b 服务并为终端用户组织这些服 务时,必须掌握其系统的

温馨提示

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

评论

0/150

提交评论