1、B/S结构下的OA流程可视化的研究与实现摘 要工作流是指整个或部分业务流程在计算机支持下的全自动或半自动化。在计算机网络环境下,工作任务在多个人或单位之间的流转实际上将表现为信息或数据在多个人之间的传送。使用可视化的OA工作流设计工具,用户不需要编程就可以定义设计出满足要求的收发文流程,实际使用效果良好。论文以可视化的OA工作流设计工具的开发为基础,主要阐述五个方面的内容。第一部分介绍了工作流和工作流设计工具的相关概念与开发背景;第二部分对工作相关基础理论技术、系统环境与平台基础、以及开发技术进行了描述;第三部分对系统功能进行了分析;第四部分详细介绍了系统流程、流程可视化设计的实际开发过程中使
2、用到的关键技术;最后一部分在总结了系统开发心得的同时,提出了目前系统存在的不足和有待改进的地方。关键词:工作流;流程定义;可视化;Java AppletThe Research and Implementation of Visual OA workflow Based on B/S StructureAbstractWorkflow is a full automation or semi-automation on business process, which is supported by the computer technology. In the distributed envi
3、ronment, tasks transferred among different persons and departments are information or data passed among participants according to the defined set of rules. Using visual OA workflow designing tools, users can define and design receiving and ending document workflow without programming. The actual res
4、ult is very satisfactory. This paper is based on the development of visual OA workflow designing tools. And it consists of five parts. The first part introduces the workflows, the related concepts and the developing background of the tools designing it. The second surveys the work-related theory and
5、 developing technology. The third one carries on the analysis of the system functions. The fourth deals with following parts in detail: the system flow, the system environment and the essential technology of designing for the platform foundation and the visible flow in the actual developing performa
6、nce. The last part is summarized the attainment of system-developing. And at the same time, the insufficiency and the improvements are also included in this part.Key words: workflow;flow define;visual;Java Applet目 录论文总页数:30页1 引言 .11.1 课题背景 .11.2 技术可行性研究 .11.2.1 Java Applet 技术的可行性研究 .11.2.2 XML 技术的可行
7、性研究 .11.2.3 Microsoft Office Access 2003 数据库的可行性研究 .12 相关基础理论技术以及开发技术 .12.1 工作流的定义与存在问题描述 .22.1.1 OA 中工作流的定义 .22.1.2 工作流中的流程定义问题 .32.2 java applet 和 applet 绘图技术的介绍 .32.2.1 applet 的介绍 .32.2.2 Applet 的 AWT 绘制 .42.3 系统环境与平台基础 .53 系统需求分析与总体设计 .53.1 系统需求分析 .53.2 系统功能介绍 .53.3 系统模块功能和设计思想 .63.4 数据库设计 .73.4
8、.1 E-R 图设计 .73.4.2 表的构建 .83.4.3 数据库连接实现 .94 系统功能模块实现 .94.2 流程可视化设计实现 .104.2.1 界面可视化 .104.2.2 绘图功能设计 .114.2.3 流程图保存和读取方法设计 .174.2.4 节点间关系保存的实现 .235 系统测试结果及存在的问题和改进的方案 .27结 论 .28参考文献 .28致 谢 .29声 明 .30第 1 页 共 30 页1 引言1.1 课题背景办公自动化(OA-Office Automation)是将现代化办公和计算机网络功能结合起来的一种新型的办公方式,通过网络,组织机构内部的人员可跨越时间、地
9、点协同工作。OA中涉及到诸多业务流程,流程的定义对与OA系统中业务的自动流转具有十分重要的意义,但是在一般B/S模式下的OA系统,对于流程的定义都是文字型或者表单形式的,而不是图形化的,因为基于HTML解析的B/S在绘图方面存在缺陷,因此大多B/S的OA系统在流程定义时,为了达到可视化的效果,都采用了流程定义用C/S来辅助。但是java中的applet技术可以实现在B/S下的绘图,因此,结合applet技术,可以在B/S系统中直接尝试流程的可视化定义研究。1.2 技术可行性研究在对可视化流程设计工具的研究和实现过程中一共用到了三种技术:Java Applet、XML 、Microsoft Of
10、fice Access2003。在技术难度方面,由于有指导老师的指导和相关的参考文献,使得在开发过程中所遇到的困难都能够一一得到解决。1.2.1 Java Applet 技术的可行性研究本系统利用 Java Applet 作为开发工具,是因为成熟的 Java 技术采用面向对象的编程方法把程序和数据封装起来作为一个对象,并为每个对象赋予相应的属性。而 Java Applet 具有能嵌入到浏览器中运行,能通过可视化技术手段实现绘图功能,能连接数据库服务器和应用服务器等这些特点,完全满足了此次 B/S 结构下 OA 流程可视化研究和实现的各种要求。1.2.2 XML 技术的可行性研究“可扩展标记语言
11、”(XML) 提供一种描述结构化数据的方法。与主要用于控制数据的显示和外观的 HTML 标记不同,XML 标记用于定义数据本身的结构和数据类型。利用 XML 技术可实现将绘制图形中的节点关系和图形信息保存在XML 文件中并通过 XML 文件提供上层接口服务的功能。1.2.3 Microsoft Office Access 2003 数据库的可行性研究系统采用 Microsoft Office Access 2003 作为开发数据库,使用于中度规模的数据录入要求。它通过工具界面所提供的组件输入数据到数据库,可以使用查询设计和 SQL 实现查询并生成报表。2 相关基础理论技术以及开发技术第 2 页
12、 共 30 页2.1 工作流的定义与存在问题描述2.1.1 OA 中工作流的定义当今社会分工越来越细,在一个单位内部也越来越强调专业化,大部分工作都需要多个部门和员工合作完成。一个制度良好的单位往往对各种工作的工作流程以文件的形式固定下来,即使是管理不太正规的单位也有约定俗成的工作步骤。这种工作流程保证了一件任务能按预定的顺序从起点流向终点,并且在需要的时候可以跟踪、查询和统计。工作流(workflow )的概念是为提高工作效率的研究而产生的,目前尚无统一、明确的定义。工作流管理联盟(WorkFlow Management Coalition ,WFMC)将工作流定义为:业务流程的全部或部分自
13、动化,在此过程中,文档、信息或者任务按照一定的过程规则流转,实现组织成员间的协调工作以期达到业务的整体目标。工作流包括以下几个要素:实体(Entity):是工作流的主体,是需要随着工作流一起流动的物件(Object)。例如,在一个采购申请批准流程中,实体就是采购申请单;在公文审批流程中,实体就是公文。参与者(Participant) :是各个处理步骤中的责任人,可能是人,也可能是某个职能部门,还可能是某个自动化的设备;流程定义(Flow Definition) :是实现某工作目标而要完成的一系列步骤的描述。它包含了所有使业务过程能被工作流执行服务的必要信息。这些信息包含起始和终止条件、各个组成
14、活动、活动调度规则、各业务的参与和需要做的工作、相关应用次序和数据的调用信息等。过程由活动和相关数据组成。流程定义工具被用来创建计算机可处理的业务过程描述。它可是形式过程定义语言或对象关系模型,也可以是简单地规定用户间信息传输的一组路由命令。在本论文中所研究的可视化流程设计工具就是一种通过 Java 语言实现的利用图形来定义业务流程模型的一种工具。WFMC 对工作流有一个简化的定义由一个四元组Pt,Pa,Dt,Ti对其进行描述:1)工作流参与者(Workflow Participant):定义活动的执行者,执行者可以是人和其他实体。2)工作流过程活动(Workflow Process Acti
15、vity):定义工作流活动的执行步骤,它可分为原子活动和子工作流过程。前者不可再分,后者可由原子活动和其他第 3 页 共 30 页子工作流组成。3)工作流相关数据(Workflow Relevant Data):定义工作流活动和应用所涉及的数据信息,它们可能包含系统和环境数据。4)跃迁信息(Transition Information):定义工作流活动执行的依赖信息,决定活动之间的跃迁、一个活动的完成可能对其他活动的执行产生影响。下面给出一个例子,并用上面的定义的规范进行分解:Pt = 拟稿人(处员)A,处室领导B,处室会签负责人 C,领导D,核稿人E,打字员 F,档案室GPa = 拟稿a ,
16、送审b,送核稿 c,审核d,写审核意见 e,送会签f,会签意见g,返回拟稿人h,写核稿意见i,送领导批示j,编号k,送打字室l,写批示意见m,返回核稿人n,排版印刷o,封发p,送档案室q ,归档r Dt = 文件Ti = Pt(i):-t Pt (j) 表示从一个状态到达另一个状态,t 是触发条件,这些定义和例子将是我们通过流程设计工具设计流程时的参考。2.1.2 工作流中的流程定义问题在一般B/S模式下的OA系统,对于流程的定义都是文字型或者表单形式的,而不是图形化的,因为基于HTML解析的B/S在绘图方面存在缺陷,因此大多B/S的OA系统在流程定义时,为了达到可视化的效果,都采用了流程定义
17、用C/S来辅助。而java中的applet技术恰恰可以实现在B/S下的绘图,因此结合applet技术可以在B/S系统中直接尝试流程的可视化定义研究。如何将上一小节的工作流定义转变成 B/S 结构下的 OA 系统可以具体运行的程序?首先在数据库中设计一组表单作为状态的模板,用一 XML 文档来保存流程图形的状态,所有 XML 文档保存在一个数据库 XML 表中。上层接口通过读取并解释数据库中的 XML 文件来实现工作流程。来如何设计出有效的可视化流程设计工具是本文的重点。2.2 java applet 和 applet 绘图技术的介绍2.2.1 applet 的介绍Applet 是使用 Java
18、 语言编写,可以在浏览器环境中运行的小应用程序。它与Application 的区别主要在于其执行方式的不同。 application 是从其中的 main() 方法开始运行的,而 Applet 是在浏览器中运行的。首先必须创建一个 HTML 文件,通过编写 HTML 语言代码告诉浏览器载入何种 Applet 以及如何运行。就因为第 4 页 共 30 页applet 能在浏览器里运行的这一特点,满足了 B/S 结构下的浏览器界面的需求,所以我们为选择了 applet 作为可视化 OA 工作流程设计工具的开发工具。 小应用程序的生命周期相对于Application 而言较为复杂。在其生命周期中涉及
19、到Applet类的四个方法(也被JApplet类继承):init()、start() 、stop()和destroy() 。Applet的生命周期中有四个状态:初始态、运行态、停止态和消亡态。当程序执行完init()方法以后,Applet程序就进入了初始态;然后马上执行start()方法,Applet程序进入运行态;当Applet程序所在的浏览器图标化或者是转入其它页面时,该Applet程序马上执行stop()方法,Applet 程序进入停止态;在停止态中,如果浏览器又重新装载该Applet程序所在的页面,或者是浏览器从图标中复原,则Applet程序马上调用start()方法,进入运行态;当然
20、,在停止态时,如果浏览器关闭,则Applet程序调用 destroy()方法,进入消亡态。2.2.2 Applet 的 AWT 绘制 Applet 程序中所采用的 AWT 的绘图机制主要涉及三个方法:paint()方法、update()方法和 repaint()方法 ,update()方法和 paint()方法都有一个 Graphics 类参数。Graphics 是画图的关键, 它可以支持两种绘图:一种是基本的绘图,如:画线、矩形、圆等;另一种是画图象,主要用于动画制作。 要进行绘图,首先要找到一个 Graphics 类的对象。update()方法和 paint()方法所传递的参数都是 Gra
21、phics 类的对象,因此主要是通过重载它们来进行绘图,这是在动画程序中经常使用的方法。我们还可以通过 getGraphics()方法得到一个Graphics 类的对象,这个对象和 update()方法和 paint()方法中所传递的对象一样,都是该成员所对应的 Graphics 类的对象。得到了 Graphics 类的对象,就可使用各种绘图方法。 Graphics 中提供的图形绘制方法有: paint( ) /进行绘图的具体操作,必须有程序员重写 update( ) /用于更新图形,先清除背景、前景,再调用 paint() repaint( ) /*用于重绘图形,在组件外形发生变化,即大小改
22、变或位置移动时,repaint( )方法立即被系统自动调用,而实际上 repaint()方法是自动调用 update()方法*/ 下面的方法支持基本的绘图和画图像: void drawLine( ) /画直线, void drawArc( ) /画弧线,void drawPolygon( ) /画多边形, void drawRect( ) /画矩形,第 5 页 共 30 页void drawRoundRect( ) /画带有圆角的矩形,void fill3DRect( ) /画三维矩形,void fillOval( ) /画椭圆,这些方法都是来自于 java.awt.Graphics 类 2.
23、3 系统环境与平台基础OA 可视化工作流设计工具在 Java 环境基础上,后台以 Microsoft Office Access 2003 为数据库平台,前台采用具有较强跨平台性的 Java Applet 开发。具体环境描述如下:Microsoft Windows Server 2003;Microsoft Office Access 2003;jdk1.5.0_09;Eclipse 3.1。3 系统需求分析与总体设计3.1 系统需求分析在最近几年的各级单位的信息化改造建设中,随着信息化基础设施建设的逐渐完备,各类应用系统开始受到各级单位的重视,开发重点主要侧重于人事信息数字化、文书信息化、公
24、文流转、交互式审批等信息化可行性高的工作领域。 因此,改革传统办公模式,开展电子办公,使业务办公、公文流转和管理过程电子化、信息化,并通过统一办公规范,提高工作效率降低办公成本,实现办公自动化已势在必行。 而上述所介绍的公文流转的一个重要特征就是流程复杂,难以用标准的程序化语言解释,因而公文流转系统必须有与之相适应的工作流程定义系统,使操作人员能够自主地设定公文流转流程。为此我们设计了一个可视化流程设计工具,该工具可以作为工作流管理系统里的一个模块。它具有图形用户界面,用户定义与任务执行完全分离,其体系结构基本上符合WFMC 标准结构。用户不需要程序员的支持就可以定义和设计出工作流程模型,根据
25、该模型生成的文件可以非常方便地被解释为上层接口所需的工作流。3.2 系统功能介绍可视化 OA 工作流程设计工具针对用户的要求对工作流程进行定制和维护,主要包括:对接点、接点连接线可自由拖放。具备删除节点、节点之间连接线功能。接点之间采用箭头连接。接点采用矩形表示。图形内容利用 XML 形式保存于的Access 数据库中,可查询,编辑,保存,更多自定义属性。通过对用户需求的分析,要求本流程设计工具具有以下功能: (1)可视化的操作界面;第 6 页 共 30 页(2)可以对流程节点和弧线进行填加、修改、删除操作; (3)工作流程支持串签、会签和分支流程;(4)可以将图形内容保存于 access 数
26、据库或(xml)中,可查询,编辑,保存;(5)可以通过流程模型解释接口和引擎主程序提供给上层程序使用3.3 系统模块功能和设计思想1994年11月,工作流管理联盟发布了工作流管理系统的参考模型,该模型定义了一个基本的工作流管理系统所需要的6个基本模块:过程定义工具,工作流执行服务,其他工作流执行服务,客户应用程序,被调应用程序,管理及监控工具;并制定了个模块之间的接口标准。流程设计工具与其系统交互的简单模块关系图:流程设计工具流程定义解释器引擎主程序API 接口启动、终止、提交生成流程实力事件监听器路由判断器过程调用器图1 流程设计工具与其系统交互的简单模块关系图可视化流程设计工具流程定义解释器绘图模块 图象关系序列化模块 图象关系保存模块图 2 可视化流程设计工具的系统关系图
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。