基于组件技术的公文流转系统
1、 公文流转概述 1.1 引言
以计算机及网络为标志的信息技术的迅速发展引起了世界各国的广泛关注,21世纪是网络经济时代,随经济全球化、网络信息、电子商务的高速发展,企业急需一种高效、便捷的基于互联网的办公平台以适应时代发展的需要。因此,企业急需一种能集企业网站、信息管理和办公自动化于一体的系统,能实现企业管理过程中计划、组织、领导、协调、控制等职能。
因此,这就使得这类系统大部分采用B/S结构体系及数据库管理技术,能基于INTERNET环境的信息管理平台。
公文流转系统作为网上办公系统的一个核心模块,关系到整个网络办公的使用与发展,同时“公文处理”是企事业单位最复杂、最重要的办公业务,它直接体现了企事业单位中领导的行政职能,是企事业办公自动化系统中最基本的功能模块。而在传统的手工作业的公文流转系统中,存在着低效率、少监督、欠管理的弊病,因此,一个好的电子公文流转系统是确保企事业单位高效办事、规范管理的基础。
面对层出不穷的电子公文系统,如何选择一个适合自身的解决方案是诸多企业面对的一个问题。下面本文将从几个方面对其进行探讨,并提出一种适合不同企事业单位的公文系统的解决方案以及相应的安全措施。
1.2 项目背景
企事业单位的办公自动化系统主要是对非结构化数据的流转和管理,系统中存在大量的文本、图片信息,我们称之为非结构化信息。如公文流转模块中的公文,公共信息模块中的机构刊物,政策法规模块中的政策法规,档案管理中的档案等。这里面都存储了大量的文字资料、图片资料,还可能会存储多媒体等非结构化信息,为提高这些非机构化信息的管理查询效率;实现对系统中的非结构化信息全文检索功能,这种检索在未来的应用中可能会出现跨平台、跨系统、跨服务器的联机检索,因此对于大量的非结构化信息应该使用文档数据库的方式进行存储。
现在的行政事业机关部门,都会有大量的文案需要处理,复杂的工作流程需要安排,决策者需要依据纷乱的信息做出重要的决定。拥有一套智能化、信息化的办公系统,对办公人员和企业决策者来说,工作效率上的提高是显而易
见的。在网络连接千万家的时代,办公自动化的发展是一个不断进化的过程,随着电脑和网络技术的发展可以分为以下几个阶段:办公电脑化,单位有了电脑,可以打印文件,保存数据,用一些单机版软件等。办公网络化:单位的电脑有了局域网并连上了互联网,实现了资源共享,但内部缺乏秩序和安全。网络程序化,在办公网络化的基础上,有了网络办公软件的办公平台,实现了轻松有序的管理。将来还可能有网络办公的智能化,办公变得越来越轻松。
公文流转系统采用现代的OA办公自动化技术,面向各类学校和教育部门,用来处理教育行政管理事务,实现无纸化办公。各学校和教育部门的信息通告,公文传送将可以通过此软件进行,行政管理部门可通过该系统进行发布通知、上级指示、审批公文等工作;该办公软件同时还能提供很好的网上交流平台,方便员工内部的沟通;上级可以对下级进行工作的指派,可以添加修改下属的工作计划。
办公自动化软件,具体来说有那些作用呢?
首先能极大地提高工作效率,不用拿着各种文件、申请、单据在各个部门跑来跑去,这些都可在网络上进行。
其次是节省运营成本:包括时间和纸张。
第三是信息管理自动化:把员工和客户资料实现归类管理,随时调用,并可设置共享,将有效的资源达到最大的利用。
第四是提高部门竞争力、凝聚力:员工与上级沟通很方便,信息反馈畅通,为发挥员工的指挥和积极性提供了舞台。无疑,企事业单位的内部的凝聚力将大大增强。
1.3 目的
编写本系统设计说明书的目的是阐述公文流转系统的总体设计方案,重点说明本系统的解决方案,软件的结构,数据库建设方案,和采用C#和ASP.NET编写B/S结构的公文流转系统的重要参考资料以及采用该系统所需系统安全性的解决方案。
2、 公文流转系统的解决方案 2.1 网络操作系统的选型
网络操作系统是网络用户与计算机网络的接口,网络用户通过它请示网络服务,网络操作系统具有处理机管理、存储器管理、文件管理、作业管理、及网络管理等功能。现在市场上流行的网络操作系统主要有UNIX,NOVELL和Windows NT。
1
UNIX系统发展了很多年,成为全世界成百上千人使用的最主要的操作系统,覆盖了从PC到大型机的各个机型,它最主要的优点是功能强大,充分支持多任务和多用户的特性至今仍然没有一个操作系统能比得上,UNIX的网络和通信功能也优于其他操作系统,另外UNIX还有一个极大的特点是开放系统的可移植性,现在其他的操作系统都不能达到这个要求。但是UNIX的缺点也是明显的,第一就是它的操作十分复杂,界面不如其他操作系统友好,没有一段相当时间的高水平培训,不可能掌握UNIX系统,另外还有就是UNIX系统的价格也远高于其它操作系统。所以近几年来,除了一些有特殊要求的地方和一些中型,大型系统外,UNIX正逐步失去市场占有率。
NOVELL公司的Netware操作系统,Netware的基本设计目标是对大型的局域网实现快速的文件和打印服务,其第二个目标就是使管理更为简单,所以在九十年代初NOVELL公司推出Netware软件后,在极短的时间内立即占领了全球局域网市场一半以上份额,它的特点是文件共享和打印速度极快,管理工具非常直观易懂,价格也低,但在客户机-服务器的设计上不如其它操作系统,所以在前几年以共享文件和打印机为主要目标的局域网中能得到很好的发展,而在今天以客户机-服务器为主要模式的网络中遇到了其它网络操作系统的强烈挑战。
Windows NT操作系统是微软公司推出的网络操作系统,它是一个伸缩性极强的网络操作系统,从INTELX86系统到大型的DEC Alpha服务器都可使用,使你在选择计算机时有更多的选择,它在运行时有多个线程,从而可支持功能更为强大的应用程序,同时通过向操作系统和应用程序提供分离的内存空间以防止数据冲突又确保了系统的稳定性,它的抢占多任务方式使操作系统能为每个应用分配足够的处理时间。它与NOVELL公司Netware不同的是,它既是一个网络操作系统,又是一个个人计算机操作系统,类似于UNIX,通过将网络功能嵌入操作系统,Windows 2000 Server将网络管理和基本操作系统完美地结合起来,并且使网络易于使用和管理,Windows 2000 Server与WINDOWS98基本界面一样,所以熟悉WINDOWS98的用户可非常方便的操作Windows 2000 Server。另外尽管Windows 2000 Serve在共享文件和打印机在大负荷下不如Netware,但它对应用程序的控制和对客户机-服务器模式的支持则要好得多。
从办公系统对网络的要求和目前现状来看,Windows NT网络是一种最佳的选择。
2.2 数据库的选择
数据库主要是用来存放数据的。就目前主流的数据库来看,主要的是采用Microsoft SQL Server或Oracle。Oracle是一个安全、可靠的并且支持面向对象设计的数据库系统。Oracle的RDBMS产品在全球数据库市场中已占有很大的份额,同时Oracle又有海量存储的特点。然而,相对与Microsoft SQL Server而言,Oracle的易用性和可维护性相对不如,而且Oracle的成本相对较高,因
2
此,我们选择了目前网络中比较盛行的Microsoft SQL Server数据库系统。
2.3 系统软件平台和开发工具的选择
由于开发的基于互联网的B/S系统,一般是采用WEB开发工具,目前比较流行的是JAVA、ASP、C#+ASP.NET。ASP虽然有很好的WEB端的前、后台处理能力,但是其安全性另人担心。而JAVA虽然很好,但由于之前选用的网络操作系统是Window 2000 Server,而且JAVA对WEB程序的控制远远不如C#+ASP.NET。而且如选用了C#+ASP.NET + Microsoft SQL Server + Windows 2000 Server,则使得整个系统统一使用了微软开发环境,不必太多的考虑系统冲突的问题,并使得系统的性能达到最优。
由于整套系统是构建在.NET FRAMEWORK上,因此,有必要简要的介绍一下.NET技术,.NET技术是2001年微软公司推出的全新概念,它代表了一个集合、一个环境、一个编程的基础 。其目的是将互联网本身作为构建新一代操作系统的基础,对互联网和操作系统的设计思想进行延伸。具体的说,.NET技术就是要在不同的网站之间建立起协定,促使网站之间的协同合作,实现信息的自动交流,从而帮助用户最大限度地获取信息,并对他们的数据进行简单、高效的管理。
对于最终用户来说,.NET技术的实现将使计算机的功能得到大幅度的提升,而计算机的操作却变得更加简单。他们将完全摆脱人为的硬件束缚,利用任何设备、通过任何系统、在任何时间、任何地点访问互联网的多维时空,并对其进行跨应用程序的集成。用户对个人信息的任何修改——无论是通过个人电脑、便携设备还是灵通卡——将即时和自动地通知到所有需要这些信息的地方。
对与应用程序的开发人员来说,.NET技术的意义更为重大。通过.NET技术,我们不必再像过去那样通过集成本系统服务来构建应用程序,花费大量的精力来考虑如何构建基本的结构,而无法专注于如何实现软件所特有的商业价值。现在,我们可以访问Microsoft .NET所提供的内容丰富的类库,直接使用各种各样来自于Internet的模块来构建自己的应用程序,而无需为不同的工作环境重新编程序,快速、高效的开发应用程序。
对于网络开发来说,借助.NET技术所提供的、基于XML的松散偶合技术,终于可以真正的将应用程序逻辑分发在网络上,而不必顾及服务器端与客户端是否属于同一种结构、执行机制是否相同、接口是否对应。Microsoft .NET将把ASP和程序集成带到一个新的水平上,将集成程序和其他的集成或非集成程序集合;把这些程序风格化;形成将针对这些应用程序编写新程序的能力;并可以在离线状态下运行他们。
Visual Studio .NET借助于Web Forms,我们可以使用他们在开发基于网页窗体的桌面应用程序时所使用技巧来创建跨平台、跨浏览器的网络应用程序。Web Forms被应用于网络的服务器端,它能高速地运行,并生成符合HTML3.2
3
规范、能够在各种浏览器上阅读的文档。同时Visual Studio .NET在创建中层商务逻辑时所表现的效率丝毫不逊于Visual Basic开发窗体程序时的效率。利用Visual Studio .NET创建的组件将为商务运作提供足够的功能和伸缩性。
2.4 方案的模型
本系统是以基于.NET framework,以 Microsoft SQL Server数据库为后台的B/S机构的程序,具体方案如图1和图2。
图1
4
图2
2.5 系统特点
由于我的公文流转系统是基于浏览器的办公自动化思想,并参考了国内其它同类软件,设计出的电子公文流转系统。该系统充分考虑到企业内的Intranet与外部的Internet互联,对外可以作为企业网站,对内是实现网上办公、移动办公、远程管理的平台。即使企业领导出差在外,也可以通过Internet网利用该系统进行文件审批、指令下达,实现移动办公。
当前国内企业内部办公系统存在以下缺点:国内办公自动化软件大都基于Lotus Notes开发,属于客户端/服务器软件,不适应Internet的发展和移动办公的需求,而且正版软件费用较高,一般企业难以负担;而客户端/服务器软件日后升级费用更高。
对于广大中国用户来说,系统界面友好,操作简单,易学易用是非常重要的。WWW技术具有开发性、可集成性、可重组性、操作简单性等特点,是目前计算机技术发展的必然趋势,它给人们一个最简单、最直接的方式漫游浩瀚的信息海洋,获取所需要的信息,办理各种事务。
该系统不仅能够对传统文档数据进行管理,而且能够对图形、图像等非机构化数据进行管理,把类似Office文档或WPS文档作为对象存放在Server非结构化多媒体文档数据库中进行管理和维护,让用户可以非常方便地交换和共享有关的信息内容。
相对于传统的文件系统和电子邮件系统,网上办公系统以WEB方式定义的文档更加灵活地被组织管理和查找,同时也更加安全(通过设定用户的访问权限)。在很多单位,已经有大量的数字化信息已经以Office文档的形式存放在每个人的电脑或文件服务器上,所以建立一套完整、有效、方便和持续的机制把这些文档管理、组织以及进行安全地交流共享具有非常重要的意义。网上办公系统就能帮助您实现多人协作、团队管理,提高整个公司的办公效率和生产效率。
3、 系统总体设计 3.1 系统总体设计
公文处理系统针对公文中各项具有规范和存档价值的正规文件进行统一的收、发、存等管理,公文指各级政府的决定、决议、通告、通知、通报、报告、请示、批复、函和会议记要等。提供全面的公文管理和归档查询功能,适应机关繁多的各种公文处理和存档的要求,既规范又灵活,可以简便直接的处理各
5
式公文,摆脱大量繁重的文件处理工作。整个公文的流转,由前一环节决定后一环节的公文流向和限定处理时间,前一环节可以随时跟踪以后环节的处理情况,视具体情况进行提醒,退回和改办处理,从而保证公文流转的灵活和畅顺,与手工流程极其近似。在整个公文处理的所有办理环节中结合了处理手写笔技术的应用,使公文过程更贴近实际的工作。整个系统由收文处理、待办公文、拟文、发文处理、办文信息和办文统计等功能模块组成,其处理过程见下图。
图3
3.2 总体功能图
系统的各个功能模块的总体设计图如下:
6
图4
3.3 数据库设计
由于我采用了SQL SERVER数据库,并且C#+ASP.NET对数据库有很好的控制方法,使得在后台数据库中不需要很严格的控制表与表之间的关系(即建立相互之间的外键关系),就可以在前台程序中控制表与表之间的关系,这样利用前台程序来控制数据库,虽然会造成少量的数据冗余,但是在前台的控制很方便,而且便于对其进行功能升级或修改。
为了简化程序的复杂性,整个系统的设计主要是以公文流转为主,主要设计了十一个数据表,分别是:系统设置(与之对应的是:员工表Employee、部门表Department、职位表Job)、公文设置(与之对应的是:公文类别Kind、公文标题Title、公文角色Role、公文审批路径主表Route、公文审批路径从表RouteAll)、公文流转(与之对应的是:公文审批路径Path、公文附件Files、公文详细内容Document)。
其中最主要的涉及到公文流转的表的具体设计如下: 公文表:
CREATE TABLE Document (
DocumentId int IDENTITY (1, 1) NOT NULL ,/*公文编号*/ DocumentMainTitle char (10) NULL ,/*公文主标题*/ DocumentSubTitle varchar (50) NULL ,/*公文副标题*/ DocumentKind char (10) NULL ,/*公文类别*/ DocumentContent text NULL ,/*公文内容*/ DocumentNote text NULL ,/*公文备注*/
DocumentAuthor varchar (50) NULL ,/*公文发布者*/ DocumentTime datetime NULL ,/*公文发布日期*/ DocumentState varchar (50) NULL /*公文状态*/ )
附件表:
CREATE TABLE Files (
7
FileId int IDENTITY (1, 1) NOT NULL ,/*附件自动编号*/ FileOriginalName text NULL ,/*附件的原文件名*/
FileNewName varchar (50) NULL ,/*附件存放在服务器名称*/ DocumentId char (10) NULL /*附件所对应的公文id*/ )
审批路径表: CREATE TABLE Path (
PathId int IDENTITY (1, 1) NOT NULL ,/*审批路径编号*/ PathRole int NULL ,/*审批角色*/
PathEmployee char (10) NULL ,/*审批员工*/ PathContent varchar (50) NULL ,/*审批内容*/ PathDate varchar (50) NULL ,/*审批日期*/ PathState bit NULL ,/*审批状态*/
DocumentId char (10) NULL /*审批路径所对应的公文*/ )
3.4 公文系统各功能模块的详细设计
3.4.1 系统设置
系统设置主要是设置诸如:部门、职位、登录员工等,并可以对其进行相应的修改。 3.4.2 公文设置
公文设置主要是设置诸如:公文主标题、公文类别、公文审批路径模板等。由于公文审批模板的添加及进行修改在B/S结构中设计起来比较复杂,因此,充分利用的C#+ASP.NET对多个表之间的良好控制再加上前台程序的控制,就能完全满足用户多中需要对公文路径的设置和修改了。 3.4.3 公文流转
本系统中最复杂的就要数公文流转系统这个模块了。由于设计数据库表时,需充分考虑系统的整体性能,因此,公文流转的所需的数据表只有三个,但确是做到了物有所用,利用了前台复杂的查询嵌套,毫不费力的实现的公文流转所需的全部流程,并能对所有公文进行分类标示,而且只有公文流转到需要某人审批时,才能对公文内容进行审批或退回,而且在公文已发出但还没有人对其进行审批时,公文发布人有撤消或删除公文的权利。本系统对公文进行了非常详细的分类,只需点击相应的类别,就能查询出其所对应公文。
在文件的上传与下载时,充分考虑到系统中有人上传同名文件,因此,上
8
传的文件存放在服务器时是利用服务器的时间来形成文件名的,文件名是当前日期并上时间组成,无任何后缀名,并且由于修改了浏览器http上传的限制,使得文件的上传可以达到无限制,但由于http上传文件无限制会造成网络资源的严重堵塞,因此,我将上传文件的大小限制在200M之内,应该可以满足任何公文附件的需要了。在下载附件时,为满足并方便用户,对其进行了重新命名操作,这样上传的附件是什么名字,下载时还是什么名字,并且附件之间不会造成任何重名的冲突。
4、 系统安全
在制作完本系统后,对于本系统的公文流转功能基本上可以满足用户的需要,但是,在某些方面还是存在一些缺陷,如用户密码必须加密后才能存放在数据库中,而且由于公文是完全没有加密的存放在SQL SERVER中,在网络安全还没有健全的时代,必要的加密措施还是需要的,在这里,我提出几种用户经常使用到的安全策略,供用户参考。
4.1 应用级安全策略
4.1.1 基于文档的权限管理
权限是通过域、表单、文档、数据库的取权限控制列表等来控制哪些用户可以对数据有什么样的操作,有多大权限。权限是基于每一个文档的,文档本身携带谁能浏览文档条目信息、谁能阅读、谁能修改、谁能删除等属性,并根据文件性质分成不同的密级。在文件在传递过程中,不同权限的人员只能看到自己相应级别的文件全部内容或部分内容。用户可将文件给予锁定、撤消等权限控制。并根据文件的传递的情况,标记文件的不同状态,只有在上一状态的用户确认后才能为下一个状态的用户可见。文件一旦进入下一状态并为下一用户打开后,前一状态的用户即无权再添加任何信息。若下一状态的用户还未打开过该文件夹,上一状态的用户可以撤消修改,一旦提交则不可更改。 4.1.2 基于用户组的权限管理
在用户组权限管理中系统将权限划分为三个层次,系统管理员、流程管理员和一般用户。其中系统管理员能进行系统初始化和调整组织结构,并能分配指定流程管理员。流程管理员能建立不同类型的流程,提供给一般用户使用。对于一般用户则只能提交自己的文档并对需自己审核的文档进行审核,对系统控制是无任何权限的。实际的个人用户则以从属于不同组的方式取得权限,这样为整个系统的灵活性和安全性提供了极大的方便。对于不同权限和岗位的工作人员,其使用的系统功能也不同。
9
4.1.3 基于个人的权限控制
a) 日志管理
对所有数据的一般操作(增、删、改)和文件流转过程进行记录,存放在日志库中。为系统管理员对系统有效的管理提供方便。记录各个数据库中的增、删、改操作,并形成统一日志记录。对于工作流信息的编辑、插入、更改,按每个流转环节划分,系统自动记录每一操作人员的动作信息(时间、工作内容、名称等),并对大量的日志信息累计存入光盘库或其它不可擦写介质中,这样可使系统的操作安全具体落实到某个人。 b) 备份策略
可以提供双机热备或磁盘阵列,保证关键数据的安全性。
4.2 系统级安全策略
4.2.1 采用数据加密技术
除了正常的口令加密外,还需有数据传送加密。通过指定数据传送加密,保障网络侵入者看到的是杂乱无章、无法理解的数据。使用双重密钥“RSA密码系统”来加密数据。利用公用密钥算法对数据库加密,还可以使用私有密钥进行加密,是用秘密密钥或公用密钥对文档加密,使用秘密密钥对域进行加密,使用SSL对服务器与工作站之间传送的信息加密等等;这样同一把密钥既可用来加密又可用来解密数据。安全套接层(SSL)是一种安全性协议,它为在TCP/IP上执行的服务器任务提供通讯安全和验证。 4.2.2 采用电子签名技术
利用电子签名技术可以验证数据确实来自与原作者,并且其他人没有篡改该数据,从而确保数据的可靠性和完整性。 4.2.3 启动事务记录功能
我们使系统捕获数据库的更改并将其写入事务记录。当发生系统或媒体故障时,可以使用事务记录或第三方的备份实用程序来恢复数据库。 4.2.4 系统日志管理
最好能提供系统日志管理功能,用户记录所有服务器活动并提供关于服务器上数据库和用户的详细信息。我们可以通过编程,将系统日志与应用日志结合起来,并进行归档处理,便于查询、系统维护与管理。
10
4.3 网络级安全策略
4.3.1 防病毒处理
用户需根据具体的网络环境,建议安装不同的网络防病毒软件,从而保障系统数据不受病毒破坏。 4.3.2 网络用户管理
在用户使用网络办公自动化系统软件前,最好能根据用户的具体应用和机构/岗位设置,对网络操作系统用户进行优化、分组和网络访问权限的划分,从而在操作系统级确保应用程序的安全。
5、 系统实施
5.1 系统设置模块的实施
图5
图6
(1) 功能:设置系统的一些参数,如部门、员工、职务等。
(2) 输入项:部门信息、员工信息、职务名称。 (3) 输出项:部门信息、员工信息、职务信息。
11
5.2 公文设置模块的实施
图7
图8
(1) 功能:设置公文的一些参数,如公文审批路径、公文标题、公文类别等。
(2) 输入项:公文路径、公文标题、公文类别。
(3) 输出项:公文路径信息、公文标题信息、公文类别信息。
5.3 公文流转模块的实施
12
图9
(1) 功能:实现公文流转的全过程。
(2) 输入项:输入要审批的公文的详细信息并设定所对应的审批路径。 (3) 输出项:输出审批的公文,并发送给对应的用户。
6、 系统总结
在制作完成整个系统后,可以看到,在该系统上还存在着某些缺点,像系统并没有过多的注重的用户的管理问题,一个好的公文流转系统,用户是应该按照上面所说的系统安全权限设定用户等级。还有,系统中并没有按照树型结构来划分部门,对小单位可能还可以,但是对有超过100人的大单位,这是远远满足不了用户的需求,因此部门的树型结构应该还是要修改的。
在系统的安全性方面,由于整个系统是以公文流程为主,对系统的安全性问题只是针对相关的安全性提出了相对应的解决方案,因此,该系统的安全性要进行相应的修改,对存放在数据库的用户信息、密码以及相关的文件信息也要进行加密,同时,最好能有针对领导签字的手写签名的支持。
13
因篇幅问题不能全部显示,请点此查看更多更全内容