传统的工作流管理系统受到早期管理信息系统处理机制和网络规模的限制,其协作管理与组织运作主要拘泥于被动式的企业内部管理和小范围协调卜圳。对于时间和空间分布有着较高要求的现代企业的分布协作处理要求,研究和开发一种具有大范围时空协作处理能力的全局智能工作流处理系统已成为现代计算机协同处理一个重要研究方向Pl我们根据现代网络技术的发展特点和应用能力,采用以World WideWeb为核心的Internet技术与开放式网络体系结构,开发实现了一个在地理和功能上都广泛分布的全局工作流系统应用平台《WSB3W:WorlfIow System Based on World Wide Web)WSB3W不仅通过Intemet的全局开放性特点突破了传统工作流系统的时空局限性,而且还通过软件构件的包装技术解决了工作流系统中普遍存在的实时交互和智能协调处理问题。
1 关键技术与机制
1.1流程控制系统的系统体系结构
如图1所示,WSB3W的系统体系结构分为流程操作工具、Web支撑平台、流程设计定义、系统构件管理和操作系统墩据库等几个部分组成的3个层次。
其中,流程操作工具直接面向WSB3W的最终用户。该层次的组件成份在工作流的运行过程之中,按照事先设计定义的规则和目标为工作流的组成成员提供信息交换和事务处理的接口与处理能力。
流程设计定义为WSB3W中的流程创建和管理提供操作工具与平台环境,其目标不仅是辅助系统管理人员构造和维护旅程处理模板,而且还要为定义的工作流模板提供语义枪查支持,以保证系统中的流程语义的语法正确性系统构件管理通过软件构件的处理技术在软件构件的层次上,为系统中的各软件处理部分完成构柞功能的创建,属性定义描述和登记,并在对累统处理接口进行包装的基础上,为各处理部分提供必要的接口和应用协调机制Web支撑平合为流程处理系统提供开放的Internet访问技术与操作实现环境。
操作系纷数据库为流程系统提供资源访问管理和数据信息组织方面的环境与后备支持。
1.2流程控制系统的系统实现结构
WSB3W的系统实现结构如图2所示。
根据WSB3W系统体系结构设计目标和Intmict网络的开放性特点,WSB3W的实现主要从构件管理、流程操作、管理定义、Web代理和流程数据库支持等5大模块进行:
(1)构件管理
构件管理模块对应于体系结构第二层的系统构件管理部分。共功能的实现依据Internet网络应用的特点分为客户方构件管理和服务器方构件管理两个部分。
其中,客户方构件管理通过构件技术刘客户方的操作系统月境和网络资源进行包装,为下载至客户端的流程操作工具提供资源使用和访问的登记、描述和协调处理机制。
服务器方的构件管理通过构件技术对数据库系统、操作系统环境和网络结构进行包装登记与描述,为管理定义、Web代理和流程数据库的有效开发和协作运行提供管理和控制保障。
(2)流程操作
流程操作模块主要以插件的方式嵌在hitemet访问的Web浏览器之中。其主要功能是在客户方构件管理模块的基础上,为最终用户进行流程控制处理提供服务。根据服务和处理的目标,流程操作模块在界面操作控制、流程接口控制和网络通信连接等功能相互补充的3个模块进行软件实现。
其中,界面操作控制模块根据流程的当前处理状态和有关的规则为用户提供待处理流程操作控制与检索界面。
流程控制模块负责在界面操作模块和服务器代理之间包装、分发和转换有关的流程处理和控制数据信息。
网络通信连接模块的任务是负责协调与管理控制流程处理中涉及的由阱分发、协议转换和地址解析请求。
(3)Web代理
Web代理模块是服务器方与httemet网络环境直接相连的转接部件,其目标是在增强流程处理功能的基础匕减轻Web服务器的处理负担。Web代理根据用户浏览器向服务器方发出处理请求特点和流程处理规则制度,将相应的请求分别转发至Web服务器或服务器方的流程控制接口。
(4)管理定义
管理定义模块又可细分为Web服务器、服务器方流程控制接口、流程控制网页管理、流程邮件管理、流程监控管理和流程生成/定义等6个组成部分:
其中,Web服务器响应和完成正常Web月良务与Web请求。
服务器方流程控制接口在其它各流程组件以及Web代理之间对流程处理和控制数据信息进行包装、分发和转换等协调管理。
流程控制网页管理在服务器方,为流程处理的操作生成和处理特殊的流程控制管理网页界面。
流程控制邮件管理在服务器方,为流程处理的操作生成和处理特殊的流程控制管理邮件。
流程的生成/定义,则为系统管理和控制人员提供定义、生成和检验新工作流任务操作工具与界面。
(5)流程数据库支持
流程数据库支持模块主要在数据库处理系统的基础上,为存储和管理流程控制系统中的流程处理数据和流程控制知识信息。
2 流程分解的有向语义状态模型
WSB3W系统中的流程处理工作可以使用有向图的状态语义模型来进行分析和说明。其中,流程任务的每一个流程处理步骤对应于一个有向语义图的一个状态结点。显然,流程管理控蛋业系统中的不同的流程任务模板各自对应于不同的有向语义图:
定义1 一个流程任务模板是一个七元组L(N,A,S,I,E,F,P)。这里,N是流程可用的名字符号集合,A是流程所有属性的集合,S是流程具有的所有状态的有序集合,1和E都是S的子集,它们分别代表L的初始状态和终止状态集,F是可以在L上进行的操作集合,户将导致L从一个状态向另一后续状态转化,尸是I执行的时间跨度限制。
定义2 一个流程处理任务是从任务模板中派生出来的一个八元组L(N,A,S,I.E.MT,P) .这里,N是系统唯一的流程名,A. I, E. F和P同定义1, T是S的按时序排列的有序子集,它代表L执行的状态轨迹。
引理流程处理任务L(N,A.S,I.E,FT.P) 按时间和空间的状态变化序列将最终终止。
证明根据定义1 是一个有限的非空半序集,E是由S的极大元组成的非空集合。正常情祝下,IES-7是一个由F不断作用于L得到的由递增的状态组成的有限非空半序集。由干7是有限的,L将终止。在异常情况时,由于L的执行将达到J的限制,此时,流程将被用户或程序终止,这种状态也属干Sa因此,非正常终止的IEF。
3 应用结论
我们采用Java对WSB3W的各个组成部分进行了开发和实现,其中,客户方的流程操作和构件管理部分主要采用Applet,浏览器和邮件服务等程序的插件的方式完成,而服务器方的其它部分则以运行于服务器上的服务代理方式运行。理论和实践应用都证明,WSB3W在充分利用Intemet网络全局开放性特点的基础上,不仅突破了传统工作流系统的时空网络限制,而且还有效地通过软件构件的包装技术解决了工作流系统中普迫存在的实时交互和智能协调处理问题。