Web数据库访问技术

来源 :互联网世界 | 被引量 : 0次 | 上传用户:sust_alex
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  一、 引言
  
  随着Internet/Intranet的讯速发展,WEB得到了越来越广泛的应用,WWW页面已由静态网页逐渐发展为动态的交互式网页,如何更好地实现与用户的交互就成为非常迫切的问题。解决这一问题的方法之一就是实现数据库与Internet/Intranet 应用软件的集成。基于WEB的数据库应用,就是将数据库和WEB技术结合,按照Browser/Server结构建立的通过浏览器访问数据库的服务系统。目前建立与web数据库交互连接的方法有主要如下几种:一是网关接口CGI和NSAPI、ISAPI;二是JDBC(JAVA DATABASE CONNECTIVITY);三是ACTIVEX。
  
  二、CGI和NSAPI、ISAPI
  
  CGI是一种在服务器与外部脚本或程序之间进行交互的方法,它通过从Web服务器上接收信息,创建一个子过程以便为CGI进行脚本处理或存储从服务器上接受的信息。通过CGI,用户可以在Web页面上添加一些程序,向访问者提供一种方式来存储信息和执行一些外部程序,访问数据库。
  CGI脚本语言分为解释型和编译型两大类。解释型脚本语言不需要预先编译,只由解释器来完成,如Perl、Unix Shell等。其特点是通俗易学,应用广泛,但安全性较差,执行效率低。编译型脚本语言需要预先编译、生成二进制代码,如VC、C++、Visual Basic、Delphi等。编译型脚本语言需要编译环境,依赖于具体的操作平台,但执行效率高,安全性较高。
  为实现信息共享和动态服务,必须能够让Web用户通过CGI访问数据库。CGI需要通过一个接口才能访问数据库,这种接口多种多样,几个大的数据库厂商也对某些CGI脚本语言提供数据库接口。例如,Oracle就提供Perl对Oracle数据库的接口。
  CGI曾是产生动态WEB页的主要技术,但CGI的灵活性能较差,每当一个客户应用程序调用一个CGI程序时,Web服务器需要创建一个新的进程,执行这个CGI程序,回送执行结果给客户,最后清理使用的资源。如果此时服务器正接受许多客户的请求,Web服务器就要执行大量的任务,从而大大降低了网络的速度。
  而ISAPI(Internet服务器API)或NSAPI(Netscape服务器API)能克服这一问题,使Web服务器能够在其进程空间中执行用户逻辑,并在每一个动态请求发生时无需派生新的执行程序。NSAPI与ISAPI应用程序十分类似,下面仅以ISAPI为例。
  一个ISAPI应用程序是运行在Web服务器进程空间中的一个线程DLL,当发生HTTP请求调用这个ISAPI DLL时,Web服务器从它的线程池(线程池是一个由Web服务器管理的工作线程集合)中取得一个线程,并启动这个在DLL中执行的线程。而线程可随服务器的负载情况动态地增大或缩小。在执行结果回送到客户端后,则线程也将送回线程池。这一方法比CGI派生新进程来利用系统资源更为有效。不过,使用ISAPI的缺点是线程级安全代码的编写、测试和卸载替换较难。
  
  三、JDBC
  
  Java是一种面向对象的编程语言。Java程序独立于开发平台,它被编译成一种字节码序列,并被一种Java解释器翻译,翻译后的Java程序可以在具有java解释器的任意系统下运行,而不需要重新编译。这种能力使Java成为在Internet上编程的一种理想语言。Java程序可以在Java已经移植到的任意平台上运行。嵌入到WWW页中的Java程序称为Java Applet。
  JDBC规范使JAVA实现数据库的连接,JDBC设计是基于X/OPEN SQL CLI(CALL LEVEL INTERFACE)模型,它定义一组API对象和方法,从而与数据库进行交互。JDBC API是一个数据库接口,用来解释和执行来自应用程序中的SQL语句,并返回结果集。它可以全部用JAVA编写。如SUN和INTERSOLV合作开发的JDBC-ODBCBRIDGE,JDBC-ODBCBRIDEG可以通过在JDBC和ODBC之间建立一个桥梁,让JAVA程序通过JDBC来访问ODBC中的数据源。但目前要编写一段Java代码确实比较麻烦,从而影响它的普及。
  
  四、ACTIVEX
  
  ActiveX是Microsoft提出的一组使用COM(Component Object Model)使得软件部件在网络环境中进行交互的技术集。它与具体的编程语言无关。作为针对Internet应用开发的技术,ActiveX被广泛应用于WEB服务器以及客户端的各个方面,也被用于创建桌面应用程序。ActiveX目前可在所有的Windows平台上使用。ActiveX核心元素的ActiveX控制(Custom Controls),可以在单独的应用程序和Web页中重复使用。
  ActiveX和JavaApplet两者都可用来创建动态的Web,然而,也有一些不同,ActiveX不像Java,它是独立于语言的,可以用Visual Basic、Visual C++、Delphi、Borland C++和其他开发语言开发。一个ActiveX代码,必须先编译后,才能在网页中使用;而调用ActiveX的网页必须用元素来对之加以描述。与Java的字节码技术相比,ActiveX提供了“代码签名”(Code Signing)技术保证其安全性。
  ActiveX控制与其父控制OLE相比,接口更少,并且可以没有窗体,都支持IUnknown接口。目前,很多第三方开发商编制了超过1000个各式各样的ActiveX控制供用户下载使用。
  编写ActiveX控制时必须考虑以下几个问题:文件尽可能小,解释ActiveX控制持续存储数据,附加说明如何在Internet上下载和安装,说明如何在客户端注册。所有这些,会给用户使用ActiveX控制产生不便。
  Delphi能够容易地创建用于建立Web窗体的ActiveX构件。在客户程序嵌入构件后,其执行情况就像应用程序中的任何Delphi窗体一样。下面是用Delphi创建ActiveX来调用数据库的例子:
  1.关闭所有打开的项目,然后选择File/New;
  2.在NEW 的对话框中选择ActiveX页,然后再选择ActiveX Form 图标;
  3.根据向导(The Active Form Wizard),按提示输入一个新ActiveX名talk,以及实现后的部件名字;
  4.把数据集元件如TTABLE、TDATASOURCE置入窗体,并为窗体添加一些相应的代码;
  5.使用“RUN”菜单上的“Register ActiveX Server”注册ActiveX控件。
  应用程序将编译为talk.ocx,talk.ocx将作为一个ActiveX构件用于创建窗体的代码基(the code base)。Web应用程序查询到构件相应的类别ID(CLSID),就把活动窗体嵌入到客户的Web页中。Delphi提供一个强有力的特性,叫做“Web调度(Web deploy),它能够快速地建立一个Web页面去测试构件,并将ActiveX OCX放置到Web服务器上。在使用“Web调度”之前,要从主菜单选择Project/Web Deployment选项配置Web调度选项,如在Target URL框输入:http://www.jwet.gov.cn/ 等;
  在用此程序创建活动窗口时,如果构件没有打上代码签名,Web浏览器可能拒绝接受构件,此时需要改变浏览器的安全设置为非认证ActiveX构件。在Internet Explore 4.0中,可以通过设置安全级为中等来完成。但考虑到WEB的安全性,最好为每个在WEB上使用ActiveX控制设置一个“代码签名”(Code Signing),如要正式发布,则必须向有关机构申请。
  
  五、小结
  
  以上介绍的几种WEB数据库技术均各有利弊,用户可根据具体情况加以选择。目前客户端的应用平台大多为基于Windows系列,系统带有浏览器Internet Explorer工具支持OCX技术,使ActiveX技术Web服务得以较好应用。同时,随着Internet和WEB技术发展,新的更强大的WEB数据库开发工具将不断出现,使得服务器及客户端的应用开发、网站建设变得更简单,并容易扩展和重用。
