登陆注册
32825500000023

第23章 网络财务系统中的动态数据库技术

随着网络的发展,网络技术中的重要组成部分——Web数据库也逐渐显示出它的重要性。网络财务与Web数据库紧密联系,伴随着近几年有关网络财务系统工程研究与实践在我国的兴起,Web数据库技术已经成为网络财务系统建设中不可或缺的重要技术。在网络财务系统中,需要将Web技术与数据库技术有机地结合在一起,充分利用数据库系统的信息资源,形成一个能在Internet/Intranet上组织管理信息资源并能迅速检索、查询的网络财务系统。这种Web网页与数据库系统的连接及其他们之间的交互,亦即Web数据库的存取技术已成为基于Web的数据库系统开发中所面临的重要课题。

5.3.1Web数据库简介

5.3.1.1 什么是Web数据库

数据库中存储的资料可以通过多种渠道加以利用:在单机上供个人使用的数据库称为单用户数据库;在局域网上供小范围的多人使用的数据库称为多用户数据库;通过Internet/Intranet等在非常广大的范围内供用户使用的数据库就是Web数据库。

5.3.1.2 Web数据库的优点

(1)使用方便数据库应用一般是采用客户机/服务器(C/S)模式,有一个客户端和一个服务器端,客户端向服务器端发出资料请求,服务器响应并处理请求,把处理的结果再回送到发出请求的客户端。传统的数据库应用需要为每一个应用开发一个客户端,然后再在每一个客户端安装,还要加以培训才能使用;而Web数据库的客户端由浏览器担任,不需要单独开发也不需要培训。

(2)开发统一传统的数据库应用一般是用VB、VC、Power Bui1der、De1phi等开发,这些开发工具各有各的标准和方法,不适合开发Web数据库;Web数据库的开发使用统一标准HTML,任何人开发的Web数据库都要符合这个标准。这就使得Web数据库具有了强大的适应性。

(3)跨平台支持传统数据库应用一般要针对每一个操作系统开发一个专用版本,甚至要为不同的硬件平台开发不同的版本;对于Web数据库,只要在某个平台上具有符合HTML标准的浏览器就可以在所有的操作系统和硬件平台上使用同一个版本的Web数据库。

5.3.1.3 Web数据库的模式

由于Web数据库的特殊要求,传统的客户机/服务器(C/S)模式的那种为客户机安装前端应用程序的方法已不再现实,这是因为客户机的工作环境是千变万化的,工作地点也不同。于是基于浏览器/服务器(B/S)模式的系统应运而生,它继承了C/S模式的优点,不受具体操作系统和硬件的制约。

目前应用广泛的B/S模式系统主要是通过浏览器以超文本的形式向Web服务器提出访问数据库的请求,Web服务器接受客户请求后,激活对应的应用程序将超文本HTML语言转化为SQL语言,并将这个请求交给数据库,数据库服务器得到请求后,验证其合法性,并进行数据处理,然后将处理结果集返回给应用程序,应用程序再将结果集转化为HTML,并由Web服务器转发给请求方的浏览器。

在B/S模式中,客户端的标准配置是浏览器,如Internet Exp1orer;业务处理功能从C/S代码中彻底分离出来,由独立的应用服务器处理,Web服务器成为应用处理的标准配置;数据处理由数据库服务器完成。B/S模式是三层分布结构,即Web浏览器——Web服务器——数据库服务器。

5.3.1.4 Web上的数据库

如果你想构造有用的、用户界面良好的数据库应用程序,除了使用数据库厂商提供的工具,或自己独立编程之外,能靠Web浏览器和填表就完成用户界面的构造任务无疑会受到广泛的欢迎。

利用Web访问数据库的过程如下。

用户通过填写表格(以HTML创建)来执行查询和数据请求。他们可以通过菜单的选择,单击按钮,填写数据来输入进行后台数据库查询所需的关键字。

