1、PDF外文:http:/ 4238 字 出处: Future Generation Computer Systems, 1999, 15(3): 417-424. 基于 Java 的 访问远程 数据库的 高效的 标准软件体系结构 摘要: 新颖的客户端服务器体系结构利用 WEB 技术越来越有利于远程数据库存取,其结构是在客户端采取 WEB 浏览器作为图形用户界面,在服务器端采取传统的 SQL 数据库管理系统 (DBMSs)。 目前,在标准浏览器和具体 DBMSs 之间的活动是由 一定数量的 基于上一代 浏览器中的 Java 虚拟机 的软件结构支持。
2、这些软件结构 , 从开放性和 灵活性问题看 似乎很好 , 但在 数据库存取 方面却存在不足 。 本文将通过对一定数量的实验结果的分析 指出这些不足 。本文描述 了 四个不同 的 基于 Java 技术的 软件结构支持 数据库存取,报告了它们在不同的硬件平台上工作的性能测试,并对测试结果进行了比较分析。 关键字: CORBA; Java; JDBC; 执行 评估 ; 可视化 数据库存取 1. 介绍 对客户服务器数据库 访问 的传统 解决方法 是 根据 由 一种 直观 语言 编写的 用户界面的联合的行动 (即客户 ) 和 一个标准 SQL
3、引擎 (即服务器 ) 。当前 , 这种方法 正受到一种 基于新兴的 Web 范例的新颖的解决办 法 的挑战 。 基于互联网的 用户界面,通常用 java 编写, 由浏览器从服务器下载 并运行在虚拟浏览器 上 。 这样的解决办法的要点是客户软件 作为一个独特的副本 处 在服务器系统, 这就好于 客户软件 在 客户 机 系统里。 由于集中所有这些操作在服务器站点 成为 可能 ,这就使客户软件的安装、配置和维护费用 被降低 。 对 SQL 数据库的基于互联网的 访问 ,可以得到由很多基本组成成分组成的软件体系结构的支持。 令人遗憾这样的软件体系结构,从开放 性 和灵活性来看似
4、乎 很 好, 但是给数据库接口方面带来了明显的潜在 危机。 图 1. 软件结构 1: 通过 Java 接口 访问 数据库 在这篇文章里 将描述四个不同 的 基于互联网 访问 SQL 数据库 的 软件结构 ,并且 通过 报告 和 比较他们的 执行情况来揭示各个体系结构的潜在危机的来源。 本文 结构 如下 : 首先我们描述基于 Java 的数据库存取 的 准软件 体系结构 (第2 部分 ); 然后我们提出使用的试验 平 台和在我们的实验过程中 遵循 的方法 (第 3 部分 ); 最后我们 给 出 了 结果 (第 4 部分 ), 并且讨论 了 软件体系结构 的
5、性能 (第 5 部分 );总结 (第 6 部分 )结束 本文 。 2. 基于 Java 的数据库 存取 的软件体系结构 在这个部分我们提出四个 适合我们的调查 的 基于 java 访问 数据库 的 软件结构 。 每 个体系结构都 遵循客户机服务器 体系 并且由 3 个主要实体组成 : 客户、服务器和共用 组件 。 客户和服务器在每 个体系结构 里是相同的; 共用 组件在各个体系结构之间则起着不同的作用。 客户是一个 基于 Java 技术的 浏览器 , 服务器是 一个 接受远程 网络 连接 和查询 的 SQL 数据库管理系统 (DBMS), 网络协议 采取 T
6、CP/IP 协议 。 各个软件 体系 结构 的 共用 组件 在 结尾 部分描述。 2.1. 基于 Java 接口 的 连接 模块结构 基于 Java 接口的 连接 模块结构如 图 1 所示。阴影部分表示 软件模块 , 程序员必须发展 它们使其余的组成部分连接 起来。 客户 端 (浏览器 )从服务器 端 上下载一个 java 应用程序并且运转它。 java 应用程序通过 Java 接口模块发送查询和接收回应。 服务器 (DBMS)通过作为中间代理的一个软件 元件 与客户交换数据。这样的 一个 中间 代理软件接受 客户 查询 并且通过 A
7、PI 信息库把它们提交到数据库。 在 java 应用程序和中间 代理软件 之间的连接性 是 基于 TCP / IP 协议 。 在客户端通信由标准 Java 接口 API 支持 ; 在服务器端通信由标准 UNIX 插口接口支持。 在 java 应用程序和中间 代理软件 之间的操作 是 基于 支持 基本 数据库存取操作的一个 普通 协议 ( 打开数据库,提交 查询 , 接收回 应, 关闭 数据库 )。 基于专有的 数据库管理系统 JDBC 驱动程序的体系结构 基于专有的 DBMS JDBC 驱动程序 的 结构如 图 2 所示 。 JDBC 是允许
8、java 应用程序 和应用 软件在后台访问 数据库的一个标准接口 。 和 前 面介绍 的 结构 一样,客户 机 (浏览器 )从服务器上下载一个 java 应用程序并且运转它 , java 应用程序通过标准 JBDBC 应用编程接口 (JDBC API)访问 DBMS。 JDBC API 是作为 标准 Java开发工具 包 和 基于 Java 技术的 浏览器的最新 版本 的 一 部份 。 JDBC 针对不同 的DBMS 也不一样 , DBMS 实施通信协议 时 必需 用 到 具体的 JDBC 驱动程序。 具体 JDBC驱动程序 由 DBMS 生产商 或者第三 方 提供 ,
9、并且 动态地连接标准 JDBC 对象。 通常 , JDBC 驱动程序 跟客户 端的 java 应用程序一起从服务器下载。 图 2 基于专有的 DBMS JDBC 访问 数据库的软件体系结构。 图 3 基于 JDBC 桥 访问 数据库的软件体系结构。 2.3.基于 JDBC 桥 的体系结构 基于请求 机制 的软件体系结构 如图 3 所示。 如同前 面 的体系结构, java 应用程序通过标准 JDBC API 和具体的 JDBC 驱动 程序 与数据 库进行信息交流。与以前的体系结构 不同 , JDBC 驱动 程序 不直接访问数据库,但是它访问一个通过一份专有的协议运 行 在服务器上 的中间对象。 当 java 应用程序 请求连接 时 ,动态地 生成 二个组分 : 为具体 DBMS 所 采取 的 一个 JDBC 代理和 一个 数据库代理。 图 4 基于 CORBA 的数据库 访问 的软件体系结构。