(一)Java技术在多数据库系统中的应用研究

发表于:2007-8-13 11:50

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:张振友 王伟    来源:网络转载

  摘 要 本文讨论的是在多种异构数据库下,如何进行多数据库的访问,并分析了使用Java技术下的各种方法进行多种异构数据库下的数据交换。

  关键词 异构数据库;EJB;Servlet

  引言

  现在的各种数据库应用,由于技术、历史等因素,往往在一个大的部门中并存有多个应用系统。这些应用系统可能分散于不同的网络节点、基于不同的操作平台、使用不同的数据库管理系统,且各子系统封闭运行,自成一体,这样给不同部门的信息资源共享带来困难。如何在不改变原来系统的内部信息的前提下,完成不同数据库系统间的数据访问和交换是值得研究的问题。

  多数据库系统的Java解决方案

  多数据库系统的构成有多种方式,在这些方式中,我们考察这些多数据库的不同点,其主要表现在以下几个方面的异构:

  (1)数据库逻辑数据模型的异构:有层次、网状、关系、对象-关系和对象五种数据库。

  (2)数据库物理数据模型的异构:物理数据模型反映数据库存储结构,例如物理块、指针、索引等,即使逻辑数据模型相同,如关系数据库的ORACLE、SYBASE、DB2等,其物理数据模型也存在差异。

  (3)操作系统的异构:UNIX、WINDOWS系列、MacOS、OS/2、DOS等。

  (4)计算机平台的异构:从巨、大、中、小型机到工作站,微机以及手持机。

  (5)网络的异构:LAN、WAN、以太总线结构与令牌环结构等。

  在这些异构中,有些是数据库历史所造成的,如层次、网状类型的数据库;有些是不同的数据库开发商开发的不同的数据库管理系统造成的;有些是计算机操作系统的不同;而有些是网络结构和计算机平台的原因。对于这些不同,从目前来看,我们认为当前应该着重解决的在关系模式下的不同的操作系统和不同数据库管理系统。

  众所周知,Java技术是全新的编程技术,它具有平台无关性、面向对象、安全、高性能、分布式,多线程等特点,使Java成为当前最为类型的编程语言和平台。对于多数据库系统联合访问和数据交换,使用Java技术可以解决不同的操作系统和不同的数据库管理系统之间的数据处理。

  1)使用Java Bean技术实现多数据库的访问

  Java Bean是一个Java模型组件,它为使用Java类提供了一种标准的格式,在用户程序和可视化管理工具中可以自动获得这种具有标准格式的类的信息,并能够创建和管理这些类。

  基于Web的多数据库访问是电子商务和电子政务迅速发展而出现的一种多数据库联合应用的形式。在数据库异构,操作系统异构的条件下,对于数据量很大的这种多数据库应用问题,只有Java 技术才有能力解决。

  对于在Web下的多数据库访问,Java的新技术是Servlet。Java Servlet是在服务器端运行的Java程序。现在随着Servlet API2.3版的引入,服务器的Servlet将把Java Web软件开发带向更高的层次。Servlet提供了快捷、强大、灵活的开发环境。开发出来的Servlet可以在服务器的进程空间里运行,并能同时处理多个请求。当然,最值得称道的是Servlet的平台无关性。

  对于基于Web的多数据库访问,Java Bean技术可以提供一个比较强大、灵活的解决方案。首先构造多个Java Bean,在这些模型组件里,我们要处理数据库的连接、定义,查找、插入、删除操作等方法,并要实现多线程,然后构造编写调用Java Bean的Servlet,这样可以实现对多数据库的访问。Java Bean的结构如下:

  public class DatabaseConnectBean

  {

  定义数据库连接的成员;

  定义连接的方法{ }

  ……

  }
                                                                                                                             下页链接

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号