CGI脚本程序把输入到表格的信息提取出来,并把它组织成为有效的SQL查询,随后CGI脚本将其发送到数据库后台。

同一个CGI脚本程序在数据库引擎对数据进行处理之后接收结果。脚本程序会把结果以HTML格式传回到用户的Web浏览器上,以显示给用户阅读。

(1)ORACLE数据库应用程序网关ORACLE的Web系统是一个范围广泛的程序包,包括ORACLE数据库服务器,一个增强的HttpD服务器,Web浏览器,一个称为Web Agent的用户开发软件和称为Web Listener的连接件(中间件)。

(2)SYBASE数据库应用程序网关SYBASE公司通过对HTML的专用扩展来实现Web对数据库的访问。产品名称为Web。SQL,它允许Web页面包含有可指向特殊HTS格式文件的超级链接,并直接将它存储在SYBASE数据库中。

(3)INFORMIX应用程序网关INFORMIX有两种Web接口工具:INFORMIX-ESQL/C和INFORMIX-4GL,当然你必须有基本的INFORMIX数据库应用程序。所有这两个工具都是基于CGI标准的。

(4)Microsoft的Web中间件产品用Microsoft公司的IIS和ODBC,可以:

1)创建包含有数据库中信息的Web页面。

2)从Web页面基于用户输入插入、修改和删除数据库的信息。

3)执行其他SQL命令。

5.3.2 基于Web的动态数据库访问技术

目前,实现Web数据库的访问一般可以采用两种做法:一种是在Web服务器端提供中间件来连接Web服务器和数据库服务器;另一种是把应用程序下载到客户端,在客户端直接访问数据库。

中间件负责管理Web服务器和数据库服务器之间的通信并提供应用程序服务,它能够直接访问数据库或调用外部程序或利用脚本代码来访问数据库,因此它可以提供与数据库相关的动态HTML页面,或执行用户查询,并将查询结果格式化成HTML页面,然后通过Web服务器返回给用户浏览器。最基本的中间件技术有通用网关接口(CGI)和服务器应用编程接口(Server API)。

除了在Web服务器端采用中间件以外,还可以通过Web浏览器把应用程序下载到客户端运行,在客户端直接访问数据库。客户端应用包括:Java App1et、Active X、P1ug-in等,其中最典型的就是Java App1et。利用Java App1et可以方便地实现与用户的交互,还能提供丰富的图形功能和声音、视频等多媒体功能。特别是由于Java是一种与平台无关的编程语言,因而具有极强的可移植性。在Java App1et中访问数据库,可以使用JDBC(Java Database Connectivity)技术,通过JDBC提供的API实现对分布在网上的不同数据库的各种操作。另外还可以把对数据库的访问转交给专用服务器来完成,Java App1et通过与专用服务器的Socket通信来传递数据库操作的请求和结果。

一般情况下,当我们通过浏览器浏览发布财务信息的网页,进入信息查询的服务页,在搜索下拉列表中选择了“单位”后,便会出现“中文系”、“数学系”等单位,在其后的“单位名称”下拉列表中选择了“数学系”,点击“确定”,一会儿,在下面的空表格中,就出现了单位的经费项目、指标分配、支出明细等我们希望了解的信息。这种服务是如何实现的呢?其实,这就是动态Web数据库应用的一个简单例子。

下面将重点讨论利用Web服务器端提供的中间件连接Web服务器和数据库服务器的几种方法,这也是网络财务系统设计中所使用的动态数据库访问技术。

5.3.2.1 CGI

CGI(Common Gateway Interface,公共网关接口)是外部应用程序与Web服务器间的接口标准,利用它可以将数据库与Word Wide Web集成,实现动态Web数据库应用。

,CGI应用的流程为:客户端通过IE等浏览器在表格中输入数据库查询条件(或其他要求),并提交给Web服务器;服务器将查询条件及客户信息置于标准输入或一组环境变量中,并运行相应的CGI程序;CGI程序依标准输入或环境变量向数据库服务器提出查询要求,执行相应的SQL语句;数据库服务器返回结果给Web服务器,并通过HTML页面返回客户浏览器。

