计算机科学与技术毕业设计-2.2万字网上商城.docx
中文摘要、关键词02英文摘要、关键词03文献综述04第一章绪论051. 1前言051.2设计目的和意义05第二章ASP的概述及数据库的选择072. 1ASP的简介072.2ASP的四个重要特征072. 3ASP的基本结构082.4数据库的选择10第三章电子商务书店系统分析H3. 1电子商务书店系统结构113. 2数据库访问技术分析与选择H第四章界面的设计224.1 建立数据库224.2 利用ADo访问数据库24第五章电子商务书店系统的设计及实现275.1 运行环境及开发工具275.2 前台操作页面的主要功能285.3 后台操作页面的主要功能36第六章电子商务书店系统调试及维护45结束语46致谢47参考文献48附录49网上商城电子商务书店摘要:随着网络技术的发展,Internet已成为最具市场潜力的技术领域,使用Web技术设计的数据库应用软件,是目前Imernet市场的技术中坚,各种Web应用如电子商务,网上购物等都采用这种方式实现。互联网的优势在于用户能同时从不同地点、不同数据库中存取数据。本次毕业设计的主要内容是对“电子商务书店“这一网上购物系统的设计与实现,在设计与实现“电子商务书店“这一网上购物系统的过程中,综合使用了HTML、Access.ODBC、11S等多种网络编程技术。并大量使用ASP的内置数据库组件,通过ODBC数据源和ADo组件对象技术访问和更新、修改数据库的表中的内容,文中还介绍了WWW体系结构中三层客户/服务器的工作模式,探讨了目前流行的几种Web数据库访问技术。从而把“电子商务书店''数据库化,使之成为易于维护的动态网站。关键词:ASPDreamweaverODBCADOAccess购物OnnetbookstoreAbstract:Alongwiththenetworktechnologydevelopment,Internethasbecomemosthasthemarketpotentialtheareaoftechnology,usestheWebtechnicaldesignthedatabaseapplicationsoftware,isthepresentInternetmarkettechnicalbackbone,eachkindofWebapplicationlikeelectroniccommerce,onthenettheshoppingandsoonallusesthiswayrealization.TheInternetsuperiorityliesintheusertobeableatthesametimefromdifferentplace,inthedifferentdatabasetodepositandwithdrawthedata.Thisgraduationprojectmaincontentisto"thenetonthebookstore"onthisnettheshoppingsystemdesignandtherealization,inthedesignandtherealizationonthenetthebookstore"onthisnetintheshoppingsystemprocess,thesynthesisusedHTML,Access,ODBC,11Sandsoonthemanykindsofnetworkshasprogrammedthetechnology.AndmassivelyusesASPintosetatthedatabasemodule,throughtheODBCdatapoolandtheADOmoduleobjecttechnologyvisitandtherenewal,intherevisiondatabasetablecontent,inthearticlealsointroducedintheWWWsystemstructurethreecustomers/Theserverworkingpattern,hasdiscussedthepresentpopularseveralkindofWebdatabasevisittechnology.Thus"thenetonthebookstore,thedatabase,causesthedynamicwebsitewhichitbecomeseasytomaintain.Keyword:ASP,Dreamweaver,ODBC,ADO,Access,Shopping文献综述Internetzintranet技术的日益发展,使人们认识到了Intenetzinternetr优势,更使得数据库与ASP的连成为数据库开发方面的热门技术之一。ASPKPACTIVCSERVERPAGES(动态服务器页面),是微软公司新一代开发动态网页的技术,具有开发简单、功能强大等优点,可以非常简单直观地实现复杂的ASP应用。ASP实际上不是一种语言,而是一种应用程序环境。在当今信息飞速发展的时代,计算机已经越来越深入每个人的学习、生活当中,掌握计算机知识已经成为每个人必须的生存技能。电子商务书店属于电子商务的范畴,在形式上,电子商务书店与传统书店迥异,它没有物理意义上的店面,而是借助计算机技术、网络技术等现代信息技术及相关设备向读者展示图书。在功能上,它则与传统书店一致,即让读者了解进而购买所需求的图书,以此获取效益。作为一种全新的图书营销模式,电子商务书店具有传统书店所无法比拟的优势,电子商务书店的优势归根到底是信息优势,因此,各种相关信息的制作、发布、反愧处理是电子商务书店日常运作中最基本、最重要的环节,而图书信息的录入又是其中的首要工作,这是因为图书信息是读者了解图书并最终产生购买的必要条件。以互联网为代表的信息技术的兴起对传统商业活动带来了巨大的冲击。这种冲击不仅是技术层面的,更是渗透于社会层面以及心理层面。其中,互联网的信用问题正受到广泛的重视。目前国内外都基本掌握了电子商务书店的系统理论,大多数的研究是在操作层面上对电子商务书店的管理进行探讨,在国外十分普遍。电子商务书店是信息时代的产物,为了满足更多用户的要求电子商务书店正在走'向普遍与大众化。第一章绪论1.1 引言在当前充满竞争的社会中,信息技术深刻地改变着社会,人们对信息的需求越来越迫切,利用信息技术改变传统的产业结构,实施全面的自动化管理,提高劳动生产率,提高服务质量,提高对市场的应变能力,减少销售环节,提高产品竞争能力等方面,有巨大的潜力。信息技术的发展核心是WorldWideWeb,也叫Web或WWW,WW之所以能够飞速发展的原因是用户能够从世界上任何地方访问信息和数据,并且越来越需要具备对驻留数据库和数据存储中大量信息的Web访问能力。尽管每个数据供应厂家都在开发新的Intemet访问产品以缩小与Web数据库之间的距离,但仍没有一个统一的访问平台。在具体应用中,仍需要编写定制的数据库访问应用程序。1.2 设计目的和意义早期的Web数据库主要是指那些位于不同Web网站的大型HTML文档存储库,最近Web数据库又将传统的数据库管理系统(一般为关系型数据库管理系统)结合起来。但是,Web缺乏检索机制,特别是基于内容和基于结构的检索。由于缺乏数据库的功能,所以它不象数据库管理系统那样,易于对存储的数据进行管理和组织。支持客户/服务器结构的数据库管理系统,如OraCle,Sybase,Informix,SQLSeVer等,其技术已经相当成熟,并且广泛应用于各个领域。它们很适合于对大批数据进行有序,规则的组织于管理。当给出查询条件后,能够很快得到查询结果,许多高档数据库都具有分布式处理,联机事务处理的功能,并且能够使不同的操作系统,网络协议在同一环境下工作。但这些应用软件缺乏超文本连接的功能,得不到整个Web环境为背景的支持。因此,在网络中,Web与数据库的互连是一个重点。在Internet中,信息一般集中存放在数据库中,而Web则用于信息的共存,交换和发布,如果Web和数据库结合起来,就能够最大限度地发挥数据库的组织数据的有效性和Web的发布数据的开放性,使得整个Internet系统具有数据库功能,网络功能,超文本功能和开放性,交互性,实时动态性,真正让数据库得到共享。在集成的过程中,Web与数据库之间的交互接口是必须实现的关键环节。本设计实现的是一个网上购书系统,书店可根据图书量和访问量的大小选用各种类型数据库和操作系统。所编写的程序应能在不同的操作系统平台,不同类型的数据库中通用。文中通过分析网络的结构,Web数据库的访问过程,总结分析了目前流行的几种Web数据库访问技术,选择了一种有发展前途的、通用性强的便于二次开发的数据库访问技术,实现书店网上购书的功能。本题目的意义在于,该软件经过修改,就可以在单机和桌面数据库上实现网上购物,使更广泛的商业活动进入Internet,使之为更多的百姓服务。第二章ASP的概述及数据库的选择2.1 ASP的简介ASP的全称是ActiveServerPages可理解为“动态服务器页面”技术。是Microsoft推出的一种用以取代通用网关接口的技术,它是一个Web服务器端的运行环境,是目前最流行的Web服务器应用开发技术,它的特点是将脚本、超文本和强大的数据库访问功能结合在一起,并提供了众多的服务器组件来扩展功能,能够很方便地创建分布式和基于Web的商业化应用程序。在这里可以生成和运行动态的、交互式的、高性能的Web服务器应用程序”。它将程序脚本、超文本和强大的数据库访问功能结合在一起,并提供了众多的服务器组件来扩展功能。可见,ASP即不是一种语言,也不是一种开发工具;而是一种技术框架,其主要功能是为生成动态的、交互式的Web服务器应用程序提供一种共呢感强大的方式或技术。如果要更简单地描述ASP,可以说ASP就是运行在Web服务器上的动态网页。ASP程序文件也是一个标准的网页,一般由HTML标记和ASP脚本代码混杂在一起组成。ASP网页程序必须先经Web服务器的ASP解释器解释执行,产生HTML代码后才传送给用户的浏览器执行显示。本次毕业设计使用ASP的数据库功能把“电子商务书店”数据库化,使之变成易于维护的动态网站。2.2 ASP的四个重要特征1. ASP提供了六大类内置对象ReqUeSt(请求):从前端用户取得信息;Response(响应):将信息送给前端用户;SerVer(服务器):提供Web服务器工具;Session(会话):储存在一次会话内的用户信息,仅被该用户访问;Application(应用):管理所有的会话信息,供所有用户共享;ObjectContext(对象上下文):配合TranSaCtiOn服务器进行分布式事务处理(11S4.0新增)。利用这些ASP中提供的内置对象,可以使脚本程序更加强大;这些对象允许你从浏览器中接受和发送信息,甚至可以在授权范围内控制服务器端的文件管理系统。例如,利用request对象,可以接受客户在HTMLFonn中填写的信息,并在一个脚本中来响应它,然后再用Response对象的Write方法输出到客户端浏览器。利用SeSSion对象,你可以进行会话管理,也可以进行浏览器活动信息的跟踪。而利用最新的ObjeCtConteXt对象可以提交和终止处理。2. ASP可以在服务器端包含脚本ASP支持的脚本语言极其丰富,几乎所有的脚本语言如VBScriptJavaScript以及Perl等都可以作为ASP的脚本语言。这样,不但可以保证它有足够的能力来处理各种情况,而且能够方便开发者选择自己熟悉的语言开发。3. ASP是ACtiVeX技术中的服务器端技术,Web服务器本身带有相当数量的标准服务器端ActiveX组件,这些组件允许你做诸如依据浏览器能力的不同进行不同显示,以及利用AdRotator组件来实现随机广告的处理工作。除了利用一些标准的ACtiVeX组件,ASP还允许创建自己的附加ACtiVeX组件,这样,就可以不受限制地拓展ActiveX组件,增强ASP的能力。4. ASP可以方便地链接数据库ASP可以通过数据链接组件ADO和诸如SQLServer、Access等数据库进行链接。ADO(ActiveXDataObject),又叫ActiveX数据对象,是一项容易使用并且可扩展的,链接数据库、操作数据库、查询数据库,并且可以将数据库访问结果添加到Web页面的技术。可以使用ADO去编写紧凑简明的脚本以便链接到OpenDataBaseCOnneCtiVity(ODBC)兼容的数据库和OLEDB兼容的数据源。ADO链接数据库的功能非常强大,使用ACtiVeX数据对象(AD0),可以对来自许多种提供者的数据进行读取和写入操作。例如,可以使用ADO来访问MiCroSOftACcess,MicrosoftSQL和OraCIe数据库中信息。ACtiVeX数据对象(AD0),允许用户ACCeSS查询语句经过数据库的提供者或ODBC数据源中的数据库驱动程序,对服务器端的数据库数据进行查找和操作。与其他链接数据库和操作数据库的方法相比,ADO方法具有容易掌握、操作简单、使用灵活、占用内存和硬盘空间小等特点。2.3ASP的基本结构ASP网页与HTML网页的不同之处在于:(1)从Web服务器看,一个ASP页面与普通HTML页面是不同的。普通HTML文件不经处理就直接发送给浏览器,ASP文件则需要先解释执行,只将生成的HTML页面传送给浏览器;(2)从客户浏览器看,ASP页面几乎与普通HTML页面完全一样。唯一不同的是ASP文件的扩展名是.asp,而不是.htm或.html。用户发出ASP页面请求,浏览器将得到一个普通的HTML页面。图1-1显示了ASP页面的处理示意图,整个过程主要有如下5个步骤(HTML页面的处理没有第3步)(1)用户将ASP文件的网址输入到浏览器的地址栏,请示一个ASP网页;(2)浏览器向Web服务器发送ASP文件请示,称为“Request(请求)”;(3)服务器找到并解释执行该ASP文件,生成标准的HTML文件;(4)服务器将HTML文件传送给用户浏览器,称为“Response(响应)”;(5)用户的浏览器解释HTML文件,结果在浏览器窗口显示。显示ASP请求解释生成客户机|1wb服务器©HTML响应图17ASP网页运行过程示意图一般来说,ASP文件是由HTML标记和VBSCriPt程序代码混杂在一起组成的。ASP文件是标准的网页,其中,可以使用任何的HTML代码。ASP特有的VBSCriPt程序部分则用%括起来,以与HTML代码和一般内容区分开来。ASP的VBSCriPt与DHTML的VBSCriPt区别在于:ASP的VBScript与DHTML的VBScript虽然名称相同,语法规则也相同,但由于应用在不同的领域,因此并不通用。如果一定要在ASP中的%标记中使用DHTML命令,会出现执行错误;同样地,如果要在DHTML的scriptlanguage=VBSCriptY/SCriPt标记中使用ASP语句,也会出现执行错误。2. 4数据库的选择数据库的种类很多,小型桌面数据库有ACCeSs、ExcekFoXPro等,大型的数据库有OraCle、SybaSe、InformiX和SQLSerVer等。在网上购书系统中,两种类型的数据库都可能用到。我们选择小型数据库Access2003,大型数据库SQLServer6.5为典型进行软件的开发。Access2003是微软公司推出的OffiCe2003套件中的一个重要组成部分,它是一种通用的桌面关系型数据库管理系统。具有良好的用户界面,通过Access2003的操作界面,可以完成对数据库的生成、修改和删除,也可以对表中的数据库进行添加、修改和删除,对表中新的查询和输出报表等日常的数据库操作。Access2003提供了对标准ANSL-SQL语言的支持,可以使用SQL语言来操作数据库。Access2003一般运行在微软的操作系统平台下,如Windows95/98,Windows2000,WindoWSXP等。安装PersonalWebServer程序后,可以建成电子商务书店。MicrosoftSQLServer6.5是微软公司的一种典型的关系型数据库管理系统(RDBMS),能够同时处理大量的数据和管理众多的并发用户,并且能够有效地保证数据的完整性,支持数据的分布处理。SQLServer6.5有丰富的实用程序和管理工具,如SQLEnterpriseManager>ISQLSQLSecurityManager>SQLServerManagerSQLSetupSQLClientConfigurationUtility等,用户可以使用这些工具直接建立数据库系统,并对数据库进行数据添加、修改和删除等操作。SQLServerManager支持标准的SQL语言。SQLServer运行在WindowsNT或WindoWS2000Server上。大型数据库OraCIe,SybaSe等,操作系统选择UNlX系统,安装Web服务器可构成网上购书系统。可见,为了保证程序具有通用性,使用简单。我们可以选择Access2003来做为我们的数据库系统。第三章电子商务书店系统分析2.1 电子商务书店体系结构用户通过因特网接入电子商务书店的WWW服务器,WWW服务器提供书店中图书的浏览、查询及订购。用户可在浏览器查看书店的图书,可以按分类,书名、关键子进行查询,并可以进行购买。WWW服务器接收用户输入,并解释成相应的数据库处理过程发给数据库服务器,进行数据库操作。管理员根据定货情况及时邮寄。设计中需要考虑以下问题:1、网络环境。2、Web数据库访问技术选择。3、WWW服务器网页及中间件程序的开发。4、图书数据库的建立及查询。3. 1.1网络环境一因特网Internet前身是美国ARPANET(AdvanceResearchProjectsAgencyNetwork)0它使用统一的TCP/IP通信协议,将全世界几百万台主机相连,构成了一个庞大的计算机网络。近年来,随着电子商务的应用,InteClet发展迅速,已经逐步走进百姓的生活。Internet上的系统结构多采用客户/服务器模式,服务器端(即主机)负责数据、语音和图像等的存储、维护、管理以及传递,客户端负责人机界面的操作、送出需求及显示取回的数据。通常情况下,由客户机主动与服务器的对话,服务器则等待客户机的请求并作出响应。3. 1.2WorldWiIdWeb体系结构WordWideWeb(WWW)是Internet上最广泛的应用,它也是基于客户/服务器模式,目前常用的客户端软件是浏览器,如NetscapeNavigator,MicrosortInternetExplorer,FTP软件等。服务器端的软件主要有NetSCape、CERN和NCSAo客户和服务器之间的通信按照HTTP(HyperTextTransferProtoCOD协议进行,HTTP协议是为分布式超媒体信息设计的一个协议。它是无状态、面向对象的协议,该协议使用纯文本方式,配以标记语言,完成客户与服务器间的各种数据传输。在服务器上有一个HTTP守护进程,它接收客户机的请求并作出响应。每当该进程接收到一个新的请求,就创造一个新的子进程为该请求服务。服务完成后,这个子进程自行结束。访问Web数据库的体系结构一般采用三层体系结构,即:1、用户界面部分一浏览器。2、应用界面部分一Web服务器发送请求,如果请求的一个HTML(HyperTextMarkupLanguage,超文本标记语言)文档,则Web服务器在本地文件系统中找到文件,并回传给浏览器。如果请求的是对数据库的操作,则由Web服务器启动相应的中间程序,由中间件程序与数据库互交,并使用获得的数据,生成HTML页面,回传给浏览器,完成一次用户请求。三层功能如下:1、数据库一般的数据库管理系统DBMS(DataBaseManagementSyStem)是关系数据库管理系统,如OraCle,Sysbase,InformiX等,其次是对象一关系数据库管理系统,如UnUSQL/X、Access等。关系数据库管理系统的数据结构较为简单,数据本身以二维表形式进行存储,表之间的数据的联系通过表中键的连接来表示,系统采用桌面关系型数据库管理系统Accesso2、浏览器Web±,用户界面是用HTML编写的页面,用户请求并浏览HTML页面的工具是浏览器。浏览器是一种软件,当用户提出请求后,它主要完成两件工作:一是使用HTTP(HyperTextTransferProtocol,超文本传输协议)协议向Web服务器发送请求,下载用户请求的页面;二是解释页面中的HTML标记并按照标记规定的格式显示页面。3、Web服务器在Web没有和数据库连接之前,用户在浏览器中看到的是服务器上下载的静态页面,这种静态页面中包含了一些信息,但无法及时反应数据的动态变化,且用户无法通过浏览器操作数据库中的数据。为了向用户提供内容丰富的信息服务,必须将Web与数据库连接起来,使浏览器通过Web服务器激活中间件程序,完成对数据库的操作,这时Web服务起着中介者的作用。3.1.3网上购书系统三层客户/服务器结构剖析网上购书系统工作时遵循着三层客户/服务器模式的交互过程。客户/服务器模式是一种软件体系结构,这种结构中包含了两类实体:客户机和服务器,实体的数量并没有限值,体系结构的层次也没有限制,目前实用较多的结构是两层客户/服务器结构和三层客户/服务器结构。两层客户/服务器结构主要用于局域网系统中,三层客户/服务器结构是一种新的适应于局域网和广域网的客户/服务器结构,可以代表客户/服务器结构的发展方向。三层客户/服务器按功能可以分成表示层,功能层,和数据层三层。三层分割明确,并在逻辑上相对独立出来。在三层客户/服务器结构中,表示层和功能层也分离成各自独立的程序,并且这两层间的接口简洁明了。各层功能如下:1、表示层表示层是应用的接口部分,它担负用户与应用程序间的对话功能。它用于检查从用户键盘等输入的数据,显示应用输出的数据。为使用户能直观地进行操作,一般要使用图形用户接口GUI(GraphicsUserInterface),操作简单,易学易用。在变更用户接口时,只需要改写显示控制和数据检查程序,而不影响其它两层。检查的内容也只限于数据的形式和值的范围,不包括有关业务本身的处理逻辑。2、功能层功能层相当于应用的本体,它将具体的业务处理成逻辑编入程序中。表示层和功能层之间的数据交往要尽可能简洁。而由功能层处理过的结果数据也一次传给表示层。在应用设计中,要尽量避免进行一次业务处理,在功能层和表示层之间进行多次数据交换的笨拙设计。3、数据层数据层就是数据库管理系统,负责管理对数据库数据的读写。数据库管理系统必须能执行大量的数据更新和检索。采用ACCeSS数据比较方便库,它一种通用的桌面关系型数据库管理系统。WWW体系结构与三层客户/服务器结构之间的对应关系分别是:客户端浏览器对应表示层,Web服务器(中间件)对应功能层,数据库管理系统对应数据层。上述三层与硬件的对应基本有三种,其中表示层一直配置在客户机中,数据层一直配置在服务器中,而功能层的位置有所变化。一般情况是在客户机中只有表示层,与两层客户/服务器相比,其程序的可维护性要好得多,但客户机的负荷太重,其业务处理所需的数据要从服务器传给客户机,系统的性能容易破坏。如果将功能层和数据层分别放在不同的服务器中,则服务器和服务器之间也要进行数据传送,影响效率。但是,由于在这种形态中、三层是分别放在各自不同的硬件系统上,所以灵活性很高,能够适应客户机数目的增加和处理负荷的变动。例如,在追加新业务处理时,可以相应增加装卸功能层的服务器。因此,系统的规模越大这种形态的优点就越显著。通过对以上三层客户/服务器结构剖析,可见按三层客户/服务器结构进行开发的程序具有:1、功能丰富,可用性强;2、功能能跨应用系统;3、系统能跨平台运行等优点。3.2数据库访问技术(中间件技术)分析与选择从上述分析可见,电子商务书店程序设计主要包括两部分,一是Web网页设计,主要的还是位于功能层数据库访问程序设计,即中间件的设计。中间件是位于前端客户端和后端服务器端的一个中间层,它一般包含应用逻辑,负责接收客户端的应用请求,对请求作出相应的处理后将请求交给后端,并负责将服务器的处理结果返回客户端。中间件包括很多种类,本文中所指的中间件是数据库访问中间件,在讨论中间件时,所提到的客户端和服务器的概念是根据应用程序功能而言的,客户端有时指Web服务器,主要是向中间发出请求的一方。后端服务器在基于Web的数据库应用中一般指数据库,主要是响应中间件请求的一方。开发中间件程序必须注意以下几点:1、中间件是一个公共的应用通讯与数据接口层,是任何人都能通过它无缝连入应用开发环境中,也就是说,应用程序应该容易的定位和共享应用逻辑和数据。2、中间件必须可靠地保证事务关键性业务不被丢失。3、中间件应能和同构或异构环境下的多种数据源通讯,同时,能够管理数据间的公共逻辑约束。目前常见的中间件技术有:1、通用网关接口CGlCGI(CommonGatewayInterfaCe)是Web服务器在调用外部程序时的接口规范协议,它定义了一套标准的参数格式和环境变量。遵循CGl规范编写的CGI程序的作用是扩展Web服务器的功能,使之能够执行一些Web服务器本身不能完成的任务,比如访问数据库,此时,CGl充当数据库网关。将用户的操作要求(如查询)转换成数据库的操作命令,然后将操作结构返回给用户。CGI程序一般是可执行程序,以进程方式运行。CGI程序的执行一般有两种调用方式,一是通过URL(UnifonnResourceLocation,统一资源定位器)直接调用,另一种方式也是主要方式,是通过交互式主页中的表单(FORM)调用,通常都是用户在页面上填完一张输入信息表单后按“提交”按钮,即启动CGI程序。CGl进程对请求的处理过程,用户请求被传到Web服务器,Web服务器按照请求启动一个新的独立于自己的CGI进程,该进程通过缓变量和标准输入获得数据并处理这些数据,然后将输出结果返回给Web服务器(通常是通过标准输出),响应用户请求。以上这些动作均是在Web服务器进程之外的一个进程空间中进行,因此,还有一些信息服务器不能传递给CGl进程。2、Web服务器专用APlWebAPI是经过扩充的CGI工具,用WebAPI编写的用户应用也是为了扩展Web服务器的功能,并为Web的程序员提供一个高级的开发环境,目前微软有一套面向Internet服务的API接口一ISAPdnternetServerApplicationProgramInterface,Internet服务器应用编程接口),NetscapeEnterpriseServerNSAPI(NetscapeServerApplicationProgramInterface,Netscape服务器应用编程接口)等等。用API编写的用户应用被编译为动态链接库DLL(DynamicLinkLibrary),作为Web服务器的一个函数,Web服务器用在线程方式运行它,使之与Web服务器结合紧密,比传统的CGI方式在性能和灵活性方面都强大许多。以ISAPI的ISAdnternetServerApplication,Internet服务器应用程序)为例,它被编译为动态连接库。和CGl程序一样,可以用HTML页面中的表单调用ISA,ISA收集表单数据,对其进行分析处理,这与CGl处理看似相同,实际上是完全不同的。用户请求被发送到Web服务器,Web服务器检查该函数进程,若内存中没有,则装卸它。然后函数进程ECB(EXtenSionControlBlock,扩展控制块)中读取数据,处理数据并将处理结果送回客户机。最后Web服务器终止函数进程,如有必要,从内存中卸载该进程。在整个过程中,用户请求停留在Web服务器处理范围内,数据由ECB处理,因ECB位于Web服务器进程空间内,允许Web服务器交换更详细的信息甚至对Web服务器本身进行一些改动。3、JDBCJava是一种面向对象的编程语言,使用Java语言编写的JaVa小程序可以嵌入HTML页面,随页面下载浏览器所在的客户端执行,并通过JDBC访问数据库。JDBC是JavaSoft公司制订的JaVa数据库连接规范,它是一个支持基本SQL功能的通用底层的API,为Java程序提供了一个各种数据库的统一接口访问。JDBC由Java语言编写。JDBC包含两部分,它们与数据库独立。一部分是面向程序开发人员的JDBCAPI,另一部分是面向程序开发人员的JDBCAPI,另一部分是面向底层的JDBC驱动器API访问JDBC驱动器管理者(JDBCDriverManager),驱动器负责标准JDBC调用向其支持的数据库所要的具体调用转变。应用程序编写一次并一直到各种驱动器上,应用程序不变,驱动器则各不相同,从而实现对不同数据库的访问。JDBC驱动器管理者用于管理各种数据库软件商提供的JDBC驱动器。对没有提供相应驱动器的数据库管理系统,有特殊的JDBC-ODBC(OpenDatabaseConnectivity,开放数据库互连)桥驱动器,该驱动器支持JDBC通过现有的ODBC驱动器访问其数据库管理系统。JDBC网络驱动器允许使用通用的网络协议访问不同的数据库管理系统。4、对象Web对象Web是新一代的动态网页技术,主要有Java/CORBA(CommonObjectRequestBrokerArchitecture,公共对象请求代理结构)和Active/DCOM(DistributedComponentModel,分布对象模型)两种技术。以CORBA为例,该标准的主要特点是实现软件总线结构。所谓软件总线结构的功能,就是起到类似于计算机系统硬件总线的作用,只要将应用模块按总线规范做成软插件,插入总线即可实现集成运行。按照CORBA规范实现软件总线的核心系统称为OMG(ObjectManagementGroup,对象管理集团)对象模型,还具有分布进程管理和通信管理功能,取代了传统客户/服务器结构中的相应接口部分。此外,CORBA定义了IDL(InterfaCeDefinitionLanguage,接口定义语言),以描述软件总线上的插销。IDL提供了对成员系统的封装和成员系统之间的隔离,任何成员系统作为一个对象,通过IDL对其接口参数进行定义和说明,就可以接到ORB上,为其他系统提供服务或向其他系统提出请求,达到即插即用的效果5、 ASP(ActiveServerPages)3.2.1对中间件技术的比较与评价下面从几个不同方面对这几种技术进行比较,评价它们的优缺点,为实际应用提供选择标准。一、连接模型a) A类:CGl和APl方式。由Web服务器作为通信中介,启动中间件一CGI或API应用,并由后者完成数据库的访问,结果信息再经Web服务器返回浏览器。由于Web服务器承担的任务较多,易于形成瓶颈。b) B类:JDBC和对象Web方式。不需要Web服务器作为通讯中介,由位于浏览器端的客户机与数据库直接建立连接进行交互,克服了HTTP协议的无状态性,能提供面向连接的连续查询。二、效率CGI进程机制使其效率不高。CGI程序启动起来后是一个与Web服务器进程不同的进程,它与Web服务器间的通讯属于进程间的通讯,这种机制导致开销大,速度低。另外由于HTTP协议是一种无状态的协议,相应的,CGI也就不能自动地保持状态。一般一个CGl进程只能处理一个用户请求,这样每个请求都会激活一个CGl进程。如果Web服务器收到多个同样的请求,必须重复准备地址空间,建立运行空间,撤消进程的过程,导致刚刚进行的请求对下一个请求没有任何利用价值,即使是同样的请求,也必须重复一遍所有的工作,资源浪费很大,由无法提高速度。而且,当用户请求数量非常多时,服务器的并行进程也会很多,会大量挤占系统资源,如内存,CPU机时等,客户机请求共享度低。WebAPI以线程机制使其应用效率很高,其设计初衷即是为了改进CGl方式的低效。用WebAPl编写的用户应用以线程方式运行于Web服务器的地址空间中,可方便地存取Web服务器的各资源数据,省去了进程间通信的开销,并且被激活后可以长驻内存一段时间。线程的启停开销也很低。在重复和并发收到同样请求时,其效率的改进更为显著。JDBC方式效率较低。一是因为Java程序由客户端的Java虚拟机解释执行,速度慢且占用资源多。二是因为JDBC访问数据库要调用JDBC驱动器管理器,后者再调用相应驱动器,再由驱动器与数据库互交,结果又经相反途径返回,层次较多。对象Web方式由于没有Web服务器作中介,直接通信较为高效。它具有运行于多个服务器上的可伸缩性,在访问非常密集的情况下有饿不会造成性能的明显下降。尤其是在高负荷的场合,性能优势最为明显。三、复杂性如表3-1所示,复杂性最高的是WebAPl的编程,要求编程人员至少是中高级程序员,熟悉WlNDOWS程序设计,面向对象编程,深入掌握线程,进程,内存管理技术等等。其次的实用对象Web方式,需要掌握DCOCoRBA等分布式程序设计规范及其开发工具产品。表37复杂性比较方式需要掌握的知识编程语言CGICGI规范、HTTP协议和WEB服务器的运作方式任何语言ISAPICGl编程的全部知识、APIC/C+JDBCJava、JDBC接口和HTTP协议Java对象WEBDCOMCORBA等分布式程序设计规范及其开发工具产品支持的任何一种面向对象语言ASPHTML、ActiveX>ASPVB>JaVa脚本语言四、兼容性WebAPl是各Web服务器的专用技术,互不相容,只能在特定的服务器和操作系统上运行。而且,由于采用了动态链接库的形式,一旦程序代码质量较差比较容易造成服务器系统的崩溃。其余三项均为开放技术。CGl方式是最早得到支持且最普遍的方式,它的跨平台能力极佳,几乎可以在任何操作系统上实现,如DOS,WINDOWS,UNIX,OS/2,MACINTOSH等,并且实现CGl的编程语言有很多,如PerLC,C+,VisualBaSiC,Delphi等;JDBC方式由于Java语言的跨平台特性具有高度的兼容性。Java/CORBA的兼容性不仅表现在其规范的开放性,具有广泛的支持平台,可以升级。而且支持已有的代码,能与用各种不同面向对象语言实现的应用通信。ActiveX/DCOM也是独立于语言的,但目前只在微软平台一Windows95和NT上支持。综上所述,实现Web与数据库的接口有各种各样的技术,它们各有所长,也各有所短,一定要量才使用,才能达到较好的效果。在实际应用中,应该根据实际的软硬件条件,应用系统的规模规则,安全性的要求,开发人员的素质,以及用户的需求进行综合考虑,审顺选择。3.2.2中间件技术的选用原则及本设计中间件技术的选择在实际的应用中,如果客户端(浏览器)的请求不是很密集,负荷较为平衡,Web服务器与数据库的每次交互的数据量平均在100条记录以内,可以选用CGI实