基于Web的可维护的数据库浏览器论文Word格式文档下载.docx
- 文档编号:4750983
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:37
- 大小:954.37KB
基于Web的可维护的数据库浏览器论文Word格式文档下载.docx
《基于Web的可维护的数据库浏览器论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于Web的可维护的数据库浏览器论文Word格式文档下载.docx(37页珍藏版)》请在冰点文库上搜索。
随后产生了动态页面和更多交互能力的需要,新的应用需要根据客户请求,从数据库中动态获取数据并予以显示。
由此所产生的技术手段有CGI和Web服务器内置API等。
这些手段在一定程度上满足了应用需求,但也都存在着各自的局限性:
CGI效率低、速度较慢,而内置API开发困难,移植性差。
随着Web应用范围的扩大,基于商业应用的Web开始出现,人们需要Web服务器端提供更为复杂的和更为灵活的应用开发支持。
JavaScript、VBScript等技术的运用,Web中对象和组件的应用使基于Web的商业程序开发得以迅速发展。
但这种应用通常只适用于构建规模不大的商业系统,当商业系统进一步扩大时,其扩展性受到了限制,因为在Web服务器最初的设计目的中并不包括对大规模、高性能和高可靠性商业应用的支持。
应用程序服务器(ApplicationServer)的产生正是为了突破这一瓶颈。
1.2体系结构
应用程序服务器的产生与软件体系结构的演变发展也是密切相关的。
让我们简单回顾一下软件体系结构的发展历史。
与最初的大型中央主机相适应,最初的软件结构体系也是Mainframe结构,该结构下客户、数据和程序被集中在主机上,通常只有少量的GUI界面,对远程数据库的访问比较困难。
随着PC的广泛应用,该结构逐渐在应用中被淘汰。
在80年代中期出现了Client/Server分布式计算结构,应用程序的处理在客户(PC机)和服务器(Mainframe或Server)之间分担;
请求通常被关系型数据库处理,PC机在接受到被处理的数据后实现显示和业务逻辑;
系统支持模块化开发,通常有GUI界面。
Client/Server结构因为其灵活性得到了极其广泛的应用。
但对于大型软件系统而言,这种结构在系统的部署和扩展性方面还是存在着不足。
Internet的发展给传统应用软件的开发带来了深刻的影响。
基于Internet和Web的软件和应用系统无疑需要更为开放和灵活的体系结构。
随着越来越多的商业系统被搬上Internet,一种新的、更具生命力的体系结构被广泛采用,这就是为我们所知的“三层/多层计算”。
一个典型的三层模型如如下图所示:
(图1.2)
客户层(clienttier)用户接口和用户请求的发出地,典型应用是网络浏览器和胖客户(如Java程序)服务器层(servertier)典型应用是Web服务器和运行业务代码的应用程序服务器数据层(datatier)典型应用是关系型数据库和其他后端(back-end)数据资源,如Oracle和SAP、R/3等三层体系结构中,客户(请求信息)、程序(处理请求)和数据(被操作)被物理地隔离。
三层结构是个更灵活的体系结构,它把显示逻辑从业务逻辑中分离出来,这就意味着业务代码是独立的,可以不关心怎样显示和在哪里显示。
业务逻辑层现在处于中间层,不需要关心由哪种类型的客户来显示数据,也可以与后端系统保持相对独立性,有利于系统扩展。
三层结构具有更好的移植性,可以跨不同类型的平台工作,允许用户请求在多个服务器间进行负载平衡。
三层结构中安全性也更易于实现,因为应用程序已经同客户隔离。
1.3应用程序服务器
应用程序服务器是三层/多层体系结构的组成部分,应用程序服务器位于中间层。
如上图所示,应用程序服务器运行于浏览器和数据资源之间,一个简单的实例是,顾客从浏览器中输入一个定单,web服务器将该请求发送给应用程序服务器,由应用程序服务器执行处理逻辑,并且获取或更新后端用户数据。
在企业级应用中,应用程序服务器是位于企业数据(以及其他企业遗留系统)和访问企业数据的客户之间的中间件,它提供了业务代码的存放和运行的环境。
它从物理上把业务逻辑(Businesslogic)同客户端和数据资源分离开来。
应用程序服务器可使一个商业系统得以快速简便的开发和部署,也可以适应商业系统的用户增加而无需重构系统,这一切都是因为它处于一个相对独立的结构层。
在实际应用中,一个企业系统可以由多个应用程序服务器、多个Web服务器和多个数据库服务器组成,应用程序代码可以分布在这多个应用程序服务器上。
应用程序服务器是企业级web应用的必经之路,新的企业级应用需要关键性应用能对不断增加的用户数量保持持续可用,此外企业应用还需要高的安全性和可靠性,无论访问系统的用户数量发生变化,还是系统数据资源发生变化,应用程序服务器都应始终保持运行。
在应用程序服务器之前,Web应用程序通常运行在Web服务器中,但Web服务器最初只是被设计用来提供Web页面相关服务的,因此开发/运行Web应用程序是缓慢而复杂的。
而应用程序服务器的强大功能则能够为企业级应用系统的开发和部署提供有力的保证。
一个对应用程序服务器的定义如下:
采用具有分布式计算能力的集成结构、支持瘦客户机的软件服务器产品。
应用程序服务器的基本用途包括:
管理客户会话、管理业务逻辑、管理与后端计算资源(包括数据、事务和内容)的连接。
上述定义的涵盖范围是应用程序服务器本身,我们认为实际上应用程序服务器还应该包括其开发环境。
每一个应用程序服务器产品都有自己的API。
为了充分利用应用程序服务器所提供的功能,开发人员必须学会用这些API编程。
服务器的API对实用系统的开发至关重要,掌握API方法和它们提供的功能需要花一定的学习时间。
越来越多地,应用程序服务器采用诸如COM、CORBA、EnterpriseJavaBeans(EJB)和JavaServlets等标准化技术(其中CORBA和EJB更为常用),上述标准化技术的采用使开发变得更加容易,因为它们为通用服务器管理功能提供了标准化API,遵循标准保证了当更改应用程序服务器时原有组件可移植。
2开发语言
2.1Servlet
Servlet是使用JavaServlet应用程序设计接口(API)及相关类和方法的Java程序。
除了JavaServletAPI,Servlet还可以使用用以扩展和添加到API的Java类软件包。
Servlet在启用Java的Web服务器上或应用服务器上运行并扩展了该服务器的能力。
Javaservlet对于Web服务器就好象Javaapplet对于Web浏览器。
Servlet装入Web服务器并在Web服务器内执行,而applet装入Web浏览器并在Web浏览器内执行。
JavaServletAPI定义了一个servlet和Java使能的服务器之间的一个标准接口,这使得Servlets具有跨服务器平台的特性。
Servlet通过创建一个框架来扩展服务器的能力,以提供在Web上进行请求和响应服务。
当客户机发送请求至服务器时,服务器可以将请求信息发送给Servlet,并让Servlet建立起服务器返回给客户机的响应。
当启动Web服务器或客户机第一次请求服务时,可以自动装入Servlet。
装入后,Servlet继续运行直到其它客户机发出请求。
Servlet的功能涉及范围很广。
例如,Servlet可完成如下功能:
(1)创建并返回一个包含基于客户请求性质的动态内容的完整的HTML页面。
(2)创建可嵌入到现有HTML页面中的一部分HTML页面(HTML片段)。
(3)与其它服务器资源(包括数据库和基于Java的应用程序)进行通信。
(4)用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。
(5)当允许在单连接方式下传送数据的情况下,在浏览器上打开服务器至applet的新连接,并将该连接保持在打开状态。
当允许客户机和服务器简单、高效地执行会话的情况下,applet也可以启动客户浏览器和服务器之间的连接。
可以通过定制协议或标准(如IIOP)进行通信。
(6)对特殊的处理采用MIME类型过滤数据,例如图像转换和服务器端包括(SSI)。
(7)将定制的处理提供给所有服务器的标准例行程序。
例如,Servlet可以修改如何认证用户。
2.2JSP
JavaServerPagesTM(JSP)技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。
JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。
JavaServerPages(JSP)技术就是被设计用来满足能够在任何Web或应用程序服务器上运行,将应用程序逻辑和页面显示分离,能够快速地开发和测试,简化开发基于Web的交互式应用程序的过程.
JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。
太阳微系统公司(SunMicrosystemsInc.)开发出这个规范来整合和平衡已经存在的对Java编程环境(例如,JavaServlet和JavaBeansTM)进行支持的技术和工具。
其结果是产生了一种新的、开发基于Web应用程序的方法,给予使用基于组件应用逻辑的页面设计者以强大的功能。
Web页面开发人员不会都是熟悉脚本语言的编程人员。
JavaServerPage技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。
标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。
通过开发定制化标识库,JSP技术是可以扩展的。
今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。
这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。
JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。
作为采用Java技术家族的一部分,以及Java2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。
由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为JavaServlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。
作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。
随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。
当与Java2平台,企业版(J2EE)和EnterpriseJavaBean技术整合时,JSP页面将提供企业级的扩展性和性能,这对于在虚拟企业中部署基于Web的应用是必需的。
2.3JDBC接口技术
JDBC是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface应用程序设计接口)。
它由一些Java语言编写的类和界面组成。
JDBC为数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。
2.3.1ODBC简介
说到JDBC,很容易让人联想到另一个十分熟悉的字眼“ODBC”。
ODBC是OpenDatabaseConnectivity的英文简写。
它是一种用来在相关或不相关的数据库管理系统(DBMS)中存取数据的,用C语言实现的,标准应用程序数据接口。
通过ODBCAPI,应用程序可以存取保存在多种不同数据库管理系统(DBMS)中的数据,而不论每个DBMS使用了何种数据存储格式和编程接口。
2.3.2JDBC技术
JDBC是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface,应用程序设计接口)。
它由一些Java语言写的类、界面组成。
JDBC给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。
通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。
也就是说,开发人员可以不必写一个程序访问Sybase,写另一个程序访问Oracle,再写一个程序访问Microsoft的SQLServer。
用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统(DBMS)。
不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。
Java和JDBC的结合可以让开发人员在开发数据库应用时真正实现“WriteOnce,RunEverywhere!
”
Java具有健壮、安全、易用等特性,而且支持自动网上下载,本质上是一种很好的数据库应用的编程语言。
它所需要的是Java应用如何同各种各样的数据库连接,JDBC正是实现这种连接的关键。
JDBC扩展了Java的能力,如使用Java和JDBCAPI就可以公布一个Web页,页中带有能访问远端数据库的Applet。
或者企业可以通过JDBC让全部的职工(他们可以使用不同的操作系统,如Windwos,Machintosh和UNIX)在Intranet上连接到几个全球数据库上,而这几个全球数据库可以是不相同的。
随着越来越多的程序开发人员使用Java语言,对Java访问数据库易操作性的需求越来越强烈。
MIS管理人员喜欢Java和JDBC,因为这样可以更容易经济地公布信息。
各种已经安装在数据库中的事务处理都将继续正常运行,甚至这些事务处理是存储在不同的数据库管理系统中;
而对新的数据库应用来说,开发时间将缩短,安装和版本升级将大大简化。
程序员可以编写或改写一个程序,然后将它放在服务器上,而每个用户都可以访问服务器得到最新的版本。
对于信息服务行业,Java和JDBC提供了一种很好的向外界用户更新信息的方法。
简单地说,JDBC能完成下列三件事:
1)同一个数据库建立连接;
2)向数据库发送SQL语句;
3)处理数据库返回的结果。
JDBC是一种底层API,这意味着它将直接调用SQL命令。
JDBC完全胜任这个任务,而且比其他数据库互联更加容易实现。
同时它也是构造高层API和数据库开发工具的基础。
高层API和数据库开发工具应该是用户界面更加友好,使用更加方便,更易于理解的。
但所有这样的API将最终被翻译为象JDBC这样的底层API。
目前两种基于JDBC的高层API正处在开发阶段。
1)SQL语言嵌入Java的预处理器。
虽然DBMS已经实现了SQL查询,但JDBC要求SQL语句被当作字符串参数传送给Java程序。
而嵌入式SQL预处理器允许程序员将SQL语句混用:
Java变量可以在SQL语句中使用,来接收或提供数值。
然后SQL的预处理器将把这种Java/SQL混用的程序翻译成带有JDBCAPI的Java程序。
2)实现从关系数据库到Java类的直接映射。
Javasoft和其他公司已经宣布要实现这一技术。
在这种“对象/关系”映射中,表的每一行都将变成这类的一个实例,每一列的值对应实例的一个属性。
程序员可以直接操作Java的对象;
而存取所需要的
SQL调用将在内部直接产生。
还可以实现更加复杂的映射,比如多张表的行在一个
Java的类中实现。
随着大家对JDBC兴趣的不断浓厚,越来越多的开发人员已经开始利用JDBC为基础的工具进行开发。
这使开发工作变得容易。
同时,程序员也正在开发对最终用户来说访问数据库更加容易的应用程序。
2.3.3JDBC两层模型和三层模型
JDBC支持两层模型,也支持三层模型访问数据库。
两层模型中,一个javaAppple或者一个JA-va应用直接同数据库连接。
这就需要能直接被访问的数据库进行连接的JDBC驱动器。
用户的SQL语句被传送给数据库,而这些语句执行的结果将被传回给用户。
数据库可以在同一机器上,也可以另一机器上通过网络进行连接。
这被称为“Client/Server”结构,用户的计算机作为Client,运行数据库的计算机作为Server。
这个网络可是intranet,比如连接全体雇员的企业内部网,当然也可以是internet。
在三层模型中,命令将被发送到服务的“中间层”,而“中间层”将SQL语句发送到数据库。
数据库处理SQL语句并将结果返回“中间层”,然后“中间层”将它们返回用户。
MIS管理员将发现三层模型很有吸引力,因为“中间层”可以进行对访问的控制并协同数据库的更新,另一个优势就是如果有一个“中间层”用户就可以使用一个易用的高层的API,这个API可以由“中间层”进行转换,转换成底层的调用。
而且,在许多情况下,三层模型可以提供更好的性能。
到目前为止,“中间层”通常还是用C或C++实现,以保证其高性能。
但随着优化编译器的引入,将java的字节码转换成高效的机器码,用java来实现“中间层”将越来越实际。
而JDBC是允许从一个java“中间层”访问数据库的关键。
3系统结构
3.1JSPServlets和JavaBean来构成系统
本节我们讨论用JSP,Servlets,和JavaBean来构成一个系统的途径。
下面有集中不同的结构。
每一种都是从上一种发展过来的,下面的图表显示了发展过程的梗概。
(图3.1)
当Sun公司开始推广JSP的时候,很多人认为可以通过Web页面来请求的企业级结构将会取代Servlet。
虽然JSP是J2EE规范的关键组成部分,它处理请求和应答机制。
我们需要更深入的研究JSP和Servlet的关系。
本节的另一个部分谈了JSP代码的实现细节,如何编译转化为Servlet。
JSP是建立在ServletAPI基础之上的,;
利用了Servlet的语义。
理解了这个,提出一个有意思的问题:
我们是否不再需要在使用WEB的系统中开发标准的Servlet?
是否有一种方法来结合JSP和Servlet?
如果有的话,我们需要把Java代码放在何处?
在JSP的请求过程中,是否涉及到了其他的组件,比如说JavaBean?
如果有的话,他们在这个体系结构处与什么位置,扮演什么角色?
明白这些问题是很重要的。
虽然JSP技术是基本的Servlet技术的继承,但是JSP在Servlet的基础上有所创新,他们可以互相协作,互相补充对方的不足。
3.1.1体系结构
在讨论体系结构之前,有必要提一下两种使用JSP技术的基本方法
第一种是以页面为中心(Page-Centric)的(Client/Server)方式,这样方式是把请求直接发给JSP页面。
第二中方式分发方式(多层结构的)。
这种方式以一个JSP或者Servlet做为一个基本的控制器,它又把请求分给JSP页面或者JavaBean。
首先我们看看Page-Centric的结构。
这样的结构通常都是来客户机和服务器端都有一个应用程序。
最常见的例子是PowerBuilder的例子。
Servlet或者JSP在服务器端截获客户的请求,直接的访问数据库等资源。
(图3.2)
这个结构的优点就是编程简单。
允许页面的设计者根据资源的状态动态的生成页面的内容。
但是,这样的结构不适合多个客户同时访问资源,这样同时会有大量的请求需要服务端来处理。
每个请求都会建立一个连接,消耗一定的资源。
这样,需要让这些连接共享一些资源。
其中最明显的例子就是用JDBC连接数据库中用到的连接池(Connectionpools)。
对结构使用不适当的话,会导致JSP中出现大量的JAVA代码。
这虽然对java程序设计人员不会有什么问题,可是大量的代码分散在JSP中,不利于维护和修改。
这种基本的结构包括通过嵌入在JSP中的代码直接的向服务器发请求。
这样有几个优点:
从开发看来,成本很低。
所有的JAVA代码都嵌入到HTML中,复杂性降低了。
(图3.3)
减少了复杂性,当系统规模增大的时候,这种结构的缺点也出来了。
例如,把太多的应用逻辑放到了JSP页面中。
前面我们提到,利用Servlet或者Bean可以把开发者角色分的更清楚,提高代码的可重用性。
本论文所用的是多层结构的JSP,在这种结构下,用一个Servle
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Web 维护 数据库 浏览器 论文