CGI程序用诸如VB、C/C++、PERL等多种语言可以编写,且因CGI比较通用,使得其在DOS、Windows 9X、Windows NT、UNIX等操作系统上皆可运行,几乎所有的Web服务器都支持CGI。但是CGI程序的开发需要一些底层开发经验,故难度加大。同时,CGI一般都为一个独立的可执行程序,每当客户端输入一个请求时,就必须激活一个CGI进程,这样用户的增加必然会大大剥夺系统资源,使得Web服务器的效能降低。

CGI可以说是一种最通用的动态Web数据库应用方式,发展也最为成熟,历史也最为悠久,并且也已经得到广泛的应用,但其效率低、编程难一直是最大困扰。

5.3.2.2 JDBC

JDBC(Java Database Connectivity)是Java soft 公司制定的Java 与数据库的互联API(App1ication Programming Interface,应用程序接口),支持SQL。由于其在不同数据库层次上提供了一个统一的接口,故使得Java 程序员轻松实现了动态Web数据库应用。

还是说说Java 吧!

Java 是SUN的一种面向对象的编程语言,具有安全、简单、自动下载到网络等优点,是近年最火的网络编程工具之一,被广泛应用于Internet/Intranet。

JDBC有两个层次,一个是面向程序员的JDBC API,一个是底层的JDBC Diver API。JDBC API在Java。SQL 包中定义,包括JDBC API用到的类、接口与方法;而JDBC Diver API则用来解释执行SQL语句并返回结果。

JDBC应用的流程为:用户通过IE等浏览器下载Web服务器上的含Java App1et的HTML页面;然后调用了JDBC的Java App1et与数据库相连;并通过JDBC API访问JDBC Diver API,对数据库进行操作,返回结果。

总之,JDBC是一种十分适合于Java 程序员的动态Web数据库应用方式,也由于Java 的广泛应用而被大大推广,而且它的多平台支持、安全性也令人神往,但速度不算很快。

5.3.2.3 IDC

IDC(Internet Database Connector,Internet数据库连接器)是Microsoft提供的一个API,实质上是基于Microsoft的Web服务器IIS(Internet Information Server)的一个ISAPI(Internet Server API)应用程序HTTPODBC。d11.它可通过ODBC接口访问各种各样的数据库。

IDC使用两种文件来控制数据库操作和返回HTML页面。一种是。IDC,它包括连接ODBC资料源的信息、需执行的SQL语句(如SELECT*FROM student-db等)和。htx文件名及路径。另一种是。htx,它是HTML扩展文件,依IDC执行的SQL语句的查询结果构造出HTML文件返回用户浏览器。

IDC应用的流程为:用户通过IE等浏览器发出查询要求,Web服务器IIS接收;IIS装载HTTPODBC。dll,并给予查询要求;HTTPODBC。dll读取IDC文件,形成完整的SQL语句,并装载ODBC驱动程序,与数据库连接,执行查询;HTTPODBC。dll读IDC中指定路径指定的。htx 文件,生成包括查询结果的HTML文档,并返回IIS,再返回用户浏览器。

IDC是针对CGI的低效率而提出的一种基于ISAPI的动态Web数据库应用技术。因其以动态链接库(DLL)的形式存在,在启动时被加入内存,和Web服务器处于同一进程空间,故占用系统资源少、执行效率高。但由于其基于Microsoft的IIS,故跨平台性相当差。另外,IDC的编程相当容易,只需掌握一定的HTML与SQL语言就可设计出良好的。htx和。IDC文件,适用于简单的Web数据库应用开发。

5.3.2.4 ASP

