林峰1 林毅1 胡隽2 徐魁3 1.电力自动化研究院 210003 南京 2.东南大学无线电工程系 210096 南京 3.电力自动化研究院 210003 南京
0 引言 随着电力企业对管理现代化需求的成熟与迫切以及信息技术的飞速发展,管理信息系统在我国电力行业中得到了新的起步与进一步提高。目前新型的管理信息系统大多建立在基于Internet/Intranet结构及技术的分布式计算环境中[1~3],多层计算模式、客户端浏览器化、信息高度共享、数据访问的简单便利,使得无纸化管理、工作流、网络协同工作等新兴的应用需求不断出现。在电力企业管理信息系统的需求分析和概念设计[4]中有这样一个共性:电力企业许多基础和关键性数据的产生和管理实质上并非是一个传统的数据录入查询,而是一个涉及多部门,需要多人协同工作的复杂的工作流程。如电力企业中常见的缺陷管理、停电申请、新设备投运、工作票签发、图形资料管理、物资请购等,这些数据只有在特定的工作流环节中,依照预定的信息流向流转完毕后才能成为真正合法的原始数据进入系统,为系统其它模块共享。对于这样一些数据的处理,如果只采用简单的数据录入方式,则存在难以克服的缺点:为保持数据的合法性,用户必须保留纸面表单和以往人工传递处理的低效率环节(这种传递经常在地理上跨越数千米,例如生技部门与用电营业部门);同时为了数据进入信息系统,又必须在纸面表单流转结束后,人工对照重复输入;另外,由于数据集中在一处输入,也影响了数据的权威性。工作流的引入可以很好地解决这类应用问题,但必须同时处理好由此带来的技术问题,如权限控制和满足用户对工作流的灵活性和适应性要求。由于当前电力企业管理体制或组织机构变化较大,对于一个流程的控制不是一成不变的,如果开发的工作流应用缺乏自定义能力,必将严重影响系统的实用性和使用周期。 通用工作流平台的设计与实现正是为解决这些问题而提出的。本文介绍PI—2000管理信息系统中的通用工作流支持平台的设计与实现,重点分析平台的结构和工作流共性机制的抽取。
1 工作流支持平台的总体结构 PI—2000管理信息系统中工作流支持平台采用基于Web技术的分布式结构,总体结构如图1所示。
图1 工作流支持平台的总体结构 Fig.1 The structure of the work flow support platform
工作流定义模块对工作流的定义包括:流转状态定义,环节定义,角色定义,人员权限定义等。工作流应用服务器(work flow application server,简称WAS)接受网络上的应用请求,从工作流定义模块中提取数据,提供流程控制及安全信息的响应。工作流应用模板则采用面向对象的封装技术,利用继承和重载实现流转细节的应用透明性和无关性,它通过与登录识别器、应用程序本体和WAS通信获取所需的工作流信息,通过邮件服务器发送嵌有表单链接的邮件来与其他人员协同工作。邮件服务器一方面负责邮件的传递,保持链接的一致,另一方面与邮件客户端通信,实现邮件的管理和分发。邮件客户端提取邮件中的表单链接信息,通过Web服务器传递给表单生成器,并根据表单生成器返回的定位信息准确提取各种表单。
2 工作流的定义 电力企业许多重要数据的管理,要求对数据表单的操作以及处理流程进行严格细致的控制,并且必须便于用户随着今后企业的发展而调整变动。这一点也是工作流支持平台设计的难点所在。工作流的定义模块适应于这样的应用需求,将一个工作流关键部分的控制抽象为安全控制区、流转状态、流转环节、工作流角色以及人员权限等的定义。 由于工作流应用有多人参与,对数据的处理必须分清权限范围,防止非授权下的数据篡改,保证数据的安全。安全控制区是对数据表单(如工作票、缺陷报告单)中需要进行控制的各种对象(如签发区域)的一种抽象描述。控制区域可以是一段文字、一个签字区域、一个按钮或是它们的组合。流转状态定义了工作流程中可能出现的数据状态(如签发状态),而流转环节则定义了状态之间的变化约束,从而使整个工作流过程受到控制(如规定工作票在填写完毕后必须送往变电工区签发)。角色是赋予在一个特定工作流中的一组人员的职能属性(如变电工区区长),它的权限与状态紧密关联,并随之变化而呈动态性。人员权限的定义是为具体的使用人员分配和组合角色,一旦他们的角色设定,其相应的权限也就界定了。一个用户可在不同的工作流中担当不同的角色,也可在相同的工作流中扮演多重角色。权限的控制在需要时还细化到特定的人,例如当工作票传送到人员A处时,只有A有权签发。图2结合电力企业中工作票签发/会签这一工作流环节,说明工作流定义中各组成部分的关系。
图2 工作流定义关系图 Fig.2 The relational diagram of work flow definition
所有以上定义都可以在系统投运后由用户自行设置,用户可以根据实际的业务工作需要以及管理机制的变化灵活定义和调整,这是本平台设计的一个特点。
3 工作流应用服务器WAS 工作流应用服务器为外部提供流程控制和安全信息的统一接口,是处于应用模板与工作流定义之间的中间层,使得工作流定义的内部实现对外部透明。WAS采用COM(common object model)技术[5]实现接口的标准化,这种3层应用访问结构[6]使客户端达到最大程度的轻型化。WAS提供的主要功能有:获取工作流标识,获取初始状态,获取流转控制信息,获取合法处理者,获取当前用户权限,提取日志和帮助信息等。除此之外,WAS还提供实现流程控制所需的其它辅助服务,如锁定机制。由于工作流应用运行于网络环境,为保持数据的一致和完整,必须对数据实行锁定控制。当处理一表单时,首先向WAS请求锁定该表单,锁定成功后才能进行处理;其他人员若在锁定期间调阅同一表单,WAS封锁数据修改权。为了防止表单死锁,表单锁定者还必须与WAS保持锁定刷新。
4 邮件系统 为实现信息的主动传递,需要借助于邮件系统的支持。一般的邮件系统不支持表单链接的功能,所以另行开发。除为工作流支持平台服务外,该邮件系统还可以为系统其它模块提供消息传递服务。邮件系统主要由邮件服务器、邮件客户端和表单生成器组成。邮件服务器提供邮件发送、链接存储、邮件路由、邮件分发等邮件管理功能。邮件服务器也采用COM接口为外部提供服务。邮件客户端是一个单独的应用,实现从邮件服务器读取邮件、建立本地邮件库、链接提取以及本地邮件管理功能。当用户需要打开链接表单时,邮件客户端将链接信息提交给Web服务器并转发给表单生成器(report generator,缩写为RG),表单生成器在后台搜索配置信息,将链接翻译成客户端执行脚本以定位所需的表单,最后通过Web服务器反馈给用户。
5 工作流应用模板 工作流应用模板采用面向对象技术封装了工作流安全控制、流转、抄送、审批、流转纠正、日志调阅、动态帮助等所有工作流通用功能。由应用模板继承而来的其它应用在数据处理和人机界面上都自动具备了上述工作流特点,而且与具体的工作流平台实现细节相隔离。应用模板可实现多人审批、多状态流转以及保留流转权等高级控制,对于流转的合法性和潜在错误具有识别能力。应用模板允许在授权情况下及时纠正错误的流转过程,消除人为误操作。应用模板还通过事件机制与外部应用进行通信,而且具有扩展能力。应用模板事件机制主要支持的事件类型如表1所示。
表1 应用模板事件机制主要支持的事件类型 Table 1 The events supported by work flow application model
序号
事件名称
事件描述
1
InitialReport
初始化
2
ReadReport
读取特定于具体应用的表单数据
3
AfterShowReport
显示表单完成
4
SetControlArea
设置控制区权限
5
SaveReport
保存表单
6
ClearReport
清除表单
7
AfterSendReport
发送表单完成
8
AfterEndReport
终结表单完成
9
GetDocHelp
返回动态帮助信息
10
AfterSignReport
用户审批结束
11
GetDefaultMailSubject
返回缺省邮件主题
12
GetDefaultMailBody
返回缺省邮件内容
6 结语 通用工作流平台方案已应用于吴江供电局PI—2000管理信息系统中,验证了其可行性和有效性。工作流平台的实现对于电力企业管理信息系统的开发和实际推广都具有意义。通过模板继承将显著提高开发效率和系统可靠性,统一界面和功能,便于扩充升级;通过工作流自定义可迅速适应管理机制的变化,提高系统可用性,延长生命周期。由于界面和功能的统一,用户对于不同工作流应用的接受和适应能力也大为提高。
参考文献
[1] 袁 林.基于WWW技术的电网实时信息系统.电力系统自动化,1998,22(6) [2] 周沿东,左松林.基于Intranet的新一代电力企业管理信息系统.电力系统自动化,1999,23(9) [3] 张 锐.东北电网多媒体调度管理网络系统.电力系统自动化,1999,23(9) [4] 吴凤书,连迩遐,陈骏林,等.管理信息系统的技术基础——总体设计.北京:中国电力出版社,1996 [5] Borland. Delphi 3 Developers Guide. 1997 [6] 谭 翁.三层应用模型及解决方案.计算机世界,1998-02-23
|