江苏技术师范学院毕业设计说明书(论文)
2.2 MySQL简介及特性
MySQL是MySQL AB公司的数据库管理系统软件,是最流行的开源(Open Source,开放源代码)的关系型数据库管理系统。MySQL是MySQL AB公司的数据库管理系统软件,是最流行的开源(Open Source,开放源代码)的关系型数据库管理系统。 首先,MySQL与Microsoft SQL Server、Oracle等数据库一样,是一种关系型数据库管理系统(Ralational Database Management System,简称RDBMS),是用于管理数据库的软件系统。MySQL一词中的SQL是结构化查询语言(Structured Query Language)的缩写,是用于操作数据库的最常用的标准语言,由美国国家标准局(ANSI)和国际标准化组织(ISO)定义。在进行数据库应用系统设计时,对数据库的操作均是使用SQL语言进行的。几乎所有的数据库管理系统均支持使用SQL语言进行数据库操作,它们的SQL语言是兼容的,所以如果用户曾经使用过其他数据库管理系统,那么学习使用MySQL将非常容易[5]。
其次,MySQL是开源软件。开源意味着任何人都可以免费获得软件的源代码,都能够使用和修改软件。MySQL采用了GPL(GNU通用公共许可)许可,该许可确保了任何人都可以自由获得并使用该软件,任何人都可以从网上免费下载、使用、复制、修改、分发MySQL。MySQL在很多情况下是免费的,有些情况下需要付费(例如对服务收费)。MySQL源于一个公司的内部项目,最初由瑞典TcXDataKonsult公司的员工发起,在1996年年底开始公开发行。在公开发行后,MySQL迅速流行起来,所以在2001年成立了一家完全致力于MySQL开发与服务的公司MySQL AB。
MySQL的设计目标是提供一个告诉、可靠、可扩展、易于使用的数据库管理系统。从首次发行开始,MySQL的开发重点便放在快速、扩展性等方面,甚至为保持高性能而不惜减少功能特性。但是,MySQL任然吸引了大量的用户,因为对于这些用户而言,更注重的是速度、可靠性、扩展性,而并不关心那些不常使用的高级功能。在MySQL的不断发展中,不断加入了新的企业级特性,吸引了更多用户。在MySQL 3中引入了复制、全文搜索;在MySQL 4中开始使用InnoDB存储引擎,提供对事务、外键完整性和行级锁的支持;在MySQL 5中引入视图、存储过程、触发器等高级特性。
MySQL具有以下主要特点:
1. 高速:高速是MySQL的显著特性,在MySQL中,使用了极快的“B树”磁盘表
第6页 共41页
江苏技术师范学院毕业设计说明书(论文)
(MyISAM)和索引压缩;通过使用优化的“单扫描多连接”,能够实现极快的连接;SQL函数使用高度优化的类库实现,运行速度快。一直以来,高速都是MySQL吸引众多用户的特性之一,这一点可能只有亲自使用才能体会。支持多平台:MySQL支持超过20种开发平台,包括Linux、Windows、FreeBSD、IBM AIX、HP-UX、Mac OS、OpenBSD、Solaris等,这使得用户可以选择多种平台实现自己的应用,并且在不同平台上开发的应用系统可以很容易在各种平台之间进行移植。
2. 支持各种开发语言:MySQL为各种流行的程序设计语言提供支持,为它们提供了很多API函数,包括C、C++、Java、Perl、PHP等。
3. 提供多种存储器引擎:MySQL中提供了多种数据库存储引擎,各引擎各有所长,适用于不同的应用场合,用户可以选择最合适的引擎以得到最高性能。
4. 功能强大:强大的存储引擎使MySQL能够有效应用于任何数据库应用系统,高效完成各种任务,无论是大量数据的高速传输系统,还是每天访问量超过数亿的高强度的搜索Web站点。MySQL 5是MySQL发展历程中的一个里程碑,使MySQL具备了企业级数据库管理系统的特性,提供强大的功能,例如子查询、事务、外键、视图、存储过程、触发器、查询缓存等功能。
5. 支持大型数据库:InnoDB存储引擎将InnoDB表保存在一个表空间内,该表空间可由数个文件创建。这样,表的大小就能超过单独文件的最大容量。表空间还可以包括原始磁盘分区,从而使构建很大的表成为可能,最大容量可以达到64TB。
6. 安全:灵活和安全的权限和密码系统,允许基于主机的验证。连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码安全。
7. 价格低廉:MySQL采用GPL许可,很多情况下,用户可以免费使用MySQL;对于一些商业用途,需要购买MySQL商业许可,但价格相对低廉。
2.3 Tomcat简介
Tomcat最初是由Sun的软件构架师詹姆斯·邓肯·戴维森开发的。后来他帮助将其变为开源项目,并由Sun贡献给Apache软件基金会。由于大部分开源项目O'Reilly都会出一本相关的书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。
Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支
第7页 共41页
江苏技术师范学院毕业设计说明书(论文)
持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的tomcat标志改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。 Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
Tomcat是Apache Jakarta软件组织的一个子项目[6],它是一个JSP/Servlet的容器,是在Sun公司的JSWDK(Java Server Web Development Kit)基础上发展起来的一个JSP和Servlet规范的标准实现。使用Tomcat可以体验JSP和Servlet的最新规范。经过多年的发展,使得Tomcat不仅是JSP和Servlet规范的标准实现,而且具备了很多商业Java Servlet容器的特性,使得它被一些企业用于商业用途。Tomcat是完全免费的软件,任何人都可以从互联网上自由地下载。Tomcat与Apache的组合相当完美。
2.4 Servlet简介及生命周期
Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。 servlet是在服务器上运行的小程序。这个词是在Java applet的环境中创造的,Java applet是一种当作单独文件跟网页一起发送的小程序,它通常用于在客户端运行,结果得到为用户进行运算或者根据用户互作用定位图形等服务。服务器上需要一些程序,常常是根据用户输入访问数据库的程序。这些通常是使用公共网关接口(CGI(Common Gateway Interface))应用程序完成的。然而,在服务器上运行Java,这种程序可使用Java编程语言实现[7]。
生命周期:装载Servlet。这项操作一般是动态执行的。然而,Server通常会提供一个管理的选项,用于在Server启动时强制装载和初始化特定的Servlet。Server创建一个Servlet的实例Server调用Servlet的init()方法一个客户端的请求到达
第8页 共41页
江苏技术师范学院毕业设计说明书(论文)
Server,Server创建一个请求对象Server创建一个响应对象Server激活Servlet的service()方法,传递请求和响应对象作为参数service()方法获得关于请求对象的信息,处理请求,访问其他资源,获得需要的信息service()方法使用响应对象的方法,将响应传回Server,最终到达客户端。service()方法可能激活其它方法以处理请求,如doGet()或doPost()或程序员自己开发的新的方法。对于更多的客户端请求,Server创建新的请求和响应对象,仍然激活此Servlet的service()方法,将这两个对象作为参数传递给它。如此重复以上的循环,但无需再次调用init()方法。一般Servlet只初始化一次(只有一个对象),当Server不再需要Servlet时(一般当Server关闭时),Server调用Servlet的Destroy()方法。
2.5 MyEclipse 开发工具简介
MyEclipse企业级工作平台(My Eclipse Enterprise Workbench,简称MyEclipse)是对EclipseIDE的扩展,利用它可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率[8]。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。
在结构上,MyEclipse的特征可以被分为7类:
1、J2EE模型 2、WEB开发工具 3、EJB开发工具
4、应用程序服务器的连接器 5、J2EE项目部署服务 6、数据库服务 7、MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。
第9页 共41页
江苏技术师范学院毕业设计说明书(论文)
第3章 系统需求分析
3.1 系统总体需求
平台将采用先进的信息化技术,并有效结合现代科研管理理念和高校科研管理实际情况。平台的成功建设将能够轻松解决传统科研管理中难以解决的系列问题,并达到多个建设目的:
构建开放式的科研管理体系。平台将向高校内所有从事科研活动或者科研辅助工作的员工开放,并和科研部门人事处等业务部分建立数据共享机制。平台将彻底改变以前封闭式的管理模式,解决系统数据对内外的开放性问题。
科学分析和决策支持。系统能够及时收集到科研部门最新的科研项目、科研成果和学术活动等业务数据,并在大量的数据基础上进行数据挖掘分析工作[8]。既方便科研部门进行各种查询,也可以提供各种分析报表。平台能够为科研部门科研管理决策提供科学有效的辅助支持。
科研信息化管理的全方位整体解决方案。系统针对高校科研部的日常管理需要,提出的是一个包括信息发布、办公自动化和科研管理等多方面的整体解决方案。这样避免了临时的不完整的信息化建设,一次性的满足了科研管理中多方面的需要。
3.2 可行性分析
可行性分析的任务,并不是所有问题都有简单明显的解决办法,事实上,许多问题不可能在预定的系统规模之内解决。如果问题没有可行的解,那么花费这项开发工程上的任何时间、资源、人力和经费都是无谓的浪费。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。
3.2.1 经济可行性
科研信息发布系统,采用简单的数据库原理来处理繁杂的数据,开发工具是目前流行的Myeclipse开发平台,开发出来的体统界面友好,简单易用,操作简单,其整体成
第10页 共41页