摘要:工作流是指整个或部分业务流程在计算机支持下的全自动或半自动化。在计算机网络环境下,工作任务在多个人或单位之间的流转实际上将表现为信息或数据在多个人之间的传送。使用可视化的OA工作流设计工具,用户不需要编程就可以定义设计出满足要求的收发文流程,实际使用效果良好。论文以可视化的OA工作流设计工具的开发为基础,主要阐述五个方面的内容。第一部分介绍了工作流和工作流设计工具的相关概念与开发背景;第二部分对工作相关基础理论技术、系统环境与平台基础、以及开发技术进行了描述;第三部分对系统功能进行了分析;第四部分详细介绍了系统流程、流程可视化设计的实际开发过程中使用到的关键技术;最后一部分在总结了系统开发心得的同时,提出了目前系统存在的不足和有待改进的地方。
关键字:
目录:
系统需求分析与总体设计:
在最近几年的各级单位的信息化改造建设中,随着信息化基础设施建设的逐渐完备,各类应用系统开始受到各级单位的重视,开发重点主要侧重于人事信息数字化、文书信息化、公文流转、交互式审批等信息化可行性高的工作领域。 因此,改革传统办公模式,开展电子办公,使业务办公、公文流转和管理过程电子化、信息化,并通过统一办公规范,提高工作效率降低办公成本,实现办公自动化已势在必行。而上述所介绍的公文流转的一个重要特征就是流程复杂,难以用标准的程序化语言解释,因而公文流转系统必须有与之相适应的工作流程定义系统,使操作人员能够自主地设定公文流转流程。为此我们设计了一个可视化流程设计工具,该工具可以作为工作流管理系统里的一个模块。它具有图形用户界面,用户定义与任务执行完全分离,其体系结构基本上符合WFMC 标准结构。用户不需要程序员的支持就可以定义和设计出工作流程模型,根据该模型生成的文件可以非常方便地被解释为上层接口所需的工作流。可视化OA工作流程设计工具针对用户的要求对工作流程进行定制和维护,主要包括:对接点、接点连接线可自由拖放。具备删除节点、节点之间连接线功能。接点之间采用箭头连接。接点采用矩形表示。图形内容利用XML形式保存于的Access数据库中,可查询,编辑,保存,更多自定义属性。通过对用户需求的分析,要求本流程设计工具具有以下功能:(2)可以对流程节点和弧线进行填加、修改、删除操作; (4)可以将图形内容保存于access数据库或(xml)中,可查询,编辑,保存;(5)可以通过流程模型解释接口和引擎主程序提供给上层程序使用1994年11月,工作流管理联盟发布了工作流管理系统的参考模型,该模型定义了一个基本的工作流管理系统所需要的6个基本模块:过程定义工具,工作流执行服务,其他工作流执行服务,客户应用程序,被调应用程序,管理及监控工具;并制定了个模块之间的接口标准。
可视化流程设计工具各模块的功能描述和设计思想介绍:(1)绘图模块:可将需要设计的流程用此模块画出,利用java.awt来绘制节点和弧线;(2)图象关系序列化模块:可将已画出流程中的节点和弧线序列化,利用接口java.io.Serializable就能实现;(3)图象关系保存模块:可将序列化后的节点和弧线关系保存起来供上层流程定义解释器使用。实体关系图(E-R图)将系统中的数据模型以一种更加清楚、具体的方式展现出来。图中方框代表实体,椭圆代表实体的属性,实体和实体之间的关系用菱形来表示。在工作流管理系统中,上层程序需要通过读取保存在数据库里流程的XML文件来实现流程的解释和实例化。在对工作流进行定义的工作中用到的E-R如下图所示:
public Connection getConnection(){ // now we can get the connection from the DriverManager Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //驱动 set this to a MS Access DB you have on your machine String filename = "/fileData.mdb"; String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="; database+= filename.trim() + ";DriverID=22;READONLY=true}"; con = DriverManager.getConnection( "jdbc:odbc:ccos" ,"",""); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block } catch (SQLException e) { // TODO Auto-generated catch block
测试结果及存在的问题和改进的方案:
由于本工具的开发使用了Eclipse 3.1作为开发工具,具有可视化的编程环境,在编程的过程中就可以对所做的结果进行运行,以立即进行改正。经过反复的修改调试后最终测试,该工具工作运行正常,能够准确地实现需求分析里的功能。但有点遗憾是因为没有上层的oa办公流程解释器、办公流程引擎等等程序,未能真正的实现一次办公自动化的整个流程。该可视化流程设计工具是一个实验性的程序,在有些功能的编写上不是非常合理。例如:1 在选择节点的功能实现上做的不够好,它需要先点一下绘图板上的选择节点键再绘图板上的节点才能将它选中,而不是直接在绘图板上点击节点选种对象,这样直接造成工作效率降低。选择弧线也是同样情况;3 在保存节点关系的时候不能按自己意愿输入保存xml文件名而是由机器按时间生成xml文件名;4 在读取节点关系的时候只能够读取最近一次保存的节点关系。5 因为是实验性的程序,在本论文中所描述的流程设计工具在开发中直接使用了实例模型,而不能对节点自定义属性;这些不足也是以后将此工具逐步完善的动力和信心的来源。