基于rss的图书信息发布子系统的研究与实现毕业论文设计.doc
学号_ 密级_ 武汉大学本科毕业论文 基于RSS的图书信息发布子系统的研究与实现院(系)名 称:国际软件学院专 业 名 称 :空间信息与数字技术学 生 姓 名 :汪强指 导 教 师 :谭喜成 二九年五月BACHELOR'S DEGREE THESIS OF WUHAN UNIVERSITYThe Research and Implementation of RSS-Based Book Information Distribution SystemCollege:International School of SoftwareSubject:Spatial Informatics & Digitalized TechnologyName: Wang QiangDirected by : Tan Xicheng ProfessorJune 2009郑 重 声 明本人呈交的学位论文,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。本学位论文的知识产权归属于培养单位。本人签名: 日期: 摘 要随着信息高速公路的发展和普及,人们已经被包围在信息的汪洋大海之中。由于信息不断地更新和增加,信息量以指数规律迅猛地增长和扩展,因而形成了“信息爆炸”。Internet上的“信息迷航”和“信息过载”已经成为日益严重的问题。信息推送技术(PUSH)是解决这些难题的有效方式。它通过向用户主动推送信息实现了“信息找人,按需服务”。作为一种“PUSH”技术的代表,RSS技术在网络新闻、电子商务、BLOG、电子出版等多个领域得到了迅速发展。基于RSS的信息推送技术有效地弥补了其它推送技术的不足,具有信息编辑,共享,传输便捷的特点。本课题的研究目标是:利用RSS技术结合Struts框架,实现基于RSS的信息发布子系统的设计,并将此系统应用于购书门户网站的建设当中。本文首先对位论文提供研究课题的购书门户网站项目进行了介绍。接下来,介绍了这个网站项目数据库的需求分析和详细设计。在第4章,本文对本课题涉及到的核心技术:RSS进行了详实的分析。主要介绍了它的发展历程,结构,特点和应用模式,并就RSS在购书门户网站项目中的应用进行了设计,包括选用类库,RSS Feed产生流程,系统架构设计等等。在论文的最后,详细介绍了本系统中几个关键问题的实现,包括:利用ROME实现RSS格式的输出,浏览器读取RSS Feed文件等,并对系统进行了测试。关键词:RSS; PUSH ;ROMEABSTRACT With the development and diffusion of Information Highway, people have been surrounded by the vast ocean of information. Due to the constant updating and increasing of information, the amount of information grows and expanses exponentially at a high speed, resulting in the “information explosion”. The “Information Trek” and “Information Overload” on the Internet have become an increasingly serious problem.Information Push Technology (PUSH) is an effective solution to these problems. It achieves the “find people by information, service on-demand” by taking the initiative to push forward information to users.As a representative of the “PUSH” technology, RSS technology has been developing rapidly in the network news, e-commerce, BLOG, electronic publishing and other fields. The Information Push Technology, which is based on RSS, is an effective supplement to other push technologies, with the features of information editing, sharing and convenient transferring.The research goal of this topic is to realize the design of information subsystem which is based on RSS technology, using RSS technology and Struts framework, and to apply this system on the construction of book-purchase portals.This paper firstly gives an introduction of the book-purchase portal which has provided the research topic for this thesis. Next, it introduces the demand analysis and detailed design of the project database of this site. In Chapter 4, it provides a detailed analysis on the core technology, RSS, which is relevant to this topic. The analysis mainly includes the development process, structure, features and application models of RSS, and has designed the application on RSS in the project of book-purchase portal, including the choice of class libraries, the production process of RSS Feed, system framework design and so on.Lastly, this paper introduces elaborately on the realization of several key issues in this system, including: the use of ROME RSS format to achieve the output, reading RSS Feed documents by browser and so on. There is also a system testing in the end.Keywords:RSS; PUSH ;ROME目 录第1章 绪论11.1 研究背景11.2 项目研究的目的及意义31.2.1 研究目的31.2.2 研究意义31.3 论文的主要内容31.4 本章小结4第2章 系统功能分析与概要设计52.1 项目背景52.2 系统功能分析62.2.1 用户模块62.2.2 管理员模块62.2.3 系统模块62.3 系统概要设计72.3.1 系统总体架构72.3.2 系统的框架92.3.3 设计思想和建站原则102.4 服务器选择112.4.1 应用服务器112.4.2 数据服务器122.5 本章小结13第3章 数据库设计143.1 数据库需求分析143.2 数据库详细设计143.3 本章小结16第4章 RSS技术分析与设计174.1 RSS技术分析174.1.1 RSS概述174.1.2 RSS技术发展历程174.1.3 RSS技术优势184.2 RSS文件结构194.3 RSS应用模式214.4 RSS在本系统中的应用设计224.4.1 应用项目选择224.4.2 ROME简介234.4.3 RSS Feed的产生和解析234.4.4 RSS Feed产生原理234.5 本章小结24第5章 信息发布子系统的实现与测试255.1 信息发布子系统的实现255.1.1 RSS Feed的产生255.1.2 RSS Feed的解析265.2 信息发布子系统的测试275.2.1 黑盒测试概述275.2.2测试用例及结果275.3本章总结27第6章 全文总结28参考文献29致谢3032第1章 绪论1.1 研究背景随着信息高速公路的发展和普及,人们已经被包围在信息的汪洋大海之中。Internet是海量信源,而且其信息的组织是异构的、多元的和分布的,由于信息不断地更新和增加,信息量以指数规律迅猛地增长和扩展,因而形成了“信息爆炸”对于普通的用户来说,Internet上的“信息迷航”和“信息过载”已经成为日益严重的问题。如何使用户从海量的数据和信息中高效地获取有用知识,如何从迅速爆炸的信息中及时地获取最新信息,如何提高信息检索与推送的智能水平,以及如何满足各种用户不同的个性化需求等,主动信息服务模式是解决这些难题的有效方式。主动信息服务模式实现了Internet系统对浏览者的主动信息服务,将Internet被动接受浏览者的请求转化为主动感知浏览者的信息需求。它通过向用户主动推送信息实现了“信息找人,按需服务”。所谓信息推送技术(Push)是一种基于客户服务器机制,由服务器主动地将信息发往客户端的技术。同传统的“拉技术”(Pull)相比,两者最为主要的区别在于前者是由服务器根据客户的个性化信息从服务器端主动发送信息至客户端,而后者则是由客户机主动向服务器端发送请求,经过服务器处理请求后,才将信息返回至客户端。推送技术的本质在于让信息去主动地寻找用户,因此其优势在于信息的主动性和及时性,通过使用该技术,可以尽快地将信息推送到用户面前作为一种“PUSH”技术的代表,RSS技术在网络新闻、电子商务、BLOG、电子出版等多个领域得到了迅速发展。基于RSS的信息推送技术有效地弥补了其它推送技术的不足,RSS通过下一代互联网描述语言XML表示,信息编辑、共享、传输便捷,能穿透防火墙。RSS在全球范围内正迅猛地发展着。1.2 项目的研究现状及发展趋势1.2.1 研究现状近年来,RSS技术在国内外的发展异常迅速,已经达到了相当大的规模。据不完全统计,美国提供RSS内容的网站数目从2001年9月的一千余家激增至2004年9月的十九万五千余家,短短的三年中增长了近150倍,RSS用户数也取得了飞速发展,从2001年8月的十万激增到2004年8月的近九百万,市场的飞速发展令人嘱目。RSS自1999年首次提出后,经过几年的发展,已经逐渐发展成为一种比较成熟的信息技术。尽管存在不同RSS标准之间的分歧,但这并不影响RSS技术被业界广泛应用。作为一种信息技术,RSS技术己经形成了一个比较完善的技术体系,包括RSS狭义定义、RSS标准、RSS Feed、OPML、RSS Feed生成器、RSS Feed验证器、RSS阅读器等,特别是通过外部模块对各个应用领域的功能扩展,更使得RSS技术在不同应用领域具有广泛的适应性个灵活性。从技术特点来看,RSS技术不仅能提高对网络信息的利用效率、增强信息服务的个性化水平,而且能降低网络信息的组织发布成本,同时增强网络信息的组织性,方便信息交换和共享。不管是对信息的接收者、提供者,还是整个互联网来说,RSS技术的出现都是网络信息技术的一个突破。从应用推广来看,在过去的几年里,RSS技术在国外得到了长足的发展,国内对RSS技术的应用也十分广泛,用户数量激增。应用领域涉及到BLOG、网络新闻、电子商务、网络招聘、新产品推广等等。1.2.2 发展趋势RSS将迅速发展,并成为主流。RSS测试版(Ajax版本)推出之后,不仅将获得微软下一代操作系统Vista的支持,还将完全整合在YahooMail之中。预计Google也将于2007年进行一些RSS试验,特别是分类广告服务Google Base,因为它已经采用了类似于RSS的Gata。除此之外, 2007年将会出现更多基于RSS的创新服务,例如Techmeme RSS广告。随着RSS的进一步发展,现在可以将RSS阅读器分为客户端和在线两类。一般而言,对信息量需求大、信息源多样性要求高、信息管理功能要求高的用户及上网时间不足的用户,客户端RSS阅读器更加适用一些。在线RSS阅读服务的用户一般具有更大的流动性,他们更多的是通过学校、网吧等的公共设备上网,以休闲、娱乐为目的,因此对信息量和信息管理的要求相对低些。以后会陆续推出移动版阅读服务、数字电视机顶盒阅读器工具等其他产品和服务。但是随着RSS技术被越来越多的人所熟知和接受,成为一种重要信息载体的同时,RSS广告将会给一些人带来不便,因为RSS的初衷之一就是为了避免广告影响人们的阅读而提出的。现在越来越多的网站,把广告插入RSS中,这也是造成很多人退定新闻频道的重要原因之一。从这个角度看,RSS已经有了商业的色彩。当然有商业色彩是不可避免的,但这种广告应含蓄一些,相关性高一些。一些RSS聚合网站在寻找和传统网站竞争优势的时候,推广所谓绿色看新闻的概念,目的就是利用RSS直接索引标题,免除索引页广告干扰之苦,问题也随之而来,如果主页和专栏页不投入广告,内容页由于版权的关系,常常需要直接链接信息源,以RSS为核心的新闻模式价值点究竟在何处?如果价值链中只有最终的用户能够享受好处,这种价值链变革是缺乏长久动力的。一个不错的解决办法就是媒体网站可以考虑向读者同时提供两种RSS FEED,一种是全文的,带广告;一种是摘要,不带广告。用户各取所需,愿意通过RSS阅读全文的,就要接受附带的广告;不愿意每篇文章都看到广告的,只好订阅摘要版本的RSS,如果对文章有兴趣,自然也会去网站阅读全文,那么网站上的广告他就会看到。1.3 项目研究的目的及意义1.3.1 研究目的本课题的研究目标是,利用RSS技术结合Struts框架,实现基于RSS的信息发布子系统的设计,并将此系统应用于购书门户网站的建设当中。1.3.2 研究意义基于RSS的图书信息发布子系统,能让用户及时看到网站图书信息的更新,并根据类别领域挑选适合自己的图书,这种点到点的服务方式更符合信息化时代理念,也有利于购书门户网站的传播与推广。1.4 论文的主要内容本论文主要分为六个章节:第1章为绪论,论述了本文的研究背景和意义,并提出了研究目的和研究意义。第2章介绍了为论文提供了研究课题的网上购书门户网站,和此网站的概要设计。第3章分析了本系统的数据库,并提出详细的设计方案。第4章主要介绍了本论文核心技术RSS,包括技术分析,结构特点以及应用模式。第5章就RSS如何在本系统实现进行了阐述,并对此信息发布系统进行了测试。第6章全章总结,对全文进行了总结,并提出了下一步的研究方向。1.5 本章小结本章节首先介绍了RSS技术的研究背景,研究目的和研究意义,从宏观角度介绍了RSS技术,同时也说明了全章节的内容。在下一章,我将介绍为本论文提供研究课题的购书门户网站项目,包括背景,功能分析,概要设计,以及服务器选择。第2章 系统功能分析与概要设计2.1 项目背景随着全球经济一体化的逐步深入,购书网站已是现代传统书店必不可少的经营策略。目前,购书网站在国际互联网上可以实现的商务功能已经多样化,可以说从最基本的对外沟通展示功能、信息发布功能,在线图书展示功能、在线洽谈功能、在线交易功能、在线采购功能、在线客户服务功能、在线网站管理功能等等,几乎以往传统书店功能都可以在互联网上进行电子化的高效运作。技术的进步对传统书店上网解决方案提出更严格的要求和挑战。为了保护传统书店的投资,书店上网解决方案应切合传统书店实际的需求和发展的趋向,使投入回报和管理效益最大化,传统书店在实施上网方案的之前,必须对一系列问题进行科学的论证,如书店上网的需求分析、书店上网总体规划、购书网站系统的功能和实施方案、购书网站的传播与推广、运行购书网站系统的软件和硬件配置、购书网站的管理系统和管理方法等等。购书网站具体实施的因素直接影响传统书店在Internet的实际效果和经济效益,这不仅是技术问题,同时也涉及到管理的因素。网上购书有以下好处:1. 网上购书上的书价相对于书店,都会比较便宜2. 读者可以更快地了解到最新的书籍种类,无需到书店寻寻觅觅,3. 读者可以快速地查询到自己想要书籍的信息,包括作者、价格、出版社等4. 买方不需在去排队购书,只需要通过网上支付或其他的支付方式就可以买到书,商家会提供送货的服务5. 对于商家而言,可以减少存货,实现“零库存”,减少了危机。综上所述,网上购书是不仅便宜,而且有效地缩短了图书流通发行环节,有利于读者能快速便捷地获得所需图书资料,这样也使广大读者、图书、出版者、发行者紧密地结合在一起,大大提高了图书流通率。在了解需求后,开发网上购书系统,可以让顾客通过浏览器浏览网站售书目录,从而挑选自己满意的图书,并下订单购买。而网站后台人员需要维护网站会员信息、书籍信息以及订单信息。本系统的目的就是要开发一套既方便客户网上购书,又方便网站维护人员维护网站WEB服务三层架构系统。2.2 系统功能分析网上购书系统它有三个模块:用户模块,管理员模块,系统模块。系统结构图如图2.3。图2.1 网上购书系统结构图2.2.1 用户模块主要是涉及到用户方面的功能,它有以下内容:1. 注册与登陆:用户注册登陆。2. 用户评论发布:用户发布图书评价信息。3. 用户信息:用户修改个人信息。4. 购书车:用户选择选购图书,存入购书车等待结账,下次进入购书车时,购物车里上次购物的信息不会丢失。2.2.2 管理员模块1. 图书类别管理:新增图书类别,修改类别。2. 图书信息管理:对图书信息进行修改,增加和删除。3. 用户管理:设置用户状态。4. 管理员的登录功能。5. 超级管理员功能:增加管理员,修改管理员信息。2.2.3 系统模块RSS信息发布子系统:用于定制特定内容。现今社会已然成为一个信息爆炸的时代,面对不计其数的信息源,为了获得新闻、股票行情、行业分析、产品评论等信息,人们不得不穿梭在不同网站间,这个过程非常消耗用户的时间。幸运的是随着WEB.20的不断发展,我们有更多的方法将众多的信息按找用户不同的喜好重新整合起来。目前,Internet的网站越来越多,我们可以通过RSS在线阅读器,将互联网上那些其他网站提供的和大市场相关的信息集成到我们的商情网站中,能使用户在我们的门户上获取更多的资讯。在综合分析了目前已存在的数款客户端RSS阅读器的特点后,网站决定提供给客户一个在线的RSS阅读器。一方面它能解决客户端软件需要安装的问题,只要有浏览器,能上网就能使用;另一方面,网站也能通过设置信息“推”送服务,将网站信息主动呈现给客户。在本购书网站中,信息发布子系统主要的功能点有以下两个:1.图书类别的RSS信息发布用户可以通过点击在图书类别栏中的订阅按钮订阅此类图书更新信息,在管理员新增图书之后,更新信息会通过RSS Feed的形式发送出去,用户可以通过WEB RSS阅读器知道新增图书信息。2.图书评论的RSS信息发布用户可对感兴趣的图书进行评论,也可以继续关注此书的评论更新。通过订阅在图书评论页面的订阅按钮,获得图书评论的订阅,并通过WEB RSS阅读器阅读相关评论。2.3 系统概要设计2.3.1 系统总体架构系统是有Struts和Hibernate架构合并组成,其结构如下Struts(MVC框架)WEB层页 面 .jsp用户请求处理组件控制器用户控制器页面数据封装对象业务层业务接口业务实现数据访问层Hibernate数据读取接口数据读取实现SPRIG文件配置图2.2 系统架构1 Struts框架Struts是Apache基金会的一个Open Source项目,基于Sun J2EE平台的MVC框架,主要采用Servlet和JSP技术来实现,能够很好地帮助Java开发者利用J2EE开发Web应用,也是面向对象设计。实现重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View) 提供了一系列定制标签(Custom Tag)。2 Hibernate框架Hibernate是一种Java语言下的对象关系映射解决方案。 它是使用GNU宽通用公共许可证发行的自由、开源的软件。它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。它的设计目标是将软件开发人员从大量相同的数据持久层相关编程工作中解放出来。无论是从设计草案还是从一个遗留数据库开始,开发人员都可以采用Hibernate。Hibernate不仅负责从Java类到数据库表的映射(还包括从Java数据类型到SQL数据类型的映射),还提供了面向对象的数据查询检索机制,从而极大地缩短的手动处理SQL和JDBC上的开发时间。2.3.2 系统的框架本系统是采用SH(Struts1.3+Hibernate)框架。Struts负责View层和Control层,Hibernate负责持久层。系统框架如图2.2所示。图2.3 系统框架图1.客户层客户层也即系统表达层,提供用户和系统交互的界面,包含面向客户的应用,这些应用在最终用户的计算机系统的Web浏览器中运行,Web服务器层会对Web用户(浏览器)发出的HTTP请求进行响应。2.表示层Web服务器接收客户端发出的HTTP请求,并通过JSP/Servlet进行响应。利用JSP、Servlet可以方便的实现客户的各种个性化界面,对于页面结构中的通用部分可以抽象出来建立成Web组件,提高页面开发的效率和可维护性。同时,Web层负责从业务层调用逻辑模型组件来实现用户提出的预测目标。Web服务器层会根据用户指定的预测对象,调用业务层的JavaBean模型组件,并通过组件访问数30据库中的相关数据,将结果输出到客户端。Web层是连接客户层和其他层的纽带,负责控制整个系统各个模块的运转。3.业务逻辑层业务逻辑层是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关。业务逻辑层在体系架构中的位置比较关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于持久层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。4.持久层持久就是对数据的保持,即对程序状态的保持。持久层是一个相对独立的逻辑层面,专注于数据持久化逻辑的实现。通常通过数据库实现持久层是把数据库实现这块当作一个独立逻辑拿出来。由于对象范例和关系范例这两大领域之间存在“阻抗不匹配”,所以把数据持久层单独作为J2EE体系的一个层提出来的原因就是能够在对象关系数据库之间提供一个成功的企业级映射解决方案,尽最大可能弥补这两种范例之间的差异。持久化的实现过程则大多通过各种关系型数据库来完成。持久层判定标准如果表示层发生变化,需要从JSP迁移,数据持久化代码是否需要重新编译。如果业务逻辑层发生了变化,那么数据持久化逻辑代码是否需要重新编译。如果底层数据持久化机制发生了改变(如更换数据库类型),系统中的非数据持久化部分代码(包括表示层,业务逻辑层)是否需要重新编译。2.3.3 设计思想和建站原则购书系统建设的成功与否,符合业务需求是关键。购书网站解决方案设计过程中,在“核心平台”的基础上,始终贯彻以业务需求为主的思想。为保证系统能够满足未来的业务发展需要,以用户现在和未来的购买需求来确定应用软件系统模块及功能;以应用软件系统正常稳定运行为条件,规划系统建设;根据用户业务的不断增长,来完善并发展应用系统体系结构;根据联网用户数量的增加,扩展网络的规模。在系统建设的过程中,遵循可行性、实用性、经济性原则,可靠性、稳定性、安全性原则,先进性、成熟性、开放性原则,可伸缩性、可扩展性和可持续发展原则,统一性、标准化原则和高性价比等原则。2.4 服务器选择2.4.1 应用服务器基于WEB的企业级应用一般分为三层,表示层、业务逻辑层和数据服务层。表示层包含浏览器或其它客户端,数据服务层由数据库提供服务。业务逻辑层是整个软件体系的重点。由于大部分的业务功能设计都封装在这一层,因此,当今人们习惯上给这层提供一个单独的运行环境来处理诸如安全性、事务处理和负载平衡机制等。这个运行环境通常由一个或者多个应用服务器组成,也称作WEB务器。支持J2EE应用服务器有很多,BEA的Weblogic,IBM的websphere,以及Tomcat。本系统中选择Tomcat作为Web服务器,下面简单介绍一下选择其作为Web服务器的理由。Tomcat是一个免费的开源的Servlet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由APache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Sevrlct和JSP总能在Tomcat中得到体现。与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(WebArchive)文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和JSP文件或者包含这两种文件的目录,另外还会有一个目录,这个目录很重要。通常在WEB-NIF目录下有一个web.xml文件和一个Classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Sevrelt类和SJP或Sveretl所依赖的其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-NIF下的lib目录下,当然也可以放到系统的CLASSPATH中,但那样移植和管理起来不方便。在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的JSP时,通常第一次会很慢,因为Tomcat要将JSP转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于FTP,你可以在远程通过Web部署和撤销应用。当然本地也可以。Tomcat不仅仅是一个Servlet容器,它也具有传统的Wbe服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Hmtl的能力就不如Apache。我们可以将Tomcat和APache集成到一块,让APache处理静态Html,而Tomcat处理JSP和Servlet。这种集成只需要修改一下Apache和Tomcat的配置文件即可。Tomcat也可以与其它一些软件集成起来实现更多的功能。如与JBOSS(一个开源的应用服务器)集成起来开发EJB,与Cocoon(Apache的另外一个项目)集成起来开发基于Xml的应用,与OpneJMS集成起来开发JMS应用,而且可以与Tomcat集成的软件还有很多。上面提到了很多Tomcat的优点,可它也有很多不足的地方。其Web服务器的功能不如许多更健全的web服务器完整,如ApacheWeb服务器(举例来说,Tomcat没有大量的选择性模块)。既便如此,Tomcat还是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性。如今,开源软件越来越受到人们的重视,Linux就是一个成功的典型。人们不再限于只使用软件,而且己经关心起软件的具体实现。所以,在本系统中选择Tomcat作为Web服务器。2.4.2 数据服务器目前,面向企业级应用的数据库系统以关系型数据库为主导产品。主流关系型数据库管理系统有Oracle,MS SQL Server ,MySQL, Sybase和DB2。考虑到整个系统在Windows平台上开发,以及对购书门户网站数据量大小的估计,决定采用MySQL作为后台数据服务器。MySQL是目前广泛运用的一种数据库服务器。它具有以下特点:1. 它使用的核心线程是完全多线程,支持多处理器。 2. 它通过一个高度优化的类库实现SQL函数库并像他们能达到的一样快速,通常在查询初始化后不该有任何内存分配。没有内存漏洞。 3. MySQL可以工作在不同的平台上。支持C、C、Java、Perl、PHP、Python和TCL API。2.5 本章小结本章主要介绍了为论文提供研究课题的购书门户网站项目,和网站系统的概要设计。信息化就是指通过计算机,互联网等技术手段提高原有行业社会效益和经济效益的过程。在此项目中,我们应用RSS,Struts,Hibernate等技术完成购书门户网站的建设,实现了会员管理,个性化综合信息推送,发表评论,修改信息等功能。这样一来,通过购书门户网站进行商业活动的人,能更方便的获得他们需要的服务。在系统概要设计中,主要讨论了系统的逻辑架构,并根据架构进行了实现框架和应用服务器的选型。在下一章,我将介绍此购书门户网站项目的数据库,包括数据库需求分析,以及详细设计。第3章 数据库设计3.1 数据库需求分析由于网上购书网站是一个B/C系统,所以在数据库的需求方面,需要为用户、管理员、书籍建立表。同时对于每本书,用户可以进行评论,用户也可以进行购买图书,所以在系统的数据库中必须为评论和订单必须建立表。同时书籍有种类,所以必须建立书籍种类表。对于网上购书系统还有管理员,所以为管理员必须建立一个表。同时对于用户的一些信息,例如工作、城市、省份这些信息都是现有的信息,所以需要建立单独的表。这样就能够减少数据库中数据的冗余。所以总结上述原因,可以初步得出以下表:表3.1 数据库需求分析表单表单名称USER用户表COMMENT评论表BOOK书籍信息表BOOK_CATEGORY书籍类型表ORDERINFOR订单表JOB工作信息表CITY城市信息表PROVINCE省份表ADMIN管理员表3.2 数据库详细设计通过数据库的需求,可以的得出相关表,但是这些还不够,还要设计出表的属性,以及彼此之间的关系。(由于空间有限,附录将给出一张完整视图)与RSS信息发布子系统紧密关联的两个表如下所示:1.BOOK表:表3.2 BOOK表属性名类型长度是否为null主键外键CATEGORY_IDint4否否是BOOK_ID940否是否AUTHORVarchar40否否否PUBLISHERvarchar50否否否PUBLISH_DATEdate0是否否VERSIONint3是否否ISBNvarchar13否否否PAGEint5是否否PRICEfloat5否否否DISCOUNTfloat5是否否IMAGEvarchar225是否否BOOK_NUMint9否否否ADDTIMEdatetime0否否否DESCRIBTIONvarchar225是否否BOOK_NAMEvarchar50否否否其中,涉及到的属性包括,BOOK_ID,VERSI