2012-04-13 10:45:08 来源:万方数据
3 工作流管理系统体系结构
先进的工作流管理系统的一项重要特征是在设计和实现阶段始终以允许系统进化的思想为基本理念。为此工作流管理系统采用了较为典型的三层结构模式,包括客户层(界面层),中间层(逻辑层)和数据层。工作流管理系统的逻辑结构如图2所示。
图2 工作流平台系统逻辑结构图
要实现企业经营过程的快速重组,企业的应用系统需要按照组件的方式构建或改造。采用组件化的系统设计和面向对象的工作流模型,业务处理模块、流程模板定制模块、管理监控模块、组织管理模块等都可以独自定制和重用,使它们能快速适应在不同领域中的应用。[page] 进行业务处理的客户端以浏览器(Browser)为实现方式,在未来企业工作流的参与者不仅包括企业的决策者和员工,还将包括企业的供应商、客户、以及供应链上的其他合作伙伴,他们不仅在地理上是分布的,使用着不同的平台,并且各自有着自己的工作方式和时间安排。这些参与者将通过访问共同的工作流组成虚拟工作组,由工作流管理系统负责管理。采用web可以方便客户在企业内部(如工作室)或企业外部(如家中、旅途中)通过HTTP协议访问工作流引擎,提供一种跨平台的、一致的、简单的数据访问方式,实现瘦客户端的访问。流程模板定制模块以应用程序客户端的方式实现,但是对于定义好的流程模板,我们也可以通过浏览器的方式,通过HTTP协议访问工作流引擎,提交流程模板信息,由工作流引擎解释导入到数据库中。
管理监控模块以应用程序客户端的形式实现,可通过HTTP协议对工作流引擎进行访问,获取流程的状态等信息,同时可以向工作流引擎提出请求,对流程状态进行改变;组织管理模块实现也为应用程序客户端,可通过HTTP协议访问组织机构服务器,实现对组织结构以及岗位人员的管理与操作。中间层由工作流引擎和组织结构服务器组成。在流程运行中,工作流引擎在解释工作流模板时访问组织机构服务器来获取工作流参与者的信息,将工作流与用户结合起来。中间层的作用屏蔽了客户端对数据库的直接访问,由中间层来统一对数据层进行访问操作,降低各层间的耦合度。
参考工作流参考模型以及系统逻辑结构的设计思想,实际应用中的各功能模块之间的交互关系如图3所示。
图3 系统功能模块交互图
组织管理模块定义的是企业的组织结构,包括对人员、岗位、角色的操作和授权控制,定义的结果存储在“组织模型库”中。当用户登录时,进行用户合法性的效验;同时该模块也为引擎模块提供参与者信息。
流程模板定制模块负责业务流程的计算机实现过程,引用组织管理模块,指定与各个活动相关的参与者,借助工作流引擎的解释将流程信息保存到流程模板库中。同样的,流程模板定制模块也可借助工作流引擎的解释从流程模板库(或者流程模板文件)中读入模板信息,进行流程修改后保存到流程模板库中(或者流程模板文件)。
引擎模块解释流程模板,控制工作流流程实例及活动实例(任务)的创建、激活、挂起、终止、结束;通过对引擎数据库中各对象属性信息的读写操作,从而对流程的运行进行控制和对相关资源的调配。引擎对流程进行解释完后,根据运行情况创建流程实例,按照流程模板定义,生成任务实例,并过滤出手动实现的任务实例,将其放入工作流任务列表中作为待处理事项(若是自动动作,则由引擎模块直接调用自动应用程序处理)。
任务列表列出了与业务流程的参与者相关的一系列任务集,任务列表由引擎模块生成管理;任务列表处理模块(Worklist handler)分布在工作流客户端,负责管理用户和任务列表之间的交互,同时提供任务列表的检索和分类功能,等待参与者(工作流用户)发送请求并对该请求进行处理。
业务处理模块是一个Web客户端,它需要访问组织模型库(内部包含账号信息)以对用户登录进行验证:并为通过登录验证的用户向任务列表处理模块发送请求,将分配给该用户的任务集从任务列表中取出,交由该用户处理,必要时调用外部应用程序进行相关处理。工作流用户还可以通过对引擎数据库的查询查看该用户处理过的任务历史记录。
管理监控模块对工作流模板库和组织模型库进行静态管理,并在运行时调用工作流引擎进行管理和监控,也可以对已经处理完毕的工作流实例进行查询等。管理监控模块可以分为两种管理方式:静态管理和动态管理。静态管理包括对流程模板、组织模型以及流程运行的初始相关数据的查询、添加、修改和删除等操作;动态管理则是对工作流实例的状态及数据的修改等。管理监控模块的静态管理可以直接对客户端的其他定制工具所生成的结果进行修改,而动态管理则需要对引擎进行调用。
4 小结
在完成对工作流定义和工作流管理系统的了解,根据WfMC提出的工作流参考模型,论述了工作流管理系统的体系结构,对系统进行分层,根据功能进行模块的划分。在后面,我们将针对工作流流程设计器的设计以及工作流引擎的开发进行研究讨论。
免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。