(计算机应用技术专业论文)基于xml的工作流系统的设计和实现.pdf_第1页
(计算机应用技术专业论文)基于xml的工作流系统的设计和实现.pdf_第2页
(计算机应用技术专业论文)基于xml的工作流系统的设计和实现.pdf_第3页
(计算机应用技术专业论文)基于xml的工作流系统的设计和实现.pdf_第4页
(计算机应用技术专业论文)基于xml的工作流系统的设计和实现.pdf_第5页
已阅读5页,还剩74页未读 继续免费阅读

(计算机应用技术专业论文)基于xml的工作流系统的设计和实现.pdf.pdf 免费下载

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

文档简介

哈尔滨工程大学硕士学位论文 摘要 实施m i s 是企业信息化建设的一项重要措施,然而,传统m i s 已经不能 满足目f j 仃企业的需求。企业的模式在逐渐地由层次职能型转变为流程管理型, 企业业务流程经常变动,并且越来越复杂,传统m i s 己经不能很好地支持业 务重组、流程管理,本文设计并实现了一基于x m l 的工作流系统,利用其 集成企业m i s 功能部件,以满足企业流程多变的需要。 首先,本文介绍了工作流与x m l 技术,重点阐述了工作流系统的体系结 构和w e b 服务技术。 然后,提出了基于x m l 的工作流系统的体系结构,在流程建模部分,提 出利用p e t f i 网映射对流程模型数据进行一定处理后存入工作流模型库中;在 工作流系统内部数据交换上,提出利用x m l 来描述组织工作流系统数据, 并利用多线程技术实现系统内部数据交换的及时性与健壮性,保证系统调度 的正常进行。在工作流系统与企业m i s 功能部件的集成问题上,对功能部件 分门尉类,并且利用w e b 服务技术提出了一个统一的工作流系统应用集成方 案。 接着,结合基于x m l 的工作流系统的体系结构和当前的技术发展水平, 提出该系统的设计方案,并利用u m l 类图进行了描述;在设计方案的基础 上,提出了该系统的实现方案,并对x m l 处理器、任务管理器和应用接口 的实现过程进行了描述。 最后,对本文设计和实现的基于x m l 的工作流系统进行了总结。 关键词:工作流;m i s ;x m l ;w e b 服务 哈尔滨工程大学硕士学位论文 a b s t r a c t m i si sv e r yi m p o r t a n tt oe n t e r p r i s e sb u tt r a d i t i o n a lm i sc a n tm e e tt h en e e d o fe n t e r p r i s e st o d a y t h em o d e l so fo r g a n i z a t i o n si n e n t e r p r i s e ss h i f t i n gf r o m h i e r a r c h i c a la n df u n c t i o n a lt o p r o c e s s c e n t e r e d ,p r o c e s s o f t e n v e r i f y i n g a n d p r o c e s sb e c o m i n g m o r ea n dm o r e c o m p l e x ,t r a d i t i o n a lm i s n o t s u p p o r t i n gb p r , s oax m l b a s e dw o r k f l o ws y s t e mi sd e s i g n e da n di m p l e m e n t e di nt h i st h e s i st o f u l f i l lt h en e e d so ft h ef r e q u e n tc h a n g e so fw o r kf l o wi ne n t e r p r i s e s f i r s t ,as u r v e y o fw o r k f l o wa n dx m li s g i v e n t h e a r c h i t e c t u r eo fa w o r k f l o ws y s t e ma n dw e bs e r v i c e st e c h n o l o g ya r ee m p h a s i z e d s e c o n d ,t h i st h e s i sp r o p o s e st h ea r c h i t e t u r eo ft h ex m l b a s e dw o r k f l o w s y s t e m a sf o rp r o c e s sm o d e l i n g ,p e t r i n e t m a p p i n gi su s e d t op r o c e s st h ed a t ao f t h ed e f i n e d p r o c e s sb e f o r ew h i c hi ss a v e di np r o c e s sm o d e lw a r e h o u s e ;a sf o r i n n e rd a t ae x c h a n g eo fw o r k f l o ws y s t e m ,x m li sb r o u g h to u tt od e s c r i b ea n d o r g n i z e t h ed a t ao f w o r k f l o wm o d e l s ,a n dm u l t i p l et h r e a d st e c h n o l o g yi sg i v e nt o g u a r a n t e e t h a tt h ei n n e rd a t ao ft h e s y s t e m c o u l db et r a n f e r r e dr a p i d l ya n d a c c u r a t l yt om a k et h es y s t e mr u np r o p e r l y ;a sf o r t h ei n t e g r a t i o no fw o r k f i o w s y s t e ma n dm i s f u n c t i o oc o m p o n e n t s ,t h ec o m p o n e n t sa r es o r t e da n da l lu n i f i e d s o l u t i o nb a s e do nw e bs e r v i c e st e c h n o l o g yi sb r o u g h to u t i nt h ef o l l o w i n g ,t h ed e s i g ns o l u t i o no f t h i sw o r k f l o ws y s t e mi sg i v e nb a s e d o nt h es y s t e ma r c h i t e c t u r ea n dn o w a d a y st e c h n o l o g yd e v e l o p i n gl e v e l s ,t h e s o l u t i o ni sa l s od e s c r i b e du s i n gu m lc l a s sg r a p h i c ;o nt h eb a s i so ft h ed e s i g n s o l u t i o n ,t h ei m p l e m e n t a t i o ns o l u t i o ni sp r o p o s e da n dt h ei m p l e m e n t i n gp r o c e s s e s o f x m l p r o c e s s o r ,t a s km a n a g e r a n d a p p l i c a t i o ni n t e r f a c ea r ed e s c r i b e d f i n a l l y , t h i s t h e s i sm a k e sac o n c l u s i o na b o u tt h ex m l - b a s e dw o r k f l o w s y s t e md e s i g n e da n di m p l e m e n t e d i nt h i st h e s i s k e y w o r d :w o r k f l o w ;m a n a g e m e n t i n f o r m a t i o ns y s t e m ;e x t e n s i b l em a r k e dl a n g u a g e ; w e bs e r v i c e s 哈尔滨工程大学硕士学位论文 1 1 课题背景 第1 章绪论 近几年,越来越多的企业开始认识到需要有支持设计和执行业务处理流 程的高级工具,业务流程问题成为目前m i s 系统丌发中的突出问题,m i s 系 统需要实现对工作流程的定制和控制的支持,以支持业务流程的灵活变化。 产生这些需求的原因主要有四个: 企业模式的变化。企业组织模式逐渐地由传统的层次职能型转变为 流程管理型,业务流程决定着工作组织。 组织机构内部的业务流程数量比以前大大增加。如今的组织机构比 以前提供更多的产品和职务,并且产品和服务的生命周期也比以前 大大缩短了,从而使业务流程的数量也急剧增加。 为了适应激烈的市场竞争。满足市场的变动,组织机构需要经常改 变业务处理流程。 业务处理流程变得更加复杂m 。 鉴于以上几点,传统的m i s 已经不能满足企业业务发展的需要,逐渐地 暴露出它自身的缺陷,主要有以下三点: m i s 对企业业务的流转不能提供理论上的处理模式,各个子系统和功 能模块之间缺少协调,需要人为地定时处理各种信息,业务处理的及 时性差,因而业务的处理效率下降。 系统开发成功投入运行后,业务处理流程被“固化”下来,如想对 业务流程稍做改动,就要修改程序的结构,需要投入大量的维护费 用,往往导致系统运行一段时问后就被放弃了。 网络环境下m i s 提供的多用户支持功能仍然局限于数据的共享上, 不支持多用户之间灵活的通讯和交流,而目前企业的运作需要团队 协作、面向顾客,必然要求员工之间多方面、多方式、多角度的合 哈尔滨工程大学硕士学位论文 作和交流。 以上m i s 的不足可用工作流技术的优势来弥补。 将工作流技术应用到m i s 中去,可以给m i s 带来新的活力,具体体现 如下: 工作流分离应用逻辑和流程逻辑,可以通过修改流程模型改变系统功 能,以适应企业的业务流程重组,可以提高软件重用率,增强系统的 灵活性和可适应性。 工作流对业务流程的管理功能,可以实现企业生产经营的控制决策支 持,做到“在适当的时间将适当的信息传送给适当的角色”。 流程管理系统将业务的流转规则提取出来,就可以形成企业业务的流 转框架,使得可以将精力集中于企业业务实现的开发。 工作流技术将企业中的业务流程流转起来,解决了企业中各种应用系 统各自独立的问题,实现相关i t 系统的整合,从而实现企业战略目 标。 因此,考虑实现一工作流系统,利用其集成企业业务功能组件,实现企 业m i s 中流程的灵活定义、修改和控制。但是,目前全球范围内的工作流技 术仍滞留在标准的统一阶段,由于工作流的应用领域的复杂性,在没有出现 一种划时代意义的新技术之前,不可能有一种统一的解决方案。现在己实现 的工作流系统大都苛求为尽可能多的应用领域提供解决方案,但往往事与愿 违。本课题就是在这样的背景下产生的,旨在利用x m l 设计出适合当前国 内企业m i s 应用现状的工作流系统,满足企业业务流程灵活变化的需要,而 不可求大而全。 1 2 本文所做的工作 本文所做的工作主要有以下几点: 1 阐述了工作流技术的理论和相关发展,并介绍了x m l 及相关技术。 2 ,分析了基于x m l 的工作流系统的体系结构。 3 分析了工作流系统应用集成问题的复杂性,利用w e b 服务技术给出 了完善的解决方案。 2 哈尔滨工程大学硕士学位论文 4 在分析工作流系统体系结构的基础上,利用面向对象软件工程思想 设计出该系统的实现方案。 5 将j a v a 、x m l 技术及w e b 服务技术应用到系统的开发过程中,利 用j a v a 开发系统,利用x m l 描述组织系统信息,利用w e b 服务实 现应用的无缝集成,从而实现该系统的平台无关性、应用无关性以及 可扩展性。 1 3 本文结构和组织 全文共分五章。第一章是绪论,第二章是相关技术综述,第三章是基于 x m l 的工作流系统的体系结构,第四章是基于x m l 的工作流系统的设计方 案,第五章是基于x m l 的工作流系统的实现。具体的结构为: 第一章绪论。 介绍本文的研究背景、意义、主要内容以及结构组织。 第二章相关技术综述。 本章阐述文中涉及到的工作流技术及工作流系统中的一些基本理论和相 关的研究工作,也对工具中大量使用的x m l 技术进行了介绍,并介绍了w e b 服务技术的技术特点。 第三章基于x m l 的工作流系统体系结构。 从流程建模、工作流执行服务、通信机制、工作节点以及工作流系统应 用集成五个方面介绍了工作流系统体系结构,提出利用x m l 组织工作流系 统中的系统数据,利用w e b 服务技术实现特殊情形下的工作流系统应用集 成。 第四章基于x m l 的工作流系统的设计。 提出基于x m l 的工作流系统的设计方案。从流程建模工具工作流管理 系统及工作流接口三个方面对设计方案进行了详细论述。 第五章基于x m l 的工作流系统的实现 重点阐述了系统的实现方案,并从x m l 处理器、任务处理器和应用接口 的实现三个方面详细描述了系统的实现过程。 哈尔滨工程大学硕士学位论文 2 1 工作流技术 第2 章相关技术综述 2 1 1 工作流基本概念 目前对工作流没有完全统一的定义。对工作流的不同理解形成了对它不 同的定义,几个有代表性的描述分别是工作流管理联盟( w f m c ) 、g i g a g r o u p 、i b m a l m a d e n r e s e a r c h 、a m i ts h e t h 和w m p v a n d e r a a l s t 列它的 定义嘲。 w f m c 发布的w f m cg l o s s a r y ( w f m c t c 1 0 1 1 ) 中对工作流相关名词 的定义如下: w o r l f l o w 工作流:业务流程的整体或部分自动化,在这其中,文档、 信息或任务根据一组业务规则在参与者之间传递并被处理。 w o r k f l o wm a n a g e m e n ts y s t e m 工作流管理系统:利用软件定义工作 流、创建工作流和管理工作流执行的系统,运行在一个或多个工作流 引擎上,工作流引擎能够解释工作流的定义、和工作流参与者交互并 能在需要时触发i t 工具和应用系统。 b u s i n e s sp r o c e s s 业务流程:一组相关的过程或活动,它们共同体现 了企业目标或策略目标,一般是在组织结构环境下根据功能决定各自 的地位和相互的关系。 p r o c e s sd e f i n i t i o n 流程定义:业务流程的形式化表示,支持自动操作 ( 例如建模或工作流管理系统的执行) 。流程的描述是由活动和活动 之问的关系、指明流程开始和结束的规则、单个活动的信息( 例如参 与者) 、相关的i t 应用程序和数据等组成的网络。 a c t i v i t ! ,活动:完成流程中一个逻辑步骤的工作的描述。一个活动可 4 哈尔滨工程大学硕士学位论文 以是手工活动( 不支持计算机自动化) 或者工作流活动( 自动化) 。 工作流活动要求人员或机器资源来支持流程的执行;当一个活动被分 配给工作流参与者时就需要人员资源。 a u t o m a t e d a c t i v i t y 自动活动:能用计算机自动处理的活动,在 涉及它的业务流程被执行时直接 _ = | 工作流管理系统来管理。 m a n u a l a c t i v i t y 手工活动:在业务流程中不支持自动执行而依赖 工作流管理系统以外环境的活动。这类活动在流程定义中可被包括 进来( 例如流程建模) ,但不能由工作流管理系统执行。 n s t a n c e 实例:一个流程、活动及其相关数据的单个执行表示。每个 实例表示流程或活动执行的一个独立线程,实例之间互不相干,有自 己的内部状态和外部可视的标示符,可用作一个句柄,例如可记录或 查询关于这个单独执行的审计数据。 p r o c e s si n s t a n c e 流程实例:一个流程的单个执行的表示。 a c t i v i t yi n s t a n c e 活动实例:在一个流程实例中一个活动的表示。 w o r k f l o w p a r t i c i p a n t 工作流参与者:执行工作流活动实例要完成的 工作的资源。一项工作通常是分为多个工作项通过工作列表分配给参 与者。 w o r ki t e m 工作项:对一个工作流参与者来讲,一个活动中要处理的 工作。 w o r k l i s t 工作列表:关于工作流参与者的工作项列表( 在一些情况 下,关于一组共享一个公用工作列表的工作流参与者的工作项列表) , 这个工作列表构成了工作流引擎和工作列表处理器之间接口的一部 分。 w o r i s th a n d l e r 工作列表管理器:管理用户( 用户组) 和工作流 引擎维护的工作列表之间的软件组件。它使得工作项从工作流管理系 统传送到用户,并在用户和工作流管理系统之间传送“完成”或其它 工作状态条件i ”。 哈尔滨工程大学硕士学位论文 2 1 2 工作流起源与发展 工作流的发展经历了三个阶段: 第一阶段:早期的:亡作流系统,应用于某些特定领域( 比如图形、文档、 表单等c s c w 领域) ,是相对独立的应用系统,始于8 0 年代中期。 在这个阶段,由单纯的解决企业日常表单、文档等的电子化与自动化转 移到简化和重组企业的关键业务流程。可以看出早期的工作流系统就是以面 向过程的系统集成技术出现的。 第二阶段:具有底层的通信基础结构,能够实现任务协作的应用系统( 比 如具有消息传递功能的工作流系统) 。 从9 0 年代开始,企业越来越突出的信息资源的异构、分布、松散耦合性, 部门职能的分散性,决策制定的分散性,说明集中式信息处理的时代结束了, 而大规模的异构分布式环境、相关联的任务高效运转并接受监控等需求提到 日程上来。工作流管理系统由最初的无纸办公、协同工作转为结合企业复杂 信息环境实现业务流程自动执行的工具。 第三阶段:具有图形用户界面的流程定义工具、用户定义和任务执行完 全分离的工作流系统。 随着现代企业从传统的以职能为基础的组织结构和运作机制转变为以流 程为中心的信息集成,工作流管理系统要满足企业业务重组的需求。 2 1 3 工作流研究现状 1 工作流研究机构及研究项目 目前国际上有关工作流的管理组织有: 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 ) , a i i m ( a s s o c i a t i o nf o ri n f o r m a t i o na n di m a g em a n a g e m e n t ) , w a r i a ( t h ew o r k f l o wa n dr e e n g i n e e r i n gi n t e r n a t i o n a la s s o c i a t i o n ) 4 1 等。 其中,w f m c ( 工作流管理联盟) 对工作流理论的研究和应用开发颇有 影响,它是推行工作流管理规范化的非盈利性组织,于1 9 9 3 年在欧洲成立。 哈尔滨工程大学硕士学位论文 该组织制订了工作流的相关标准和规范。目前我国国内还没有统的组织负 责工作流规范制定和研究的组织结构,但浙江大学、清华大学、国防科技大 学、上海交通大学等高校做了一定的研究工作吲。 有关工作流的研究项目主要有: e x o t i c a ( h t r p :w w w a l m a d e n i b m c o m c s e x o t i c “) :i b ma l m a d e n 研究 中心的项目,主要研究可扩展的分布式工作流、事务通讯、移动计 算、交替存储、混合工作流等,其大部分工作是建立在已有产品 f l o w m a r k 、l o t u sn o t e s 、m q s e f i e s 的基础上。 m e n t o r ( h t t p :w w w d b sc s u n i s b d e ) :瑞士联合银行与德国 s a a r l a n g 大学的合作项目,主要研究基于状态和行为图表的工作流 描述、协议验证和分布执行。 m e t e o r ( h 郇:l s d i s c s u g a e d u w o r k f l o w ) :美国g e o r g i a 大学的研 究项目,研制出的o r b w o r k 原型系统将利用c o r b a 进行部件间的 通讯,实现分布式工作流核一心引擎的服务框架。部分工作是以医疗 保健为背景开展的。 m o b i l e ( h t t p :w w w 6 i n f o r m a t i k u n i 。e r l a n g e n 。d e ) :德国e r l a n g e n 大学的研究项目,力图建立组件方式构造的w f m s ,以满足系统的可 扩展性。 w i d e ( h t t p :d i s s e m ae s p r o j e c t w l d e ) :欧洲的研究项目,由米兰 的p o l i t e c h n i c 、s e m a 工作组、i n g 银行、m a n r e s a 医院和t w e n t e 大 学多方联合主持,力图把分布式、激活数据库技术引入到工作流领 域来,将在s e m a 产品f o r o 的基础上实现。 p a n t ar h e i ( h t t p :w w w , i f i u n i k l u a c a t - h e r b w o r k f l o w h t m l ) :奥地利 k l a g e n f u r t 大学的研究项目,他们的原型系统支持i n t e r n e t 和高级 事务的概念,其体系结构是基于w e b 技术,采用j a v a 实现。 2 :亡作流研究热点 目前,工作流管理领域的研究热点和趋势主要集中于: 工作流流程建模:包括工作流流程模型和流程描述语言方面的研究, 前者是对业务流程的计算化描述,概括了实现流程所需的各种必要 信息:流程开始和结束条件、组成该流程的各个步骤、步骤间的信 7 哈尔滨工程大学硕士学位论文 息传递规则以及所需调用的应用工具等。模型一般通过文本或图形 化的流程描述语言来表现。目前,已提出了许多具体的模型和描述 语言,有待迸一步统一,w f m c 在规范化方面起了很大的作用。此 外,基于各种形式化工具,对工作流模型性能进行分析和评价,也 是建模过程中很关键的一环。 基于w e b 的工作流:随着w w w 的迅猛发展和普及,许多w f m s 产品开始支持各种各样基于w e b 的应用。支持w e b 的优势不仅在于 不需要安装特定的客户端软件,而且便于系统资源的统一管理。目 前的产品还仅限于允许在浏览器中初始化和控制工作流。随着将来 更多技术的支持,在i n t e m e t 上包含多个w e b i 作流服务器的跨企 业的工作流系统必将成为现实。 工作流管理中的移动计算:目前w f m s 的体系结构大都集中于 c l i e n t s e r v e r 模式,客户与服务器问的实时连接、频繁交互势必造成 网络拥塞和资源瓶颈。支持移动计算的分布环境就在这种背景下提 出:移动客户只需周期性地与工作流服务器建立连接,接受工作任 务或提交工作结果,从而减轻系统和网络的负荷,极大地提高远程 办公的效率。m u l t i a g e n t 、m o b i l ea g e n t 技术为工作流管理的移动 计算提供了强有力的支持。 分布式工作流:工作流管理系统从支持单个工作组环境开始,现在 逐步提高到企业级的功能需求。这样,单个工作流程就要允许跨越 广域网上的多个服务器利客户端,通过并行计算、资源共享、分布 操作使其可扩展性、可管理性得以充分体现。然而,随之雨来的是 需考虑分布式系统的安全性和可互操作性。 工作流互操作:互操作的研究主要包括工作流模型的互操作和工作 流系统的互操作两方面的研究。微观层的模型互操作包括研究单个 模型内或多个模型间的活动可互操作性,以及如何检测、分析产生 的冲突,并提供可行的解决方案;宏观层的系统互操作则包括系统 内部协议定义、程序接口、数据共享的可互操作,以及工作流系统 如何嵌入到其它业务系统中或如何实现与其它异构系统的连接。工 作流互操作是工作流管理技术目前研究中的一大难点。 r 哈尔滨工程大学硕士学位论文 工作流事务管理:事务管理是数据库技术中的一个重要概念。每个 事务具有a c i d 特性( a t o m i c 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 ) , 事务管理充分保证了数据操作、数据存储、系统管理的正确性、可 靠性和可管理性。在工作流领域中般性的事务不能满足需要, 这就出现了高级事务模型,但现有的工作流产晶还不能明显地支持 这种事务t m 。 3 工作流管理系统分类 工作流管理系统,根据不同的角度可以有多种划分方法,本文从广义的 角度和底层实现技术的角度对其进行分析。 1 广义 二讲,工作流管理系统分为四种: 计算机支持协同工作 s c w ) : 商用工作流管理系统( 群件) ; 尚用事务管理系统; 事务性工作流管理系统; 2 按照底层实现技术的不同,将工作流系统分为以下四种; ( 1 ) 基于共享文档库的工作流系统:依赖于文档流转的思想,与外部应 用的交互受限,适应于管理工作流。产品有:f i l e n e t 的v i s u a lw o r k f l o 、i b m 的f l o w m a r k 、i n c o n c e r t 的i n c o n c e r t 。 ( 2 ) 基于消息传递的工作流系统:通过电子邮件实现。产品有:n o v e l l 和f i l e n e t 联合开发的e n s e m b l e 、j e t f o r m 的i n t e m p o 、k e y f i l e 的k e y f l o w 。 ( 3 ) 基于w e b 的工作流系统:通过w w w 实现任务的协作,始于1 9 9 5 年, 具有这方面功能的产品有:a c t i o n t e c h n o l o g i e s 的a c t i o n w o r k s m e t r o 、u l t i m u s 的u l t i m u s 。 ( 4 ) 基于数据库的工作流:它实现自己的通讯机制,在底层数据库的基 础上提供了大量与传统和新应用的接口,又称为过程型工作流州。 4 工作流管理软件产品 伴随着工作流技术的发展,每个时期都有一定的工作流产品。目前比较 流行的工作流产品有:1 b m 公司的m q s e r i e s w o r k f l o w 、a c t i o n 公司的m e t r o 、 f i l e n e t 公司的v i s u a lw o r k f l o 、j e t f o m r 公司的i n t e m p o 和p a v o n e 公司的 e s p r e s s o 等吼 9 哈尔滨工程大学硕士学位论文 一般性的工作流管理软件产品都具有以下三方面的功能: ( 1 ) 构建阶段的功能:对工作流流程以及组成它的活动进行定义和建模。 ( 2 ) 运行阶段的控制功能:对工作流运行进行管理,以及对每个工作流 流程中的任务进行调度。 ( 3 ) 运行阶段与用户和i t 应用工具之间的交互作用h i 。 各个功能之间的联系如图2 1 。 图2 1 工作流管理软件3 方面功能 21 4 工作流系统体系结构 1 工作流参考模型 各个研究机构提出工作流系统体系结构各不相同,而w f m c 提出的工作 流参考模型( w o r k f l o wr e f e r e n c em o d e l ) 成为各个机构参考的依据,如图 2 2 。 ( 1 ) w o r r f l o we n g i n e 工作流引擎 负责工作流执行服务中部分或全部运行控制。主要功能有: 1 ) 解释流程定义。 2 ) 控制流程实例创建、激活、暂停、终止流程实例。 3 ) 维护工作流控制数据和相关数据,为用户和应用程序传递数据。 4 ) 在流程活动之间“导航”,包括串行或并行操作、最终期限调度、工 作流相关数据解释等。 1 n ; 堕玺鎏三堡尘耋堡圭兰堡篁奎 5 ) 识别用户相关工作项,引导和安排流程活动。 6 ) 特定参与者的登录与注销。 7 ) 激活外部应用。 8 ) 监视活动:控制、监视、管理。 图2 2 矾t m c 提出的工作流参考模型 ( 2 ) w o r k f l o we n a c t m e n ts e r v i c e s 工作流执行服务 提供了由一个或多个工作流引擎组成的运行环境,负责流程的实例化或 激活,根据相关的数据生成流程活动导航,与必要的外部资源交互从而解释 和激活某些流程定义。其中交互功能要用到的接口: c l i e n t a p p l i c a t i o ni n t e r f a c e 客户应用接口 与工作列表处理器相作用,选择和提升工作项,在最终用户和工作列表 的控制下激活应用程序。 i n v o k e d a p p l i c a t i o ni n t e r f a c e 触发应用接口 使工作流引擎直接激活一个特定的工具进行特定的活动,特别是基于服 务器无用户参与的应用。 1 作流执行服务中流程的执行条件往往是外部事件( 如活动完成) 或者 工作流引擎的控制( 如流程系列中下一步活动的引导) 。 ( 3 ) p r o c e s sd e f i n i t i o n 流程定义 流程定义就是对业务流程进行分析、建模、描述和记录,其输出能被 w o r k f l o we n g i n e s 解释。 流程定义i o 接口使流程定义和运行环境相分离,工作流建模独立于工 1 1 哈尔滨工程大学硕士学位论文 作流产品的选择,流程定义接口如图2 3 。 为了在不同的模型间相互转换,应该采用标准的流程定义语言。在此过 程中,应用系统的功能模块和相应的初始化工作要进行。 图2 3 流程定义接口 ( 4 ) a d m i n i s t r a t i o n m o n i t o r i n g 系统管理和监控: 监控流转过程:通过对流转过程和调度器中工作节点的登录、执行、调 度信息的访问,实现对系统的监控,进而可以改变系统流程、节点权值和状 态,终止流程句柄,发出催办通知等。 审计功能:新建、查询、删除跟踪和事件日志。 用户管理:创建、删除、修改用户、工作组、角色。 资源控制:控刹活动的并发层次,设置资源的访问和使用。 2 工作流产品的实现模型 目前市场t 的工作流产品很多,每个产品都有自己的产品结构。但是它 们都有一些共同之处,将这些产品的功能部件提取出来,形成一个通用的实 现模型,基本上如w f m c 提出的工作流系统实现模型,如图2 4 。 这个一般性工作流系统实现模型包含着三种类型的组件: ( 1 1 为工作流系统提供各项功能的软件组件( 黑框表示) 。 f 2 ) 各种系统定义和控制数据,可被一个或多个软件组件利用( 白框表示) 。 f 3 1 应用和应用数据库,不是工作流系统一部分,但可被其调用( 灰框表示) 。 12 哈尔滨工程大学硕士学位论文 下面对工作流系统实现模型的各个部分做简单的介绍: 流程建模 流程建模包含着工作流执行服务执行流程时所需要的所有信息。这些信 息有:流程开始和结束的条件、流程包含的任务和规则,对应用的引用信息, 工作流相关数据的定义等。 流程建模需要组织角色模型,而组织角色模型包含着企业的组织结构 和工作人员的角色信息。这样建模时就可以将任务映射到组织模型中的角色 中去,而不是对应到具体的参与者。工作流执行服务运行时就可以根据这些 信息将任务分配给具体的参与者。 图2 4w f m c 提出的工作流系统实现模型 工作流执行服务 工作流执行服务解释流程定义,控制流程实例、任务的流转顺序,将工 1 3 哈尔浜工程大学硕士学位论文 作任务添加到用户任务列表中,触发应用。工作流执行服务可以由一个或多 个工作流引擎组成。 工作流执行服务维护着一个或多个工作流引擎中的内部控制数据。这姥 内部控制数据是有关各个流程和任务实例的内邮状态信息以及检查点信息、 恢复和重肩信息。 工作流引擎具有触发应用工具的能力,以便在需要的时候执行特殊的任 务。这种触发接口,不同的工作流系统往往差别很大,从提供简单的工具如 文档编辑器到一系列的高级应用工具( 本地或者远程的) 。 工作流相关数据和应用数据 流程导航的决策,以及工作流引擎上的其他一些控制操作,都是要基于工 作流应用程序产生或修改过的数据,而这些唯一能够被工作流引擎存取的应 用数据,就称为“工作流相关数据”。“工作流应用数据”则是直接由调用的 应用来处理,尽管有时工作流引擎也负责在应用间传递这类数据,例如当不 同应用在工作流程的不同活动点被调用的时候。 工作任务列表 在工作流执行过程中,用户交互是非常必要的。工作流引擎把工作项放 入工作任务列表后,就把任务处理权移交给了工作列表处理器,由它负责管 理与参与者间的交互。这个处理过程列于参与者也许是不可见的,因为呈现 在用广面前的仅是下一步要处理的那个工作任务。而在另一类系统中,工作 任务列表或许是可见的,用户有权利从列表中选取某个任务执行,同时列表 还会显示有关各项任务的完成信息。 工作列表处理器和用户接口 工作列表处理器是一个软构件,主要负责管理参与者和工作流执行服务 之间的交互。它通过操作工作列表来实现向用户提交任务,以及与工作流服 务的交互。在某些系统中,它只不过是一个提供工作任务组的桌面应用,而 在另外一些系统中,它可能相当复杂:需要控制用户之间的工作任务分配, 以实现用户的负载平衡和任务再分配。 用户接口负责表现用户对话的视觉和感官效果,控制用户的本地操作界 面。在一些系统中,它与工作列表处理者将合并成一个单一的功能实体m ,。 哈尔滨工程大学硕士学位论文 2 2x m l 及相关技术 2 2 1 x m l 语言 1 x m l 概述 x m l ( e x t e n s i b l em a r k u pl a n g u a g e ,可扩展置标语言) ,是从s g m l 和 h t m l 发展而来的,这两个语言都是非常成功的置标语言,但是它们都在某 些方面存在着与生俱来的缺陷。 s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ) 的全称是标准通用置标 语言,它为语法置标提供了异常强大的工具,同时具有极好的扩展性,因此 在分类和索引数据中非常有用。但是s g m l 非常复杂,并且价格昂贵,几 个主要的浏览器厂商都明确拒绝支持s g m l ,使s g m l 在网上传播遇到了很 大障碍。 相反,超文本置标语言h t m l ( h y p e r t e x tm a r k u p l a n g u a g e ) 免费、简单,在世界范围内得到了广泛的应用。它侧重于主页表 现形式的描述,大大丰富了主页的视觉、听觉效果,为推动w w w 的蓬勃发 展、推动信息和知识的网上交流发挥了不可取代的作用。可是,h t m l 也有 如下几个致命的弱点,这些弱点逐渐成为h t m l 继续发展应用的障碍。 ( 1 ) h t m l 是专门为描述主页的表现形式而设计的,它疏于对信息语 义及其内部结构的描述,不能适应日益增多的信息检索要求和存 档要求。 ( 2 ) h t m l 对表现形式的描述能力实际上也还非常不够,它无法描 述矢量图形、科技符号和一些其它的特殊显示效果。 ( 3 ) h t m l 的标记集日益臃肿,而其松散的语法要求使得文档结构 混乱而缺乏条理,导致浏览器的设计越来越复杂,降低了浏览的 时间效率与空间效率。 正因为如此,1 9 9 6 年人们开始致力于描述一种置标语言,它既具有 s g m l 的强大功能和可扩展性,同时又具有h t m l 的简单性。x m l 就是这 堕玺鋈三堡銮兰堡圭芏:簦鲨苎 样诞牛的。 x m l 是由w 3 c 于1 9 9 8 年2 月发布的一种标准。它是s g m l 的一+ 个简 化子集,它将s g m l 的丰富功能与h t m l 的易用性结合到w e b 的应用中, 以一种开放的自我描述方式定义了数据结构,在描述数据内容的同时能突出 对结构的描述,从而体现出数据之间的关系。这样所组织的数据对于应用程 序和用户都是友好的、可操作的【n ,。 正象s g m l 和h t m l 一样,可扩展置标语言x m l 也是一种置标语言, 它通过在数据中加入附加信息的方式来描述结构化数据。不过,x m l 并非象 h t m l 那样,只提供一组事先已经定义好的标记。准确地说,它是一种元置 标语言,允许程序开发人员根据它所提供的规则,制定各种各样的置标语言。 在x m l 中,置标的语法是通过文档类型定义d t d ( d o c u m e n tt y p e d e f i n i t i o n ) 或者x m ls c h e m a 来描述的,也就是说,通过二者来描述什么是 有效的标记,并进一步定义置标语言的结构。除了定义置标的语法外,为了 明确各个标记的含义,x m l 还使用与之相连的样式单( s t y l es h e e t ) 来向应 用程序,比如浏览器,提供如何处理显示的指示说明。一言以蔽之,x m l 是通过数据文档、d t d 或者x m ls c h e m a 、样式单三个分离的部分来描述数 据的。 2 d t d 与x m ls c h e m a d t d ( d o c u m e n tt y p ed e f i n i t i o n ,文件类型定义) ,用来规范x m l 文档 的格式定义,它定义了文件中的元素能用什么名字,能放在什么位置,应该 怎样组合。d t d 是x m l 技术出现早期定义的一种文件类型定义技术,它使 用了。套与x m l 的标记语法不兼容的语法一,不太容易理解,并且对数据 类型的支持过少,所支持的结构定义灵活性也较低,为了克服d t d 的这些 缺点,w 3 c 提出了x m ls c h e m a l “】,x m ls c h e m a 也是一个用来验证x m l 文件的验证语法,它本身就是一个w e l l - f o r m e dx m l 文档,而不像d t d 那 样采用另一套语法,并且它支持的数据类型比较多,在结构定义的灵活性上 也远远超过了d t d ,因此,当前常用的x m l 文档定义技术是x m l s c h e m a 。 概括起来,两者的主要区别如下: x m ls c h e m a 支持丰富的数据类型,完全能够满足网络应用特别是电 子商务的需求,而d t d 不支持元素的数据类型,对于属性的类型定 16 哈尔滨丁程大学硕士学位论文 义也很有限; x m l s c h e m a 支持命名空间机制,d t d 不支持: x m l s c h e m a 可以针对不同情况分别对整个x m l 文档或者是文档局 部进行验证,而d t d 缺乏这种灵活性; x m l s c h e m a 的语法完全遵循x m l 规范,可以和d o m 技术结合使 用,功能强大,而d t d 语法自成一体,比较难以学习。 3 x m l 文档处理组件 作为一种流行的信息描述与组织技术,x m l 在越来越多的应用领域发挥 了很大的作用,很多组织和厂商实现了x m l 文档的处理组件,目前常用的 处理组件丰要有s a x 、d o m 、j d o m 、c a s t o r 四种 1 5 1 。 s a x ( s i m p l e a p if o r x m l ) ,s a x 是一种轻量型的方法,它是事件驱动 的,所渭事件驱动,是指一种基于回调( c a l l b a c k ) 机制的程序运行方法。 s a x 定义了一系列的事件,这些事件在x m l 解析器读入x m l 文档的过程 中触发,程序员需要为每一个事件编写事件处理程序,来完成自己所要完成 的解析功能。这种方法看起来比较简单,但实现起来比较复杂,并且与j a 、,a 的结合也不太好,具体操作起来也不是很方便。 d o m ( d o c u m e n to b j e c tm o d e l ) ,是一个重量级的方法,它的做法是把 整个x m l 文档读入内存,然后在内存中按照x m l 文档的结构生成一个x m l 文档树,对于x m l 文档的操作其实就是对x m l 文档树中各个节点( 分支节 点与叶子节点) 的操作,这种方法比较简单,但因为要在内存中生成一个x m l 文档树,所以对内存的消耗非常大,经常出现内存溢出的情况。 j d o m ( j a 、,a d o m ) ,是d o m 的纯j a v a 的实现,它用j a 、俄语言重写 了x m l 文档解析器,在内部实现时,它采用的是s a x 的方法,但给程序员 提供了类似于d o m 的操作接口,并且它简单的把x m l 文档中的每一个元 素都映射为一些特定的对象,便于对x m l 文档进行方便、快捷的操作。这 种方法对内存的消耗不大,并且效率也比较高

温馨提示

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

评论

0/150

提交评论