ASP(Active Server Pages,动态服务器页面)是基于Microsoft Windows NT4.0和IIS3.0/4.0或Personal Web Server on Win9X的开放式脚本开发环境,是新一代动态Web数据库应用开发方案。利用它可以实现复杂的Web应用,开发动态、高效、交互的Web服务器端应用程序。它有如下特点。

(1)完全与HTML相融合,因此使开发变得相当容易,而且灵活性得以提高。

(2)ASP能利用任何脚本语言,如VBScript(默认脚本语言)和Java Script等。

(3)ASP的制作工具可用纯文本编辑器(如Notepad),但专业开发人员一般用Microsoft 的Visua1 InterDev6.0.

(4)ASP是文本文件,扩展名为。ASP,包括文本、HTML标记(如和等)和ASP文件特有的脚本语句(用)括起来)。

(5)支持面向对象。

(6)利用ASP开发出的脚本程序运行在服务器端,所以它对浏览器的种类没有限制,而且也防止了原程序被偷看,提高了安全性。

(7)支持多用户、多线程。

(8)ASP采用ADO(ActiveX Data Objects)组件,通过ODBC驱动程序连接数据库。

ASP应用的流程为:IE等浏览器向Web服务器递交查询,申请访问一个ASP文件;Web服务器调用ASP文件并执行;用ADO组件通过ODBC访问数据库,将结果传递到用户浏览器。

ASP是一种十分具有发展前途的动态Web数据库应用技术。在许多网站就时常可见。ASP的URL,而且也有许多用ASP建立的聊天室。

ASP提供了五个内建对象:Request、Response、Sever、Session和App1ication,相当于已经封装好的类,它们给客户访问各种资源提供了极大的方便。

同类推荐
  • 浙商商道

    浙商商道

    浙商草根本性:群狼还是独兽浙商,中国有史以来“第一商帮”,被台湾商界誉为“大陆之狼”,享有“中国犹太人”的美称。无庸质疑,浙商已经成为继晋商、徽商之后,中国历史上又一个时代性的大商帮。浙商是群狼,一旦发现猎物,便群起而攻之。这就是浙商快速崛起的重要因素.也是浙商最具竞争能力的一个方面。浙江商人作为商人的一个群体,不仅创造了许多财富,而且为全国商人提供了一套可学可操作的经商哲学。本书为读者揭示了浙商的成功秘诀,经商之道。
  • 上市公司财务分析

    上市公司财务分析

    本书包括:上市公司财务分析基础、资产负债及其分析、利润表及其分析、现金流量及其分析、合并财务报表及其分析等内容。
  • 世界上最伟大的推销员全集

    世界上最伟大的推销员全集

    本书作者做过八年的市场调查,与近200名推销员——那些已经成功的伟大推销员,与基布里、乔治·伍德、马斯尔等都有深切的交往,他想把自己与这些伟大推销员交往的心得总结出来,供给大家参看,因此经过数日的奋战,终于完成此书,最后以乔治·伍德先生的一段话作为结尾:“伟大的推销员始于细节,细节造就伟大的推销员!在一个没有目标指引下的推销员,无论如何只能低水平地重复自己,而不能把自己列入伟大推销员之列。假如你有目标指引,那么就要敢想敢做,绝不能给自己留下一个可以退缩的空间。”
  • 制造抢购的200个促销手段

    制造抢购的200个促销手段

    我们这本《制造抢购的200个促销手段》最大特点是内容全面,共有二十一章,涵盖了200个有创意的促销方案,从服务促销、主题促销、节日促销、氛围促销、价格促销等21个不同方面,分别进行了详细的叙述和讲解。另外,几乎每一个小节都配有生动的实战案例,这就摒弃了以往枯燥的讲解,给读者耳目一新的感觉。
  • 零售创新:基于系统的思想与方法

    零售创新:基于系统的思想与方法

    本书运用系统的思想和方法对零售创新系统进行了全面的分析和考察,这是一部以全新视角研究零售创新问题的著作,作者通过对零售创新的主体、客体、环境及其互动协同关系的研究,提出了零售企业创新的模式和策略。本书不仅为零售企业创新活动的开展提供了有益的指导,也为致力于零售创新的研究者奠定了很好的研究框架和基本思路。