其他文献
在大刀阔斧改变地形的《传奇3 G》中,神舰的地图并未改变。但是有3 项改动是对神舰任务影响非常大的。第一就是神舰任务的内容有所改变,玩家所熟悉的任务一拿武器,任务二拿戒指,任务三拿项链,任务四拿4 5 级武器的程序已经被彻底颠覆。第二,神舰上的药品补给NPC、修理NPC有改动。目前,只有在神舰二层有惟一的药品补给商人,而从前所有可以进入的房屋已经被取消。以前这些屋子既是补给之地,也是玩家的避难所,
期刊
1999年,对国内的互联网公司而言,是精彩的一年。从电子商务、网络股,到72小时网络生存测试、网络官司,再到加入WTO......热门话题不断、新闻不断。尤其是在1999年中,不少互联网公司通过各种渠道融资,实现了资本扩张。随着这些互联网公司的腰包的胀起,我们是否应该期待中国互联网更美好的明天呢?    一、一份长长的名单    下面是一份本年度获得海外风险资金的互联网公司名单,从中你能发现很多耳
期刊
国家信息化办公室专家委员会主任委员 郭诚忠教授  国际上的立法状况  电子商务的发展之快目前已经超过了制定与之相关的政策法规、管理水平、人才培养的速度。就现状而言,发达国家电子商的建设与发展相对更轰轰烈烈一些。他们基本上是从一个战略发展的角度来规范和建立电子商务立法规则的。以美国为例,它着眼于21世纪经济的持续增长,为此发展电子商务更成为克林顿政府第二个任期内的主要任务。另一方面,为了争取制定电
期刊
采访中国科学技术信息研究所所长兼万方数据公司总裁朱伟之前,没想到这次采访会是如此轻松愉快。朱伟更象一个务实高效的学者,没有国有企业当家人身上那种不可一世的霸气。但他脑子里充满了理论和规则,大到企业的经营战略,小到员工的后顾之忧,他都能象计算化学反应式一样一步步地表述出来,其间会告诉你促成这种反应的介质是加热还是光照。  其实,对万方数据进行股份制改造,加快创新步伐就是给国有企业加热,让她发光的过程
期刊
想要极品的黄金装备,不用说了就是魄力+耐心+财力=极品,三者缺一不可。笔者不论在游戏还是论坛上,经常都可以看到玩家关于如何打造黄金装备的讨论,以下是我的一些经验拿出来和大家共享,希望能够帮助大家提高打造成功的几率,不过……暴了的话千万不要鄙视偶啊,谁还没有个失手的时候:)
期刊
“Copyright”、“Internet”和“网上版权”     “网上版权”实际上指的是“网上作品的版权”。 “Copyright”一词指的是“著作权”或“版权”。确切地说是“一件‘作品’的所有权和用各种可能手段复制该作品的支配权……著作权保护涉及文学、戏曲和艺术作品(绘画、图画、照片等)、录音、影片、电影和广播,以及各种新技术创作品。”(《剑桥百科全书》)。国际互联网(Internet)是近
期刊
《大话西游Ⅱ》练功区出现的所有怪物,都可以被玩家捕捉而成为玩家的宠物——“召唤兽”,它们是玩家的左膀右臂,而且任劳任怨,招之即来挥之即去,其威力可不容小视哦。
期刊
古人王维在《中南别业》里的一句“行至水穷处,坐看云起时”成了他亦官亦隐的生活写照。采访完中公网的谢文,笔者头脑中清晰地想到这句话。现在正是中国互联网产业对上市无限渴望、对电子商务大加炒作、大谈特谈注意力经济的时候。然而,中公网和谢文,却是全然一派恬静安淡……    互联网产业是中长跑,仅有冲刺是不够的    中公网是由中海恒实业公司和信息产业部数据网络开发中心共同出资,于1997年10月成立。在公
期刊
上月初,一线通(ISDN)飓风行动——应用解决方案全国巡展在北京拉开帷幕。此次活动由中国邮电电信总局、思科(中国)公司和上海贝尔联合主办。巡展一共九站,除北京外还有上海、广州、大连、成都、深圳、福州、武汉、南京等地,活动将于五月底结束。为配合这次活动,北京市电信管理局在北京推出了优惠套餐活动:自1月5日起,北京地区新装或改装“一线通”业务的用户,前两万名将免费获赠NTIPLUS或NT1,并赠送价值
期刊
瀛海威这个名字,连同它所具有的服务能力与品牌价值在中国网络信息服务业的历史上有着里程碑式的地位,如同它当年在北京白石桥路口树立起的广告牌——“中国人离信息高速公路还有多远——向北1500米”一样,具有不可磨灭地启动背景市场的作用。然而1998年以来随着其前任经营者与一批管理人员的离职,瀛海威沉默了,但就在人们几乎就要把她遗忘时,瀛海威完成了自身的改造并对未来发展前景提出了一整套业务转型与创新策略。
期刊