《数据库与web的动态互联技术(1)》由会员分享,可在线阅读,更多相关《数据库与web的动态互联技术(1)(3页珍藏版)》请在金锄头文库上搜索。
1、W. 9 中国有色金属学报 勺e C h i n e s e 倒 ”目 dN o de r r o mMda l s 幻 以 . 1 甲抢 数据库与We b 的动态互联技术 黄家林伍英姿杨欣荣 中 南工业大学 信息工 程学院 。 长沙 4 1 0 D 8 3 ) 摘要分析了We b结构的三层应用模式发展趋势, 讨论且比较了基于这种模式的数据库与We b 的多种动态互联方式, 并结合仪器设备管理的实例, 介绍了利用 】 D (: 技术实现 W e b 与数据库连接的方 案 。 关镶词n l l : 中间件D S W e b 技术在短短几年间得到十分 迅猛的发 展, 传统的 C / S计算模式正受
2、到所谓的三层应 用模式的 挑战。 在这 种模式下, 将W e b 与数据 库相连会获得大量动态更新的数 据, 微软B S ( I n t e rn e t In f o r m a t i o n S e v e r ) 利用I D C ( I n t e m e t D a - t a b a s e C o n n e c to r ) 实现W e b 与 数据 库连接的方案 正受到普遍关注。 执行用户查询, 并将查询结果格式化成页面, 通过W e b 服务器返回给用户浏览器。 用户的 应用处理全部由应用服务器来完成,客户端只 需一个B ro w s e r 即可, 真 正做到了“ 瘦客
3、户机” 。 浏览器对机器的要求很低,而且可以跨平台, 在 不同 平台上使用界面完全一致, 简单易用, 用户不需有很多的培训。可以说 , 三层应用模 式, 乃至多层次 应用模式是今 后的发展 方向。 We b 结构的更新 WWW技术设计思想是以W e b S e v e r 为中 心, 广泛应用于 In t e rn e d l n tr a n e t 的网络计算环 境, 其特点之一就是尽量简化用户端的操作。 以前的 C li e n t / S e r v e r 应用结构是一种“ 肥 C l i - e n , “ 瘦S e r v e r 的结 构, 开发者每开发或 修改 一项对数据库的
4、应用, 都必须将应用加载到用 户端, 用户不得不学习每一个应用 的操作方 法。所以以前的 C l i e n t/ S e r v e r 应用模式存在重 大缺陷。 现在的I n t e m e t t I n tr a n e l 应用, 是三层 应用模式。它将应用逻辑从客户端抽取出来, 在C l i e n t 与S e rv e r 之间加入一个或多个W e b 应 用服务器, 例如 D a t a b a s e S e r v e r 。在 We b S e r v e r 和D a t a b a s e S e r v e r 之间有一个称为 “ 中间件” 的 接口 , 中 间件
5、负 责管理W e b 服务器 和数据库服 务器之间的通信并提供应用程序服务, 它能够 直接调用外部程序或脚本代码来 访问数据库, 因此可提供与数据库相关的动态Hurl页面或 2 W e b 服务器与数据库动态互联 的几种方法 四 中间件技术随中间件的产生迅速发展, 其 中We b服务器与数据库的动态数据互联就有 多种途径, 例如,S e r v e r S i d e I n c l u d e s ( S S I ) , C o mm o n G a t e w a y I n t e r f a c e ( C G I ) , J A V A , I n te rn e t D a ta
6、b a s e C o n n e c t o r ( I D C ) , 它们的优缺点分别如 下 : ( i ) S S I S S 1 可使服务器将少量的动态数据直接插 人到H t m l 文档中。事实上, 使用 S S I 不需要任 何编程环境。 s s I 可 动态地使一个文件包含在 另一 个文件中, 它也可以运行一 个程序, 并且 返回 诸如 计数, 服务器名等信息。 然而, s s I 从浏览器端接收和发送数据库 信息的能 力不强, 这是因为s s I 不能像其它方 V . I . 8 S3黄家林 等 : 教 据库 与 W e b 的 动态互联 技术 法那样提供丰富的编程功能或先进
7、的A P I 功 能, 并且, 因为 W e b 服务器要搜索整个 H tr n l 文档来找到S S I 标记, 以采取相应的操作, 所 以 使用S S I 要占 用C P U和内存等主机资源。 ( 2 ) C G l C G I 是 W e b 服务器与外部应用程序交互的 标准, 这种数据库访问模式成为 WWW上最常 用的方法, C G I 允许W e b 服务器运行外部应用 程序, 以产生H t a d 文档并把它们发回浏览器 端和用户进行交互, 接收数据, 甚至可以通过 数据库A P I 与属于外部资源的数据库进行数据 交换。 数据库查询通常是在客户端通过查询表 格把请求发给 W e
8、b 服务器, 由W e 服务器调 用C G I 程序, 将用户输人的 数据装配 成特 定数 据库系统的S Q L 语句, 发送给 相应的 数据库管 理系统处理, 然后由 数据库管理系统 将查询结 果返回C G I 程序, 最后通过W e b 9 民 务器将结果 返回给客户。C G I 的灵活性大,比 S S I 需要的 系统开销小, 而且几乎所有的We b服务器都支 持它。但 是C G I 也存在如下缺点: 由 于H T I I 】 是一种无状态联接协议, 所 以通过( :G I 可以 访问的 其它信息服务 也只能 是 无状态联接, 这会导致同一访问过程中需要多 次联接;OO C G I 程序
9、是独立于 WWW服务器的 应 用程序, 当有相应请求时才会临时启动, 效 率较低; C G I 程序本身必须与W W W服务器 处于同一主机,与操作平台有关,可移植性 差; 安全 性不够高。 ( 3 ) J A V A 近几年, 由于J a v a 语言功能强大, 以及一 次 开发, 可跨 平台运行等特点, 人们开始采用 J a v a 提供数据库的连接。它的工作方式不同于 C G I , S S I 或 A P I , 与联接到一个进程或 W e b S e v e r 上的川 I 不同, 它是将嵌人在H tm l 文档 中 的 a v a A p p le t 下载, 并在本地与】 a v
10、 a 兼容的 浏览器内 运 行。这个运行的A p p le t 可以返回连 接到I n t e rn e t 或I n tr a n e t 上任何地点的 数据库服 务器。这意味着, A p p l e t 运行不再受网 络带宽 和M o d e m速率的影响, 因 而用户可以 在页面上 享受多媒体的效果, 从而实现了网络通信上的 动态交互特性。 但采用这种方法也有局限性; 由于J a v a 是 一种全新的 语言, 它在严谨性和安 全性上还有待考验。 ( 4 ) I D C 微软的 I n t e rn e t D a ta b a s e C o n n e c to r 是 I n te
11、 r - n e t I n f o r m a t i o n S e r v e r ( H S ) 的一个部件。它可以 接收We b 页面上客户端用户的输人, 并把用户 的 输人转换为 相应的阅L 语句, 最后将S Q L 语 句传给相应的O D B C 数据源, 并将查询结果按 照事先定义的样式回送给客户端用户。ID ( 是 一个L S A P I 应用程序( h tt p o d b c . d ll ) , 它在微软 为各类视窗平台提供的 各种W e b 服务器下都 能正常工作。 使用( D S ) 提供的W W W服 务和O D B C 驱动 程序以 及I O C , 可以: 创
12、建含 有数据库中 消息的W e b 页面。 在W e l 页面上插人, 更新和删除基于用 户输人的数据库中的消息。 执行其它结构化查询语言( S Q L ) 命令。 一个 i d c 应用包括两个文件: 一个包含查 询信息, 另一个包含具有 特殊结构的查询结 果 的 标准H tm l 文件。用户每次请求一个】 D ( 文 件, I D C 通 过O D B C 与S Q L 通 信, 与它 连接 的 查询开始运行, 然后产生带有查询结果的H t m l 页。由于以上这些属性以及I D C 在与S Q L 通 信时可以 使用连接缓冲, 使得此I n te re n e t 数据 库解决方案具有较
13、强的功能。 I D C 使用两类文件控制如何访问数据库及 构造、输出 We b 页面。这些文件是 I n t e rne t 数 据库连接器(i d c ) 文件和扩展( . h t x ) 文件。 . h tx 扩展文件是实际】 i t 文档的扩展, h t m l 文档用 I D C 将数据库信息并人其中之后返回W e b 浏览 器。 通过 I D ( ; 获取 W e b 页面上有表单输人的 所 要连接的O D B C数据源名称和所要执行的 S Q L 语句, I D C 文件利用关键字来定义文件所 需的各部分内容。在 E 切 U文件中可以通过超 文件链接和表单的A c t io n 来
14、激活I D C 文件, 就 像使 用 C G I 程序一样。I D C 文件必须放在有执 行权限的目录中。一个 I D C 通常由I D C关键字 中国有 色金属学 报 o d. 1 卯 8 和关键字所定义的内容组成, 关键字和所定义 的内容之间用“ : ” 分开。 . ht: 文件是含有以 %) 或 括起来的特殊标志的H tm l 文档,i d c 文件用此 形式将动态数据添加到文档中,. h t x 文件将返 回的数据格式化。 . h t x 文件 拥有自 己的 关键字, 这些关键字定义了如何在 H tm l 文件中以及在 H t m l 文件的何处输出ro c对数据 库的 操作结 果。
15、. h t x 文件可以直 接引用相关数 据库的字段, 字段的名称必须用“ %” 括起来。 虽然使用 I D C可以不用进行数据库的编 程, 但它的使用没有 C G I 灵活门I C只能存取 支持 ) D B C的数据库, 如果你想绕过 O D B C直 接存取数据库, 就不能使用 mC 。目前许多企 业事业 单位采用F o x p ro , F o x b a s e 开 发中小型数 据库, 如果把它们作为前台应用程序, 那么最 适宜的后台服务器则应是同为 M ic ro s o f t 公司的 M S S Q L S e rv e r 。而I D C作为微软公司为 S Q L S e rv
16、 e r 设计的网络数据库联接, 以它的简单, 高效, 安全得到普遍关注。本文例举的仪器设 备管理数据库就是用 微软公司的F o x p m开发的 数据库, 所以后台选用 M S S Q L S e rv e r , 并用 I D C 技术进行动态数据互联。 3 使用 I D C 进行数据库查询的一 个实例 ( 1 ) 为简便起见,只使用仪器设备管理表 中 的若干字段, 用M S S Q L S e rv e : 的E n t e r p r i s e M a n a g e r 生成主机库表。 ( 2 ) 生成查询条件输人页面 主机库. h t m , 表单的 A c ti o n属性应改为: ( f o r m m e t h o d = g e t a c ti o n = / s c r i p t s / 主机 库 id c ) ( 3 ) 生成. i d c 文件