1.3 本文结构
本文前半部分介绍,通过设计开发,本系统可以为会员提供客房预订,购买菜品等服务的网上平台,会员、管理员只要在任何一台上网的计算机上就可以浏览要了解的客房信息,并通过登录验证后,找到合适的客房进行预约、查询等。本系统为管理员提供在线查看客房情况,修改客房、菜品信息,查看客房记录等。后半部分结合酒店客房管理系统的开发和运行,认真地分析和研究当前比较实用的JSP项目开发技术。最后本文总结了整个开发中出现的问题,以及对未来酒店客房管理系统的应用的展望。
- 2 -
第2章 技术及工具介绍
2.1 SQLServer简介
酒店客房管理系统选用的是SQLServer数据库,SQLServer数据库具有更高的可扩展性,可用性,这符合了酒店管理系统的准确运用及呈现。其他数据库的扩展性不如SQLServer,性能也没有SQLServer突出,所以选择用SQLServer做数据库。
Microsoft SQLServer 2005是Microsoft公司开发的优秀企业级网络数据库,它是把多线程作为基础结构,显著的优点有:所需的资源少、同时又能够把数据库合并起来管理,并能够保证数据的完整性,又能够保证数据的安全性。SQLServer 2005标准版最多支持四个CPU和2GB内存,而SQLServer 2005企业版可支持的CPU数量和内存数仅受操作系统的限制,如在Windows Server 2003 Datacenter Edition(32位)上,最多可支持64个CPU和64GB内存。此外,SQLServer 2005企业版中还提供了标准版中没有的联合数据库服务器功能,可以将数据库负载分布到多个独立的服务器上。SQLServer 2005企业版中提供了很多标准版中所没有的OLAP高级分析特性,这对于商业智能(BI)应用有很大的价值。几年来,关系数据库系统以多种不同的方式提供了对XML的支持。这些系统所支持的主要应用场景是信息交换,该信息交换是在XML作为“牵线格式”并且关系模式和XML模式相互独立地预定义的情况下进行的。为了适用于这种场景,微软SQL Server 2005提供并扩展了大量最早在SQL Server 2000中引入的功能,比如针对XML的发布行集聚集器、OpenXML行集提供程序以及基于带注解模式的XML视图技术。对于大规模的数据库应用来说,企业版的以上特性是非常重要的。通过在SQLServer中提供对可靠的信息队列机制的支持,服务代理能够帮助开发人员创建松耦合的分布式应用。许多数据库应用使用异步处理的方式来提高可扩展性和交互型会话的响应时间。一个常用的异步处理的方法是使用工作表。与把一个业务流程中的所有工作放在一个数据库事务中完全不同,一个应用程序进行修改来指示存在未完成的工作,然后,向工作表中插入一条接下来要执行的工作的记录。只要资源允许,应用程序处理工作表并完成业务流程。服务代理是数据库服务器的一部分,为应用开发直接提供对该方法的支持。以前的消息队列技术集中于单个的消息。在服务代理中,通信的基本单元是会话——一个持久的、可靠的全双工消息流。SQLServer保证一个会话中的消息按顺序刚好向一个应用分发一次。每个会话是一个会话组的一部分。相关的会话能够与同一个会话组相关联。会话出现在两个服务之间。一个服务是会话的一个命名的端点。会话和消息都是强类型的。每个消息都有一个指定的类型。SQLServer可以选择验证消息格式是否是良好的XML,消息是
- 3 -
否为空,或者消息是否遵循XML模式。一个协定定义了会话中所允许的消息类型,以及哪些会话参与者能够发送这种类型的消息。SQLServer提供了一个默认的协定和消息类型,以满足只需要可靠流的应用。
企业版中提供了两种实现数据库可用性高的方法,故障转移群集(Failover clustering)和日志传送(Log shipping),这些都是标准版中所没有的,但对于很多实用性很强的关键业务系统来说往往的必不可少的。和标准版相比,SQLServer 2005企业版处理可以利用更多的硬件资源来增强性能,还提供了联合数据库、索引视图、并行DBCC及增强的预读和扫描等特性来提高数据库的服务性能。
SQLServer的数据仓库和商务智能组件包含:SQLServer集成服务,SQLServer分析服务,SQLServer报表服务。它们分别在独立的服务器中实现,并且能彼此独立的安装在一台或多台机器上。它们能通过本地连接器、OLE-DB或者ODBC驱动链接多种数据源,比如文本文件、电子表格或者各种关系数据库系统。它们一起提供了一个端到端的解决方案,进行抽取、转换和加载数据,然后对数据建模和添加分析功能,并最后建立和分析数据的报表。分析服务器的各个组件能够集成并相互辅助。SQL Server 2005集成服务是一个企业数据转换和数据集成的解决方案,可以用它从分散的源抽取、转换、聚集和合并数据,并把它转移到单个或多个目的地。SQLServer分析服务组件包含针对商务智能应用的联机分析处理和数据挖掘功能。分析服务支持瘦客户架构。计算引擎在服务器端,查询在服务器端解析,避免了在客户端和服务器端之间传输大量的数据。SQLServer还支持数据挖掘扩展,用来与数据挖掘模型交互的语言,就像SQL是用来与表和视图交互的语言一样,可以创建和训练模型,并将其存储在分析服务数据库中。然后,可以浏览模型中的模式,或者通过使用特殊的语法,将其应用于新的数据执行预测。SQL Server 2005中的数据挖掘能够用于存储在关系或多维的数据源上。通过特定的任务和转换,其他数据源也能够支持,使得数据挖掘直接作用于集成服务的操作型数据的流水线上。报表服务是一个新的基于服务器的报表平台,它可以用来创建和管理包含来自关系和多维数据源的数据的表格、矩阵、图形和自由格式的报表。创建的报表能够通过基于Web的连接查看和管理。矩阵报表能够为高层次的查看汇总数据,同时也支持下钻报表的细节。参数化报表可用来在运行时基于提供的值进行数据过滤。用户可以随时从大量的查看格式中选择喜欢的格式来显示报表,并用来操纵数据和打印。
2.2 JSP简介
JSP是Sun Microsystems公司倡导,许多公司参与一起建立的一种动态网页技术标准。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和
- 4 -
scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Servlet一样,是在服务器端执行的,通常返回给客户端就是一个HTML文本,因此客户端只要有浏览器能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP技术的优点如下。
1.一次编写,到处运行。在这一点上,Java比PHP更出色,除了系统之外,代码不用做任何更改。
2.系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP.net的局限性是显而易见的。
3.强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
4.多样化和功能强大的开发工具支持。Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
5.支持服务器端组件。Web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供Web页面调用,以增强系统性能。JSP可以使用成熟的Java Beans 组件来实现复杂商务功能。
内部对象说明:Request客户端请求,此请求会包含来自Get/Post请求的参数;Response网页传回客户端的响应;pageContext 网页的属性是在这里管理;session 与请求有关的会话;application servlet正在执行的内容;out用来传送响应的输出流;config代码片段配置对象;page JSP网页本身;exception针对错误网页,未捕捉的例外。
JSP的运行方式是在服务器启动后,当Web浏览器端发送过来一个页面请求时,Web服务器先判断是否是JSP页面请求。如果该页面只是一般的HTML/XML页面请求,则直接将HTML/XML页面代码传给Web浏览器端。如果请求的页面是JSP页面,则由JSP引擎检查该JSP页面,如果该页面是第一次被请求、或不是第一次被请求但已被修改,则JSP引擎将此JSP页面代码转换成Servlet代码,然后JSP引擎调用服务器端的Java
- 5 -