热门推荐
  • 前夕缘烬

    前夕缘烬

    她,如花美眷,似水流年,初遇他时惊才绝艳…他,少年意气,一代天骄,初遇她时英雄少年…只这一次,她:老娘看上你了,跟了我,保你一世荣华。那年她15岁。他笑:小生才疏学浅,配不上小姐,但若是小姐执意下嫁,小生断不会让小姐受了委屈…谁料想,才疏学浅,后来状元第一人,家徒四壁又为何富甲一方。可谁知,一场阴谋让他和她生生世世……
  • 传世道士在异界

    传世道士在异界

    当传奇世界的道士穿越到异世大陆,会卷起怎样的风浪。“这是亡灵魔法?”“不……这只是召唤骷髅。”“这是失传的圣光术?”“不……这只是很低级的群体治疗术而已……”
  • 恨瑜生

    恨瑜生

    多年之前两个人的生活中莫名多出了宋瑜的存在,和两人一开始期望的好像并不一样,慢慢随着宋瑜长大……宋瑜慢慢从一个幼稚园的小女孩长大成一个略显稚嫩的成年人,她的生活会有转变吗
  • 霸道王妃不敢惹

    霸道王妃不敢惹

    我是夏玲也叫顾云落,本来准备去毕业旅行的我,糊里糊涂的穿越了!还是一个从来没听过的国家!竟成了六王妃,本以为这六王爷是个风流倜傥的暖男,没想到竟然是个腹黑男,对我是横竖看不顺眼!斗就斗!老娘也不是吃素的,看我不玩转你这个腹黑王爷!六王爷:你说什么!(冷脸状)顾云落:王爷我错了(下跪状)
  • 战洛城

    战洛城

    云游四方之人,应除暴安良,习武而不以武欺人,积善成德方为正道。
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 暧昧高手在都市

    暧昧高手在都市

    当落魄学霸获得超级基因——你以为仅仅只是1+1=2吗?用智商碾压对手用实力横扫反派用魅力征服女神用异能玩转都市这家伙已经超神了好吗!
  • 异界魔法修仙

    异界魔法修仙

    人家穿越到异界,不是本身身怀绝学就是一到异界就有奇遇,我可好,什么都木有不说,还被困在一个小岛上.除了一艘烂船,一口破锅.看我怎么用智慧从石器时代走向人类顶峰~~~~~本人本书都是慢性子.本人第一次写小说,大家多点理解多点宽容,多点意见,少点谩骂.谢谢!!!希望大家收藏
  • 穿书后我成了傲娇王爷的心尖宠

    穿书后我成了傲娇王爷的心尖宠

    李婉儿穿进了一本古言虐恋小说里,成了苦逼女主。女配们折磨她、羞辱她、踩她。男主虐了她的人又虐她的身,两人的感情更是波折重重狗血不断,虐得死去活来,结局还要帮男主养孩子。作为半途穿过来的李婉儿不想和男主谈恋爱,更不想被虐,所以她与男主划清界限、紧抱男二。剧情开始后,三人为躲避追兵,走大山、过沼泽,躲过一次又一次生死危机,历经磨难总算是苦尽甘来。男主:“李婉儿傻的很,以前没出过门见识少,你们别欺她。”被李婉儿踩在地上摩擦的众人欲哭无泪,圣上,你确定我们能欺负了她?男二:“我女人一项娇气、受不得气,你们要是惹了她,我就与你们大战三百回合。”众人:楚王爷,你力大无穷、武功高强谁敢和你打!
  • 斗罗之魔铠

    斗罗之魔铠

    如果出现了掌控命运的神,那么,就会出现一名弑神者!你说是吧?唐三?女主:主霍雨浩,副陆娜