摘要:工作流是各类生产管理信息系统中的一个重要组成部分,针对不同的应用其需求也有所不同。在电力调度生产管理系统中,流程控制系统具有地域广、管理对象复杂、必须同时进行数据处理等特点。文中着重分析了调度生产管理系统对流程控制的需求,并把需求抽象成流程要素。提出了利用数据交换系统实现跨系统流程,利用嵌入式脚本解决与数据相关的流向问题等。所提出的实现策略已经实际系统验证。
关键词:管理信息系统(MIS);工作流;调度;电力系统
0 引言
工作流是各类生产管理信息系统中的一个重要组成部分,国内外对此都进行了大量研究。在复杂的电力调度生产管理信息系统(DMIS)中,它更是一个必不可少的部分。本文是对开发福建电力调度通信中心电力调度生产管理信息系统的经验总结。
1 总体要求
工作流程控制系统的任务是协调生产和管理工作,使其按规范运行。它必须保证按预定的规则实时地把工作传送给处理过程中的下一步[1]。电力生产过程的实施是在大范围内由多个单位共同完成的,DMIS的生产流程控制系统首先要满足这个需求。以省级调度机构为例,在全省范围内的各调度机构、发电厂和变电站间都要求能协同工作。在这么大的范围内存在着多个信息系统,因此设计工作流系统时必须考虑多系统间的流程协调。作为一种参考模型,典型的省调DMIS如图1所示。
该系统由中心、分中心、用户终端3部分共同组成。这3部分分布于全省,其中,中心和分中心的关系既可互相协调管理同一对象,又可各自负责其管理目标。由于各协作单位处于不同地区和单位,为了使协调工作能够得到跟踪和追述,这3部分都要求有不可更改的记录或副本。
2 调度生产流程管理的需求
通过对多个调度生产管理实例的分析,总结出了一个抽象的、能代表一般需求的流程过程,并通过一组流程管理的基本要素和各个要素的要求把调度生产流程管理的需求表达出来。
2•1 流程过程描述流程即业务过程,业务过程是由多个任务组成,而工作项则是业务过程的其中一宗事件。如购买一台计算机是采购管理(业务过程)中的一个工作项。参与者通过个人工作台处理所有传交给他的工作项。参与者在赋予的权限下,可以对业务过程中的所有工作项进行处理、跟踪、监控及催办。在流程控制系统中,参与者以角色来分类。角色类似于工作岗位。每一任务并不直接分配给参与者,而是分配给某一特定的角色。在人事变动的情况下,若某任务仍然存在,角色也会维持不变,只要把需变更的人员配以相应的角色便能反映人事变动的调整,毋需修改程序。
2.2 业务过程业务过程是某一类重复性活动的整体处理过程,它由一系列的任务与流程组合而成。每一组业务过程都有1个起始点及1个或多个结束点。提出采购申请可以是一个流程的起始点,货物入库后可以是一个流程的结束点,不同意采购转回申请人可以是结束点。所有业务过程处理过的活动状态都存有记录,以便跟踪、监控与统计。业务过程可能是相互联系的,一个业务过程的终点可能是另一个业务过程的起点,程序处理时应具备在业务过程中相互触发和信息传递的功能。
2.3 工作项工作项是业务过程需要处理的一宗事务,其本质是对某种形式(类型)对象的处理,包括文稿、影像、图纸、电子表格,甚至多媒体文件等。由于本电力调度管理系统的管理对象是电网中的具体设备,与一般办公自动化(OA)系统不同,因此,处理的对象可能是以某种形式表达的设备实体或与设备实体相关的状态参数等。
2.4 参与者与角色参与者与角色从数据库角度来看,属于一对多或多对多的关系。每个参与者都可担当1个或多个角色,例如:办公室秘书可同时担当文件核稿人、领导日程安排人等角色。而每一角色亦可以由1个或多个参与者担当。角色有时和机构是有关系的,如科长这一角色由于其所处的科室不同其权限和任务都不同。由于某参与者可能外出,多个人共同承担同一个角色时,软件在处理时应提供委托代理、任务分配、相互告知等协调机制。
2.5 流程任务是相应的角色需要执行的事情,一个任务只能配以一个角色,但一个角色可同时担当多个任务。当任务完成后,流程的定义决定下一个任务的内容。流程必须支持多种流向,主要包括:①直流:即单一的流动方向;②分流:从多个可能出口中按当时条件选择1个流向,提供多个应用接口以支持分流的自动化程度,应用可提供按钮让用户指定流向,也可以根据外部数据库的内容判定流向;③并流:从多个可能的出口中选择1个或多个流向,其流向控制的要求和分流相同;④会流:主要用于支持会签的需要,会流提供具有同一角色的多名参与者顺序流转的功能。流向往往与任务的处理结果有关,程序对此的支持能力是工作流系统的关键。流程的流向与角色和管理对象有可能发生关系,如通过同一采购申请流程提出采购申请,各科室的人员提交的申请是流向各自的科长而不是同一个人。
2.6 任务任务处理在OA中通常是批注意见,表明同意或不同意,拟同意或拟不同意等。由于DMIS所管理对象的特殊性,任务处理除这些以外还可能伴随对数据库内数据的操作(如加标志、去标志、修改数据等),流程的走向也与数据库内的数据有一定的关系。为了使某些复杂任务的处理友好、规范,任务处理应能够调用外部程序、启动任务处理指南等,并返回结果。作为一个任务处理,可以选择以下基本操作:①完成:系统根据预定的流程把工作项流往下一任务;②暂存:工作项保留在待办箱内;③特送:遇上特殊情况正常流程不能处理时,用户可选择特送给某一指定的参与者执行;④退回:直接把工作项退回给上一任务的当事人;⑤签收:参与者对选中的工作项正式确认签收;⑥查看流程:用户在当前工作项上可显示相关过程。
2.7 流程的管理若被赋予特定的权限,可以对业务过程的活动进行跟踪、监控及统计。流程控制系统必须记录下所有活动的详细内容,包括任务、角色、签收时间、完成时间、执行人、发送人等。目的是让用户能实时知道某一事务处理的状态,并提供统计数据,让领导清楚业务运行环境的真实情况,作为进一步提高效率与管理的依据。为了避免出错的工作项影响系统,必须具备某种形式的强制处理手段。
2.8 流程的启动和结束一个流程的开始可能是流程控制系统内某个参与者或工作任务启动,也可以是流程控制系统外部通过某种方式,如网页、E-mail等触发启动。流程结束时除必须把整个过程中的有关内容存档以外,还应根据需要对其中的内容进行处理,且这个处理是可外挂的,以便满足特殊需要。
2.9 流程处理与外部数据的关系流程处理的对象与数据库中的数据是相关的,流程处理过程伴随着对数据的操作,数据库中的数据对流程处理过程也会有影响。这个特性常用于多用户对同一个对象的操作闭锁。
2.10 流程控制系统与其他系统间的关系电力调度生产过程是与其他调度机构和发供电企业密切相关的。一个生产流程可能从本单位流到兄弟单位然后又流回来,因此,流程控制系统必须能支持这种流程控制系统间的协调关系。由于各单位的流程控制系统可能由不同的厂家开发,因此流程控制系统间的信息交换必须开放。
3 流程控制系统的实现策略
3.1 实现环境OA中的流程控制系统大多采用Lotus Notes等群件作为实现的基础和工作环境。由于DMIS流程是事务处理型的,管理对象与大量复杂数据相关,因此,采用类似NOTES的群件不具有优势。根据分析,我们认为在管理信息系统的数据库平台基础上实现工作流系统是最佳选择。其原因在于工作流所管理的对象都在其中,而且流转的结果要通过管理系统来查询和统计分析,管理系统对数据的管理和加工能力也能被流程系统所采用,因而可以减少开发工作量。流程管理系统需要具有面向对象的、能动态修改模型和多层体系结构的数据管理平台作为基础。
3.2 跨系统流程的实现DMIS需要流程管理系统能够支持跨单位、广域范围内的工作协调,也就是流程要求能跨系统工作。显然,工作流跨系统是指两端的流程管理系统能相互协调工作,因为一个系统不应直接控制对侧系统。因此,这个机制的实现就是要设计能够满足流程协调要求的数据交换协议。经过比较目前主要的数据交换技术,认为以XML为基础的数据交换系统(EDI系统)可以很好地满足需要。主要原因是XML具有良好的数据表达能力,它能同时满足流程流转信息和流程管理对象的表达需要。建立基于XML的EDI系统既能满足跨系统流程的实现需要,又同时解决了其他数据的交换需要,是一个一举多得的解决方案。
3.3 数据相关流向的处理应该说,流向与数据相关的流程没有规律可言,因为它的随机性太大,通用流程管理平台无法通过某种规律来统一算法。大部分系统是采用人工选择的解决方法,但容易出错。另一种解决方案是采取程序嵌入技术,针对具体的某个流程开发一段专门针对该流程的程序,以子程序形式在运行时动态调用。这种方法克服了人工选择方式的缺点,但开发量大且不易修改。目前,在面向对象的程序开发中出现了一种对象脚本嵌入技术,它把对象和程序处理脚本进行封装,改善了程序开发方式难度高且开发工作量大的缺点,可以作为数据相关流向处理的解决方案。
4 流程控制系统的实施
在PI2000电力管理信息平台的基础上,福建电力调度通信中心与南瑞信息系统公司合作进行了上述流程控制系统(作为福建省电力调度管理信息系统的一部分)的开发、研究工作。为了满足流程等功能的需要,南瑞信息系统公司在原有平台的基础上做了大量的扩充,集成了XML支持,新开发了基于XML的EDI系统。有了这些实施跨系统流程所需要的技术支持保证,我们在该平台上实现了全省范围内的保护定值单、检修申