2工作流和工作流管理系统
工作流管理联盟对工作流的定义为,工作流是一类能够完全或则部分自动执行的业务过程,据一系列过程规则,文档、信息和任务可以在不同的执行者之间传递、执行。其基本思想:正确的用户,以正确的角色,在正确的时间,按正确的顺序,对处于正确环节中的正确任务进行正确的操作,并对业务全程进行完全控制,实现对业务流程可控、在控的闭环管理。
工作流管理系统:是在工作流形式化表示的驱动下,通过软件的执行而完成工作流定义、管理及执行的系统,工作流管理系统必备的组成部分:工作流定义工具、工作流引擎、工作流管理和监督工具等。
3基于工作流技术的变电设备缺陷管理系统的具体实现
变电设备缺陷管理是变电生产管理中的一个关键环节,其管理的好坏直接影响整个电网的安全性、可靠性。这里以某省电力公司变电设备缺陷管理系统的具体实现为例来说明工作流技术的具体应用过程:
3.1系统需求。1)该系统要求在工作流系统的外部进行缺陷记录的上报,一次可选择一条缺陷记录也可选择多条记录同时提交到工作流系统。2)在流程的流转过程中能够根据缺陷的性质进行不同的流转:进入工作流系统后先是由变电管理所审核,确定记录填写无误后再由检修公司审核,若是一般缺陷,直接由检修维护部门进行消缺处理;否则对于危急缺陷和严重缺陷须上报到局生技部审核,同意后再上报回检修公司,然后进行消缺登记,最后把消缺结果和相关信息根据缺陷性质分别通知道给有关部门。3)对于每个流程环节的参与者能够按照权限指定:既可以定义成某部门也可以定义成该部门下的某些人员。4)流程流转完毕后能够把相关信息反馈回缺陷记录登记表中。
3.2解决方案。在系统的具体实现上我们采用了杭州信雅达公司提供的工作流产品SUNFLOW,主要利用了它所提供的工作流引擎和图形化的流程定义工具进行了二次开发;通过实现相关接口实现了自己的组织管理器,并调用工作流提供的接口函数进行了客户端的开发,将SUNFLOW和我们的业务程序较好的融合到一起。
3.2.1设备缺陷管理流程定义
按照系统需求采用了子流程嵌套的技术:据提交的缺陷记录的个数以变量的形式指定子流程的分裂个数;将提交记录的缺陷性质字段存放在数组中,这样在嵌套节点通过分裂脚本的编写就可以根据该数组值进行分裂流转。
3.2.2自定义组织管理器的实现
通过在组织下指定若干角色,在角色下指定人员的三层组织结构,并实现了SUNFLOW的两个组织接口完成了从自己的组织表、角色表、人员表中取数据来实现自定义的组织管理器。这样工作流引擎通过自定义的组织管理器进行用户验证和角色、组织的'解析等工作。流程设计器也可以通过自定义的组织管理器获取人员、角色、组织的信息。
3.2.3自定义工作流客户端
主要采用B/S三层结构和j2ee开发平台结合SUNFLOW的若干接口函数实现了自己的客户端,各个流程环节的参与者登录以后,在进行用户名、密码的权限校验以后都可以捡出流转给自己的新任务,查询已办任务、未办任务,在填写完本处理环节的若干信息后点击”提交”按钮都可以把流程转到下一个环节。
3.3采用的技术路线
3.3.1采用基于Web的B/S三层开发技术
目前大部分电力企业仍采用传统的C/S结构组建MIS系统,这种模式下的MIS系统很难与企业内部的intranet和企业外部的internet集成起来,降低了企业的信息化发展。相比之下,采用B/S模式组建的MIS系统因具有良好的开放性、易维护性、和易升级性而逐渐成为电力企业组建MIS系统的首选。
3.3.2采用j2ee作为开发平台,以Spring+Hibernate+Strus技术作为开发框架
为了保证工作流管理系统的跨平台性,系统采用面向对象的java语言来实现。Spring是一种多层的J2EE应用程序框架,Spring的核心是供一种新的机制来管理业务对象其依赖关系。Hibernate是非常优秀、成熟的O/RMapping框架,它提供了强大的对象和关系数据库映射以及查询功能。Struts是按照MVC方式构建的应用体系框架,它继承了MVC的各项特性,并据J2EE的特点,做了相应的变化与扩展。在缺陷管理系统中用StrutsMVC框架作前端,Spring作中间层,Hibernate作后端的框架进行开发,在页面设计中采用了JSP、HTML、JavaScript、CSS技术,完善了系统功能,大大提高了系统的稳定性。后端数据库服务器选取Oracle,以保证数据库的大容量和高安全性。