摘 要
随着计算机科学的发展,数据库技术在Internet和Intranet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。本文描述了如何使用JSP技术来组建企业内部信息管理网站。实现了:员工信息的发布与共享,本文中的员工信息管理系统主要是实现员工资料的录入、信息的查询、记录和管理。作为人事管理系统和企业内网的一部分,企业员工信息管理系统可以便于企业领导掌握人员的动向,及时调整人才的分配;企业内部财务信息的发布与共享,本文中的企业内部财务信息查询管理系统通过对企业进出流水帐后台数据库的管理,实现了企业内部各种财务信息的管理,并可以生成各种类型的报表,便于管理层决策;员工之间的信息交流,本文中的内部信息交流系统可以实现企业内部通知的发布、各种具体问题的意见发布并获得相应的反馈。本文首先阐述了基于JSP平台的办公信息管理系统管理信息系统的开发背景以及其实践意义,其次说明了办公信息管理系统管理信息系统的功能以及相比同类系统的创新之处。然后就办公信息管理系统管理系统开发中所使用的一些的技术进行研究探讨。主要针对数据库的设计技术、存储过程技术、J2EE技术以及用SQL Server JSP 数据提供程序访问SQLserver2000数据库技术四个方面进行了研究。最后还附上了办公信息管理系统管理信息系统的安装说明、简单使用说明和一些通用性的经典代码。笔者化了大量的时间用于程序设计,这也是笔者工作的重点,所开发的系统具有实用价值,所编写的代码对J2EE程序员也有很好的参考性。在系统的开发过程中,笔者深刻体会到了J2EE平台的强大性、优越性以及存储过程在提高数据访问性能和增强数据访问安全性上所起到的重要作用。此外,对于关系代数在数据库科学里的应用,笔者在编程过程中也做了一定的研究。
关键词: 数据库;JSP;J2EE;存储过程;SQL Server 数据提供程序
ABSTRACT
This paper expatiate the Management Information System of Library using J2EE, its background and the significance it has when application. Then, it presents the function of the Management Information System of Library and also discuss some technologies using when develop this system. Especially, it discuss the design technology of database, Stored Procedure, J2EE and control SQL Server 2000 using SQL Server JSP Data Provider . In the end, it details the setup introduction and the user’s guide for the Management Information System of Library and also some classic code. The writer used a lot of time to design the program which is the keystone of all the works. The writer realized the importance of Stored Procedure for better performance and improving the security and also the advantage of J2EE when programming. Moreover, the writer also investigates the applications of relational algebra in database science when programming.
Keywords: Database;; J2EE; Stored Procedure; SQL Server JSP Data Provider
1 系统开发背景以及主要内容阐述
随着当今社会的迅猛发展,知识变的越来越重要,终身学习的观念已经深入人心。而办公信息管理系统――这一传统的获取知识的场所,它的地位也变的越来越重要。而办公信息管理系统的管理方法也更新了很多次。从最初的手工管理到现在的计算机管理等等。
笔者经过调查一些办公信息管理系统的现状,发现各办公信息管理系统使用的管理系统基本都是几年前的产品,大多使用jsp方式,web平台也主要使用jsp或php开发。而且以前的VB面向对象化编程(OOP)支持的不是很好,系统维护起来也相当困难。
MicrosoftJ2EE技术的推出,将计算带入一个新时代。现在J2EE已经引起业界广泛的关注。J2EE是专门为程序员设计的、功能强大的开发工具,利用该工具能够构建各类应用程序。J2EE可以说是博大精深,蕴含者丰富的新技术新思想。
J2EE使应用程序的功能更强大,使系统开发更简单,使系统的部署更轻松。而J2EE包含的统一的类库,统一的数据结构使得各类编程模型更统一。
笔者个人对J2EE技术非常感兴趣,在这方面也做过大量的研究。又鉴于当前流行的办公信息管理系统管理信息系统技术都比较陈旧,就萌发了用J2EE开发一个新办公信息管理系统管理信息系统的想法。
很高兴它成为为我毕业设计研究的课题。
系统的实践意义有两个:1开发出的系统功能强大,可以应用于各大中型办公信息管理系统使用,可以根据数据的要求添加功能。2由于J2EE推出的时间不算很长,所以网上很少有用J2EE开发的公开源代码的大型系统。本系统可以给广大的J2EE编程爱好者一些参考。
本文理论部分主要针对数据库设计技术、存储过程技术、J2EE技术以及用SQL Server JSP 数据提供程序访问SQLserver2000数据库技术这四个方面进行了研究和探讨。
办公信息管理系统管理信息系统的每一行代码都是精雕细琢出来的,从里面体现出J2EE的强大性以及优越性。笔者在编程过程中查阅了大量的籍,参考了大量MSDN以及各大网站的技术文章,全部代码约有一万两千行左右。笔者为此做了大量的工作。
在系统的开发过程中,笔者深刻体会到了J2EE平台的强大性以及优越性以及存储过程在提高数据访问性能和增强数据访问安全性上所起到的重要作用。
2 系统概述
办公信息管理系统管理系统基于Microsoft公司最新的JSP平台构建,编码的基本语言是JSP。开发过程中统一使用J2EE框架的数据类型、方法,抛弃了原来vb6的内容。充分体现了J2EE的优越性,使系统易安装部署、易维护。
系统使用J2EE+SQLserver2000模式,数据层基本都基于存储过程构建,使得速度更快、安全性更高。
2.1系统提供的功能:
本设计的学习目的旨在通过对公司办公管理系统(B/S结构)的需求分析、任务概述、前台设计、数据库设计、模块实现的介绍,使得读者能够对用Java/JSP开发B/S结构的实用系统有一个清楚的认识和理解。同时让读者能够在阅读和自行动手实现的过程中,进一步理解如何由实际功能需求转化为具体Java编程,并让读者熟悉和掌握JSP / Servlet编程和Java数据库编程。本设计的学习重点是如何将企业内部办公管理中的实际问题提炼为功能需求,如何将功能需求转化为具体的B/S结构的模块设计和数据库设计,以及如何将系统设计转换为规范文档描述和标准Java代码实现。
本系统为公司办公信息管理系统,主要用来管理公司的员工信息和财务信息,并提供公司内部信息交流平台。该系统主要由以下四个部分组成:
1.系统用户身份验证子系统:对用户所输入的用户名和密码进行匹配,并限制用户登录错误的次数,同时记录用户的登录状态,以便在用户浏览系统的其他页面时,进行登录状态的确认。
2.公司员工信息管理子系统:除了对员工信息的查询外,还可以具体细化为用户修改个人信息页面,系统管理员页面,添加新用户页面和修改某个用户信息页面。
3.公司财务信息管理子系统:可以具体细化为添加新财务信息记录页面,添加新财务项目页面,生成各种财务报表页面和修改某个财务记录页面。
4.公司内部信息交流子系统:可以具体细化为通知公告牌页面,发布新通知页面,修改某个通知页面,意见箱页面,意见分析页面,投票站页面和投票分析页面。
针对数据设计的部分:
由于数据的多元性和位置不确定性,该部分采取基于B/S的方式实现。代码使用JSP编写,利用JSP的优点,可以自动适应多种数据浏览器。截图如下:
数据只需要有一台联网的计算机和一个常用WEB浏览器。就可以轻松的进行办公信息管理系统查询、更改个人信息、向办公信息管理系统反馈信息等。该部分主要提供以下功能:
1.登陆验证。(防止数据信息被盗用。)
2.办公信息管理系统查询。(一个综合的办公信息管理系统查询系统,可以方便的使数据查到需要的籍。)
3.数据个人信息查询以及管理。(可以适当的更改一些数据个人的资料,如email等,此外在这里还可以查到数据当前的、所有的记录等。)
4.信息服务。(定期公布超期的数据列表,以及新到的办公信息管理系统等信息。)
2.2系统创新部分以及一些特点
1)首先本系统是基于J2EE平台构建的,这是以前从未有过的。
2)系统很好的解决了一个关于时间冲突的问题。
时间冲突问题阐述如下:
办公信息管理系统管理信息系统是一个网络版的系统,其运作方式是有一台主数据服务器、还有若干个负责各项功能的数据端。举个例子:办公信息管理系统可能有若干台数据端电脑用于管理、还可能有若干台用于管理、还可能有若干台用于办公信息管理系统、数据信息维护等。因为每台电脑的系统时间可能会发生改变,这就会造成数据错误。比如张某于2月10日在负责的A号电脑上借了一本,可能A的系统时间被误设定为2月5日。如果张某的最大时间为一个月,则他应该的时间就被误设定为3月5日。
笔者在开发过程中也参考了一些相关的办公信息管理系统系统,发现有的系统根本没有注意到这个问题。有的是在系统数据端设定一个时间校准的提示或者干脆就手工输入时间。这样无疑给操作人员增加了负担,而且校准还不一定正确。
在本系统中,所有的时间都是基于服务器时间的。即系统中必要的与时间有关的操作。都采用标准的T-SQL函数GETDATE()从数据服务器返回时间。这就避免了功能上的错误,也避免了给操作人员带来的不必要负担。
3)用J2EE的开放式并发进行并发控制
在办公信息管理系统系统的使用过程中,可能同时有多台数据机在操作同一个数据行。比如负责修改办公信息管理系统信息的A号电脑正在修改编号为XXX的籍,而编号为B的电脑正试图删除编号为XXX的籍。这样做肯定会有一些冲突,这就要讨论并发控制。
当多个用户试图同时修改数据时,需要建立控制机制来防止一个用户的修改对同时操作的其他用户所作的修改产生不利的影响。处理这种情况的系统叫做“并发控制”。
在以前的编程模型中,大多使用保守式并发控制,即在从获取记录直到记录在数据库中更新的这段时间内,该行对用户不可用。J2EE的数据集DataSet是一个断开式的模型,不适合保守式并发。在我所编写的办公信息管理系统管理信息系统中,使用了开放式并发控制(参见附录中我翻译的英文文章),即只有当实际更新数据时,该行才对其他用户不可用。更新将在数据库中检查该行并确定是否进行了任何更改。如果试图更新已更改的记录,则将导致并发冲突。
4)全部数据层都基于存储过程构建
使用存储过程,可以减少网络流量,提高程序的速度以及安全性。具体内容请参见笔者文章里对存储过程的研究讨论。
3系统设计过程及原理阐述
管理信息系统(以下简称MIS)服务于现代化的企事业管理,是提供企事业工作效率和经济效益的计算机网络系统。
管理信息系统涉及的因素非常多、非常复杂,开发起来具有一定的难度。如果掌握了一套行之有效的开发方法,以及把握好MIS开发中的重点,开发中就可以大量的解约人力、财力等。
我个人经过大量的研究、实践。认为在MIS开发中,首先数据库技术是MIS开发中的重要技术。数据库开发成败直接影响到整个MIS的开发。所以,构架一个优秀的MIS一定要有好的数据库设计。本文讨论的重点就是数据库设计理论。主要是两方面,一是基本的数据库理论;二是J2EE平台上的J2EE数据访问技术。
其次,在MIS开发过程中,所使用的开发工具和应开发应用程序的种类也很重要。这里就不能不提到Microsoft公司的JSP平台。JSP 是一种新的计算平台,它简化了在高度分布式 Internet 环境中的应用程序开发。它提供一个一致的面向对象的编程环境、提供一个将系统部署和版本控制冲突最小化的代码执行环境等等非常优秀的特点。在以后介绍开发过程中将简单阐述。
再次,界面的设计也是MIS的一个重点。界面一定要具有易学性及易使用性。在当今流行的程序设计中,设计包含用户界面的应用程序时有两种选择:Windows 窗体和 Web 窗体。两者在开发环境中都具有完全的设计时支持,并且可以提供丰富的用户界面和高级应用程序功能以解决业务问题。要根据应用程序的具体功能来选择到底开发何种应用程序。我所开发的这个办公信息管理系统管理信息系统是这两者的结合。在管理功能方面,我使用了传统的WinForms技术。而在数据使用方面的功能模块,是用webForms开发的。
3.1 数据库设计
数据库技术是20世纪60年代后期产生何发展起来的一项计算机数据管理技术,现广泛运用与各种信息处理以及科学研究上。数据库技术已经成为当今时代非常重要的技术。
当今流行的数据库系统主要是以关系数据库为代表的第二代数据库系统。
当今流行的大型数据库管理系统主要有SQL Server、Oracle、Sybase等。
办公信息管理系统管理信息系统选用的是SQLserver2000数据库管理系统。
选择它的原因有:SQLserver2000功能强大,能完整实现数据库系统的所有功能。再者,我们选用的系统开发平台是微软公司的JSP平台,它很好的支持了其公司的数据库产品SQLserver2000,而且为了加快数据处理速度,JSP平台中还专门有一个SQL Server数据提供程序(System.Data.SqlClient)。
办公信息管理系统管理信息系统使用SQLserver2000数据库管理系统,最后设计的数据库表如下:
数据库名称lib2004
图3-1
图3-2
如果您在计算机领域有任何疑虑或不确定的地方,请毫不犹豫地与老师交流噢,我们期待着为您提供有针对性的建议和指导。您的问题和讨论对我们来说都非常重要。