网站内容管理系统论文(WorkflowEngine,、systems,XML,、Workflow,)
优采云 发布时间: 2021-12-08 00:03网站内容管理系统论文(WorkflowEngine,、systems,XML,、Workflow,)
摘要:Internet/Intranet 使用的快速增长和 Web 技术的发展,为构建基于 Web 的工作流管理提供了理想的平台。下一代工作流管理。本文研究的WFMS原型结合了Web技术和XML,提供了一种基于xml的流程定义语言和工作流引擎的设计和实现方法。
关键词:工作流,工作流管理系统,XML,集成,工作流引擎
1、简介
工作流的概念起源于制造和办公自动化领域。工作流是一种可以完全或部分自动执行的业务流程。根据一系列流程规则,文档、信息或任务在不同的参与者之间传输和执行。工作流的目的是将工作分解为明确定义的任务和角色,按照一定的规则和流程执行这些任务,并对其进行监控,从而提高工作效率,降低生产成本,提高生产和管理水平企业的。竞争力,实现现代企业业务流程重组(BRP)和业务流程自动化。
Web技术以其一致、简单的界面和与平台无关的特点,在出现后得到了迅速的发展。同时,互联网的发展和企业内网的建设,为人们提供了理想的协同工作环境。同时,它还使基于 Web 的工作流管理系统成为可能。
Web应用的开放性和跨平台特性,使得基于Web的工作管理系统成为必然的发展趋势。但目前,由于不同的研究人员和厂商使用不同的工作流描述方法,不同的工作流产品无法互通,这在很大程度上阻碍了工作流技术的推广和应用。
为了使工作流管理系统具有良好的互操作性,本文研究开发了一个基于Web的工作流管理系统,其中工作流过程定义采用基于XML的过程定义语言。XML 用于描述文档的组织结构。XML 具有简单性和可定制性的优点。可实现不同厂商工作流产品之间的互通和异构信息的集成。
本文首先介绍了当前工作流管理系统的一些相关概念,分析了系统中的一些关键技术,包括系统结构、工作流模型中主要实体的XML描述、工作流执行机的设计与实现。等待。
2、工作流管理系统介绍
基于Web的工作流管理技术是在企业中实现协同工作环境的一种很好的方式,它可以很容易地与企业原有的应用程序和信息集成。
为了实现业务流程的工作流管理,需要相应软件系统的支持。这种软件系统就是工作流管理系统(Workflow Management System,WfMS)。根据WfMC的定义,工作流管理系统是“通过工作流的形式化表示驱动的软件的执行来完成工作流的定义、管理和执行的系统”。对发布后的序列和与活动相关的相应人力或信息资源的调用进行管理,实现业务流程的自动化。工作流的流程定义是指业务流程的正式表示,它定义了流程中的活动和涉及的各种信息。这些信息包括流程的开始和结束条件、构成流程的活动和活动之间的导航规则、用户需要完成的任务、可能调用的应用程序、工作流机的引用关系以及工作流数据的定义。活动是指工作流中的一个逻辑步骤;工作流实例是指工作流的一个执行过程;工作流机是为工作流实例的执行提供运行服务环境的软件或“引擎”,它是工作流执行服务的核心,负责解释流程定义,控制流程实例的执行,控制流程的执行工作流中各种活动的顺序,
1994年11月,工作流管理联盟发布了工作流管理系统的参考模型(见图1)。该模型定义了一个基本工作流管理系统所需的6个基本模块,并制定了每个模块之间的接口标准。基本模块功能如下:
1)流程定义工具:为用户提供一种对实际业务流程进行分析和建模的手段,生成计算机可以处理的业务流程的形式化描述。
2) 工作流执行服务:在一台或多台工作流机器的帮助下激活和解释全部或部分流程定义,并与外部应用程序交互完成工作流流程实例的创建、执行和执行管理提供用于工作流操作的运行时环境。
3)其他工作流执行服务:在*敏*感*词*的WfMS中,工作流可能需要多台工作流机器共同完成,甚至其他异构的工作流执行服务来辅助完成,这就涉及到WfMS系统之间的互联。
4)客户应用程序:它为用户提供了一种方法来处理在流程实例运行过程中需要人工干预的任务。每个这样的任务称为一个工作项。WfMS 为每个用户维护一个工作项列表,它代表了用户当前需要处理的所有任务。
5) 被调用的应用程序:指工作流执行服务在流程实例运行过程中调用的用于处理应用数据的程序。在流程定义中收录该应用的详细信息,如类型、地址等。
6)管理和监控工具:其功能是监控和管理WfMS中流程实例的状态,如用户管理、角色管理、审计管理、资源控制等。
3、基于Web的工作流管理系统整体架构
架构的设计主要遵循以下三个原则:
(1),Internet/Intranet分布式计算环境,面向跨部门、跨企业的分布式工作流管理。
(2),整合现有的各种信息资源,如电子邮件、文档管理、图文浏览、资源管理等,充分发挥这些资源的综合潜力。
(3),与工作流管理联盟参考模型一致,流程定义语言采用XML-WPDL(基于XML的流程定义语言),方便不同企业WfMS系统的互操作。
根据上述原则设计的Web_WfMS的架构如图2所示:
整个系统的工作模式如下:
(1),工作流应用建模者通过Web浏览器从Web服务器下载流程和表单定义工具,完成应用系统的建模,即实际工作流的定义。建模结果为XML - WPDL 文档存储在服务器中,可以反复修改。
(2),客户端用户通过浏览器登录Web服务器,可以启动一个新的进程,处理它的工作项等。每个工作项对应一个表单。在表单中,各种不同的方法代表需要处理的数据,用户可以通过客户端提供的各种工具(如CAD系统、CAPP系统、文字处理系统)对这些数据进行处理,在这个过程中可以与数据库系统进行交互,比如查询数据库信息,或者将一些应用数据保存到数据库中等,处理完成后就可以提交了,然后工作流执行机会根据表单中的数据生成下一个工作项,并通知相应的用户进行处理,以此类推,直到整个过程完成。
(3),管理者使用工作流管理监控工具来监控和管理工作流运行实例和活动实例的状态,例如暂停、重新启动和终止流程实例。
4、基于Web的工作流管理系统的设计原理及实现机制
基于Web_WfMS的总体设计,将从工作流模型、工作流执行机、安全权限控制三个方面讨论该系统的实现机制。
4.1 工作流模型
工作流模型是整个工作流系统设计的基础,也是流程定义人员进行系统二次开发的基础。模型描述能力的强弱决定了系统支持的应用范围和系统的灵活性。在工作流模型方面,工作流管理联盟定义的流程元模型定义了六个基本实体:流程定义、活动、转换条件、工作流相关数据、角色和需要激活的应用程序。
各种建模工具只是对工作流模型的正式描述。为了实现不同WfMS的流程定义可以相互交互,本系统采用基于XML的流程定义语言对流程进行建模。描述(如 3) 所示。
下面将介绍XML_WPDL流程定义、活动和转换条件三个实体的描述。
①流程定义
②活动定义
③过渡条件
4.2 工作流机和异常处理机制的实现
4.2.1 工作流机的实现
工作流执行服务是工作流管理系统的核心。工作流执行服务由一台或多台工作流机器组成。工作流机实际上是企业业务流程的任务调度器,是某种程序中企业资源的分配器。在采用工作流管理系统支持业务流程运行的企业中,工作流机可以看作是企业的业务操作系统(BOS)。工作流机的主要功能是:解释流程定义,负责调试流程的操作,即创建和管理流程实例的操作,调度活动的操作和创建工作项处理,维护工作流控制数据和相关数据,并维护用户的工作列表。工作流执行机的结构如图4所示:
图4 工作流执行服务*敏*感*词*
具体执行流程:工作流机接受外部接口发送的流程控制请求(如流程初始化、获取活动、结束活动等),然后根据不同的请求类型调用相应的处理模块来完成request 与此请求相关的操作并返回结果。实际上,工作流机可以看作是一个多线程并发服务器,可以为多个外部请求提供并发服务。外部请求的处理肯定会涉及到工作流相关数据的读写和修改。同时,工作流机还维护着工作流的控制数据。工作流控制数据用于识别每个流程或活动实例的状态。地位,
流程、活动和工作项构成了工作流机器的主要逻辑。在我们的系统中,采用了对象封装继承的方法,将其封装为一个通用的C#类。这三个类的定义如下:
(1)、public class WEProInstanceManager {} //工作流执行机流程实例的管理类
(2)、public class WEActInstanceManager {} //工作流执行机activity实例的管理类
(3), public class WEWorkItemManager {} //工作流工作列表管理类
4.2.2 工作流机异常处理
工作流错误包括两种类型的错误。一是进程错误,比如activity的executor不存在,activity的应用定义错误等;另一种是系统错误,如:网络故障、数据库系统异常。对于工作流执行机来说,前一种异常是无法处理的错误,只能通知错误;后者是执行机可以处理的错误,比如数据库异常或者连接临时中断等,执行机可以进行容错处理,例如:数据库恢复后自动重新建立连接. 执行器对可能的错误进行编码并附上相应的描述信息。
在我们的系统中,采用了C#的异常处理思想(在C#的编程思想中,系统错误是通过捕获异常来实现的),抛出的异常用异常类WEException来描述。WEException 类继承了 C# 异常处理类 Exception。并覆盖Exception类的属性Message(){get{}},将可识别的异常对照表存储在WEException类中。在C#的异常处理中,在发生错误的地方抛出异常,不做任何处理。异常被抛出到更高级别,直到某个级别可以处理此异常。
4.3、 工作流管理系统的安全权限控制
工作流管理系统对安全性有很高的要求。为了满足要求,必须实现足够的安全控制。在我们的系统中,总共设置了 5 个级别的安全控制。
1),用户认证:当用户登录系统时,需要用户输入用户名和密码进行确认和注册。
2),服务器访问控制:确保只有授权用户才能登录指定服务器。
3)、数据库访问控制:控制数据库访问
4),文档访问控制:控制数据库中文档的权限。
5),文档中域访问控制:控制文档中的部分内容。
通过以上五层安全控制加上系统级访问控制、电子签名、加密等安全机制,整个安全机制满足了系统对安全的需求。
5、结束语:
使用Web作为工作流管理系统的底层通信支持,使得系统开放、一致、使用方便,使企业内部信息孤岛整合成为可能。本系统采用的基于XML的流程定义语言的工作流管理系统,不仅适应分布式办公,而且为以开放系统实现跨部门、跨企业的不同工作流的供应链互通奠定了基础。环境,使客户、供应商或合作伙伴可以轻松参与到企业的工作流程中,提高工作效率。
参考
[1]WfMC,“工作流参考模型”。(WfMC-TC00-1003),技术报告,工作流管理联盟,Hamnshire.1995.
[2] 石美林,杨广新,向勇,等.WFMS:工作流管理系统[J].计算机学报, 1999 (3): 326~328.
[3]范玉顺.工作流管理技术基础——实现业务流程重组和自动化的核心技术[M]. 北京:清华大学出版社,2001。
[4]Mohan C. 工作流管理产品、标准和研究的最新趋势
.网址:
[5], Workflow Management Coalition.Interface 1:process definition exchange and process model[EB/OL].WFMC-TC-1016-P, ,1999-10