基于MVC模式下机关办公自动化系统OAB核心功能的实现.docx
《基于MVC模式下机关办公自动化系统OAB核心功能的实现.docx》由会员分享,可在线阅读,更多相关《基于MVC模式下机关办公自动化系统OAB核心功能的实现.docx(40页珍藏版)》请在冰豆网上搜索。
基于MVC模式下机关办公自动化系统OAB核心功能的实现
基于MVC模式下机关办公自动化系统(OAB)核心功能的实现
本科毕业设计(论文)
题目:
基于MVC模式下机关办公自动化系统(OA-B)核心功能的实现
Subject:
ThecornfunctiondesignofOA-BsystembasedonMVCpattern
毕业论文(设计)原创性声明
本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。
据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。
对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。
作者签名:
日期:
毕业论文(设计)授权使用说明
本论文(设计)作者完全了解**学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。
有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。
学校可以公布论文(设计)的全部或部分内容。
保密的论文(设计)在解密后适用本规定。
作者签名:
指导教师签名:
日期:
日期:
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
3)其它
摘要
MVC模式是一种可应用于J2EE的开放式框架结构。
它允许Web页面或其它浏览内容(视图层)能够最大限度的与内部代码(模型/控制层)分离开来,从而使设计者和程序员能够将注意力集中在他们各自的专门技术上。
并因Java的“一次写入后,任何处运行”的特性而提高了开发效率。
本论文着眼于在JBuilder环境下应用MVC模式开发机关办公自动化系统的核心功能,即发/收文管理、工作流控制以及用户管理。
本论文以我们OA小组开发的机关办公自动化系统WebOA为例,介绍了由本人参与设计的发/收文工作流模块和用户管理模块的相关技术,并进行程序结构分析和具体功能实现阐述。
关键词:
MVC模式J2EE相关组件机关办公自动化
发\收文管理工作流用户管理
ABSTRACT
MVCisanopensourceframeworkforJSPWebapplications.ThisdesignmodelallowstheWebpageorothercontents(View)tobemostlyseparatedfromtheinternalapplicationcode(Controller/Model),makingiteasierfordesignersandprogrammerstofocusontheirrespectiveareasofexpertise.ItimprovetheefficiencyofthedevelopmentprocessthankstoJAVA“WriteOnce,runanywhere”nature.
ThisdissertationfocusesonimplementationofMVCpatternstodevelopeOfficeAutomaticsystemforBureau(OA-B)whichrunonJBuilderenvironment,andmainlyintroduceitskernelfunctionstheorysuchasMessageSend&ReceiveManage,WorkflowControlandUserManage.
ThisdissertationintroducesthefunctionofimplementedofficeautomationforbureaunamedWebOAbyourOAteam.Italsoexpatiateitsrelativetechnologywhichwereconcernedanddesignedbymeaswellasthissystem’sMessageSend&ReceiveManage,WorkflowControlandUserManagestructureandanalysisofimplementationindetails.
Keyword:
MVCPatternsJ2EErelativetechnologyOA-B
MessageSend&ReceiveManageWorkflowControlUserManage
第一章绪论错误!
未定义书签。
1.1研究背景错误!
未定义书签。
1.2OA-B概念的提出错误!
未定义书签。
第二章系统相关技术简介错误!
未定义书签。
2.1系统开发架构错误!
未定义书签。
2.2系统所采用的主要技术分析错误!
未定义书签。
2.2.1系统采用的MVC模式架构错误!
未定义书签。
2.2.2系统采用的J2EE相关标准组件技术错误!
未定义书签。
2.2.3Browser/Server系统的三层体系结构错误!
未定义书签。
2.3系统的运行环境和开发平台错误!
未定义书签。
2.3.1系统的开发平台错误!
未定义书签。
2.3.2系统运行环境错误!
未定义书签。
第三章系统功能结构错误!
未定义书签。
3.1OA-B模式错误!
未定义书签。
3.1.1基本需求:
报文传递功能错误!
未定义书签。
3.1.2应用模式:
工作流错误!
未定义书签。
3.1.3数据整合:
复合型文档错误!
未定义书签。
3.2本系统功能模块错误!
未定义书签。
第四章核心子系统模块设计错误!
未定义书签。
4.1发/收文管理错误!
未定义书签。
4.1.1M-V-C模式分析发文管理错误!
未定义书签。
4.1.2发文工作流数据库实现错误!
未定义书签。
4.1.3收文查询中值对象控制错误!
未定义书签。
4.2用户权限管理错误!
未定义书签。
4.2.1用户权限的数据库逻辑结构错误!
未定义书签。
4.2.2用户管理数据库的物理结构错误!
未定义书签。
第五章小结错误!
未定义书签。
结语错误!
未定义书签。
致谢错误!
未定义书签。
参考文献错误!
未定义书签。
附录:
发文管理源代码错误!
未定义书签。
第一章绪论
1.1研究背景
办公自动化(OfficeAutomation,简称OA),是以先进成熟的计算机和通信技术为主要手段,建成一个覆盖政府企业等部门的办公信息系统,提供企事业单位与其他专用计算机网络之间的信息交换,建立高质量、高效率的政府信息网络,为领导决策和办公提供服务,实现办公现代化、信息资源化、传输网络化和决策科学化。
由于OA所含盖的范畴太广,只要是与信息通信相关的办公软件仿佛都可以与OA挂钩,导致市场中的OA产品质量水平参差不齐,尽管客户对其需求量大,但能满足要求的产品并不多,我们通过调研发现,主要有如下缺陷:
1.功能华而不实。
不少产品看上去非常全面,很多功能却难以实现,而且真正核心的功能做的并不深入,反而造成资源上浪费。
2.面向群体无针对性。
OA是要面向客户群体的,很多产品标榜其可以用在任何办公环境,但结果是哪里都能用,哪里都用不好。
OA工作环境的性质决定其必须能针对某类工作流程比较固定的单位。
3.行业规范性不强。
OA针对的是具有一定办公标准的行业,这就要求所研制的软件应用时有严格的且符合该行业设计规范公文文档和工作流程
1.2OA-B概念的提出
从上述要求出发,我们提出OA-B(OfficeAutomationforBureau)的概念,即机关办公自动化系统。
机关办公自动化系统是实现机关内部各级部门之间以及机关内外部之间办公信息的收集与处理、流动与共享、实现科学决策的具有战略意义的信息系统。
经过市场调查,我们发现,一个成功的OA-B最应具有是以下特点:
1.能适应灵活多变办公自动化业务的流程化处理手段。
2.各子系统间数据集成化,且OA系统能在不同职能部门系统间完成信息双向传递。
而这些系统本身可以是完全异构的、分散的。
3.由于涉及重要的政务办公信息,信息系统的的安全性与完整性,及可配置管理是随时应该考虑的特性。
4.技术的符合标准与先进性。
特别是办公文档和工作流程必须符合所应用行业的规范。
第二章系统相关技术简介
2.1系统开发架构
本系统采用JSP+Servlet+JavaBean的三层架构开发模式。
此模式遵循视图控制器M-V-C模式,其基本构想是使用一个或多个Servlet作为控制器。
请求由前沿的Servlet接收并处理后,会重新定向到JSP。
在Servlet作为控制器时,每个Servlet通常只实现很少一部分功能,多个Servlet控制器就可以结合起来完成复杂的任务,这样的好处是Servlet的重用性好。
在此模式中,JavaBean作为模型的角色,它充当JSP和Servlet通信的中间工具,Servlet处理完后设置Bean属性,JSP读取此Bean的属性,然后进行显示。
此模式更加明显的把显示和逻辑分离,使代码容易管理,适合于大型项目的开发,所以在本系统中采用了这种模式。
此模式的数据传递关系如图1-1所示。
图1-1OA-B开发模式数据传递关系
2.2系统所采用的主要技术分析
2.2.1系统采用的MVC模式架构
通过模型、视图和控制架构(M-V-C)以实现简单高效的应用程序升级和维护,以及如何让不懂程序代码的人员避开程序数据。
MVC的架构是一个描述重现的问题及其解决方案的设计范式,但每次问题重现时,解决方案都不会完全相同。
MVC设计范式包括三种对象:
1、模型(model)提供应用业务逻辑(EnterpriseBeans类)。
2、视图(view)则是其在屏幕上的显示(html页面、JSP页面、SwingGUI)
3、控制器则是Servlet、JavaBeans或SessionBeans类,它用于管理用户与视图发生的交互。
2.2.2系统采用的J2EE相关标准组件技术
J2EE平台为多层的分布式模型,组件再用,一致化的安全模型以及灵活的事务控制。
应用客户组件、EnterpriseBeans组件、Servlet及JSP页面组件、Applet等。
1、JSP(JavaServerPages)技术——本系统中充当MVC的V部分—视图表示(Viewer)。
2、Servlet技术——Applet的服务器端版本,是由Web服务器装入、用于处理客户请求的Java程序。
本系统中作为MVC中的C部分—控制器(Controller)。
3、JavaBean技术——重用组件技术(独立的可重复利用的模块,负责数据库交互以及数据提取,许多动态页面处理过程被封状到了JavaBeans中)本系统中作为MVC中的M部分—模型(Model)。
4、JDBC技术——是用于执行SQL语句的Java应用程序接口,由一组用Java语言编写的类与接口组成,JSP中通过JDBC—ODBC桥驱动程序访问访问数据库。
本系统中主要与三层架构中的数据层进行交互。
2.2.2Browser/Server系统的三层体系结构
在Browser/Server的系统中,用户可以通过浏览器向分布在网络上的许多服务器发出请求。
Browser/Server结构极大的简化了客户机的工作,客户机上只需安装、配置少量的客户端软件即可,服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。
在Browser/Server三层体系结构下,表示层(Presentation)、功能层(BusinessLogic)、数据层(DataService)被分割成三个相对独立的单元:
第一层--表示层:
Web浏览器
在表示层中包含系统的显示逻辑,位于客户端。
它的任务是由Web浏览器向网络上的某一Web服务器提出服务请求,Web服务器对用户身份进行验证后用HTTP协议把所需的主页传送给客户端,客户机接受传来的主页文件,并把它显示在Web浏览器上。
第二层--功能层:
具有应用程序扩展功能的Web服务器
在功能层中包含系统的事务处理逻辑,位于Web服务器端。
它的任务是接受用户的请求,首先需要执行相应的扩展应用程序与数据库进行连接,通过SQL等方式向数据库服务器提出数据处理申请,而后等数据库服务器将数据处理的结果提交给Web服务器,再由Web服务器传送回客户端。
第三层--数据层:
数据库服务器
在数据层中包含系统的数据处理逻辑,位于数据库服务器端。
它的任务是接受Web服务器对数据库操纵的请求,通过JDBC/JavaBean访问数据库,实现对数据库查询、修改、更新等功能,把运行结果提交给Web服务器。
通过分析可以看出,三层的Browser/Server体系结构是把二层Client/Server结构的事务处理逻辑模块从客户机的任务中分离出来,由单独组成的一层来负担其任务,这样客户机的压力大大减轻了,把负荷均衡地分配给了Web服务器
2.3系统的运行环境和开发平台
2.3.1系统的开发平台
建议使用Borland公司推出的用于连接数据库以及Web应用开发平台产品JBuilder作为我系OA实验室的相关系统的开发工具。
2.3.2系统运行环境
1、服务器端运行环境
服务机:
有网络接口卡(NIC)的高性能PC机,512MRAM,硬盘80G以上。
操作系统:
Windows2000SERVER
Web服务器:
APACHETOMCAT
数据库服务器:
MICROSOFTSQLSERVER2000
2、客户端运行环境
客户机:
有网络接口卡(NIC)的PC机,128MRAM,
操作系统:
Windows2000Professional
浏览器:
MicrosoftInternetExplorer5.0以上。
第三章系统功能结构
3.1OA-B模式
就一般来说,OA-B均以公文处理和机关事务管理为核心,同时提供信息通讯与服务等重要功能。
因此,典型的OA应用包括收发文审批签发管理、公文流转传递、政务信息采集与发布、内部请示报告管理、档案管理、会议管理、领导活动管理、政策法规库、内部论坛等等应用。
核心功能概念的提出
如果我们从系统功能角度对上述办公自动化
应用做一分析,就会发现办公自动化软件
的这样几个功能其中的核心功能,即报文
传递、工作流、复合型文档,可以说是最小
子集。
如图3—1。
这些功能需求是我们选择办公自动化应用图3—1
系统的开发与使用平台时必须考虑的判断依据:
3.1.1基本需求:
报文传递功能
报文传递系统作为信息传递与共享的工具和手段,满足OA-B最基本的通信需求。
换言之,MTS(MessageTransportationSystem)作为通信基础设施,主要提供了两方面的功能:
从信息技术的角度出发,报文传递功能是一种“推”技术,即发送方(Sender)将信息通过存储转发技术推给接收方(Receiver)。
从用户使用习惯出发,报文传递功能是办公自动化系统的“门户”。
因为在OA上工作的人员很容易养成一种工作习惯,每日查看自己的收件箱,阅读处理有关信件;而且功能高级完整的报文传递系统一般都具备新信件到达提示功能。
因此,OA-B可以利用报文传递系统的特点将每一项需要工作人员处理的信息或通知,制成信件,直接投递到工作人员的收件箱中。
在一个OA-B中,针对不同的业务需求,通常包含了多个应用子系统,如发文、收文、信息服务、档案管理、活动安排、会议管理等等,可以将收件箱作为所有这些办公应用子系统的统一“门户”,每一个用户通过关注自己的收件箱就可以了解到需要处理的工作,而不必经常性地来回检查不同的应用系统,看看哪些是需要处理的工作(在这种情况下,如果由于某种人为原因,没有及时查阅某个应用系统,就可能造成工作的延误)。
办公自动化应用系统以报文传递作为统一入口的设计思想,可以大大减少培训的工作量。
3.1.2应用模式:
工作流
所谓的工作流就是一组人员为完成某一项业务所进行的所有工作与工作间的交互过程。
几乎所有的业务过程都是工作流,特别是办公自动化应用系统的核心应用——公文审批流转处理、会议管理等。
每一项工作以流程的形式,由发起者(如文件起草人)发起流程,经过本部门以及其他部门的处理(如签署、会签),最终到达流程的终点(如发出文件、归档入库)。
工作流程可以是互相连接、交叉或循环进行的,如一个工作流的终点可能就是另一个工作流的起点,如上级部门的发文处理过程结束后引发了下级部门的收文处理过程。
工作流程也可是打破单位界限的,发生于机关以及与机关的相关单位之间。
如及时地收回和赋予不同人员的操作权限(如起草人起草文件完毕即不可修改文件内容,而其上级领导获得文件的签署权或对内容的修改权)、主动提示和催促工作人员实现某一阶段的处理,从而整体提高工作流处理的效率。
工作流自动化有2种实现模式,即:
基于邮件和基于共享数据库。
基于邮件的工作流应用,就是通过邮件将数据表单从一个人邮箱传送到另一个人邮箱。
其特点是模式简单。
但是,最大的弊病是无法实行监控,没有一个管理者可以随时掌握工作流的动态。
其它问题包括:
难以实现自动化处理如通过代理催办、集中归档、统计;数据容易出现多份拷贝,难以控制安全性和准确性;大量的邮件传输引发大量的网络流量。
基于共享数据库的工作流应用,可以克服上述基于邮件的工作流缺点。
如信息单一存储,自动处理,安全性更好,容易实现监控。
但是,工作流的驱动成了一个问题,因为缺乏信息通讯机制,无法主动通知有关人员进行下一步的工作。
本系统工作流采用基于共享数据库模式开发。
3.1.3数据整合:
复合型文档
复合文档型数据不同于传统数据类型。
办公自动化所处理信息的载体大多是以文件、报表、信函、传真等形式出现,因此办公自动化系统是典型的文档处理系统。
对“复合文档数据”或“对象数据”的表示和存储管理是数据库技术领域的新领域。
一般认为,关系数据库系统(如Oracle、DB/2、SQLServer、Foxpro等)适合传统数据类型(结构化信息)的表示和存储,但是对复合文档数据的处理就有“削足适履”之感,并非能够完全表达信息和存储效率最高。
因此,“文档数据库”或“对象存储”的概念就被引入数据库领域,其目标就是针对新出现的需求,高效率地表达和存储管理“复合文档数据”。
一言以蔽之,办公自动化系统由于其对复合文档数据的处理要求,必须以文档数据库为核心建立,同时选择性地结合关系数据库。
从信息技术的角度出发,数据库技术代表了“拉”技术,即信息共享技术。
信息被集中存储管理,当用户需要信息时,主动地将数据库中的信息“拉”到自己的工作站上进行处理。
另外,作为扩展功能的协同工作、必须具备的安全性控制以及可附加的Internet集成功能也在办公自动化系统中扮演着重要的角色。
3.2本系统功能模块
其基本思想是把整个系统按照实现功能进行分解利用JSP+JavaBean+Servlet进行编程。
已实现的系统的功能结构模块如图3-2所示。
图3-2OA-B系统结构图
而其下又可以分为子系统结构图。
图3-3用户管理子系统功能模块图
第四章核心子系统模块设计
前面我们已经提出了作为一个OA系统的核心功能应是报文传递、工作流和复合型文档,再加上对用户人员的权限管理,我们即可以称之为一个精简功能的OA-B系统,已能应付一般的机关处室的日常工作。
我们知道,在OA-B中对应报文传递功能的实现发/收文管理,而在从发文到收文的过程中又可以看成是一个工作流。
因此,毫无疑问,在OA-B系统中是它是真正的核心。
用户做为支撑该软件中的“人”的因素,不可或缺的是一个用户权限管理功能。
而在其中有包含了与动态管理相对应的数据库连接技术。
本章我们以发/收文管理和用户管理的实现为例,介绍OA-B设计原理。
4.1发/收文管理
因为对每一种对象的管理都比较类似,在此仅以行政办公中的发文、收文管理公文为例,来分析一下本系统中的数据流向。
根据图1-1的OA-B开发模式数据传递图我们可以大致了解到发文过程的原理,即有图4-1。
4.1.1M-V-C模式分析发文管理
图4-1发文模式数据传递实例图
第一步:
Controller→Model←→SQLServer
用户作为拟稿完成后,通过Http发出发文请求(SendRequest),作为的控制器的Servlet通过调用Web配置文件web.xml向JavaBean发出控制信号,并对其赋值。
而JavaBean中的一个值对象(ValueObject,即VO)将通过JDBC连接SQLServer数据库,从中调出所需信息返回给VO,实现了在模型层与数据库的交互。
第二步:
Controller→Viewer←→Model
Servlet又向JSP发出从JavaBean中读取数据库信息的信号,在视图层的JSP页面在从JavaBean调出信息,生成发文拟稿页面,完成一次发文。
4.1.2发文工作流数据库实现
在本系统中,发文模块流程为参考流程为:
开始——>[申请人(拟稿)]提交——>[同部门工作人员(核稿)]——>[部门领导(审稿或会签)]——>[办公室文员(校稿)]——>[办公室主任(定稿)]——>[单位领导(签发)]——>[拟稿人(处室复核)]——>[公文管理员(归档)]——>结束
以拟稿到和核稿为例,流程图为图4-2所示。
图4-2发文管理→从审稿到核稿流程图
由于整个发文流程很复杂,故我们采用树型结构来实现它,表4-1为其在SQL中的发文流程的结点表。
表4-2为发文工作流信息表。
表4-2中已定义了各字段的属性,而其中的Direction是控制方向,R值代表指向后一步操作,L值代表指向前一操作,这样就保证了流程的通畅。
表4-1发文工作流表
Node_No_S
Node_No_E
Direction
Flow_name
Flow_Desc
Order_by
Workflow_No
0000001
0000002
R
拟稿提交
从拟稿到核稿