DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 893|回复: 0
打印 上一主题 下一主题

[待整理] Java技术在多数据库系统中的应用研究

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-13 15:06:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在的各种数据库应用,由于技术、历史等因素,往往在一个大的部门中并存有多个应用系统。这些应用系统可能分散于不同的网络节点、基于不同的操作平台、使用不同的数据库管理系统,且各子系统封闭运行,自成一体,这样给不同部门的信息资源共享带来困难。如何在不改变原来系统的内部信息的前提下,完成不同数据库系统间的数据访问和交换是值得研究的问题。

  多数据库系统的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的平台无关性。

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

图1 EJB容器结构示意图

      EJB组件分为3种主要类型:会话Bean(Session Bean)、实体Bean(Entity Bean)和消息驱动Bean(Message-Driven Bean)。会话Bean实现某些在服务器上运行的业务逻辑。会话Bean对象不在多台客户机之间共享。其特点是(1)它代表单个客户机执行。(2)会话Bean包含事物处理。(3)可以使用会话Bean更新共享数据库中的数据。(4)会话Bean的生存期就是客户机的生存期。EJB依赖EJB容器来获取它的需求。EJB通过容器来访问JDBC连接,调用其他EJB和获得它自身的引用或访问特性等。EJB通过回调方法、EJBContext和Java命名和目录接口(JNDI)与容器交互。(5)会话Bean的数据会在EJB服务器运行失败时被删除。实体Bean代表一个存储在持久性存储器中的实体的对象视图。消息驱动Bean,使得EJB容器能够异步地接收消息。

  对于多数据库访问,EJB技术可以提供一个比较强大、灵活的解决方案。首先构造多个会话Bean,在这些模型组件里,我们要处理数据库的连接、定义,查找、插入、删除操作等方法,然后创建和部署EJB,这样可以实现对多数据库的访问。会话Bean的结构如下:
  public class DatabaseConnectSessionBean implements javax.ejb.SessionBean
              {
              ……
              public int checkUserLogin(String userid,String password)
              throw NameingException,SQLException
              {
              ……
              //得到初始上下文
              InitialContext ic=new InitialContext();
              //获得数据源
              DataSource ds=(DataSource) ic.lookup(数据库JDNI名字);
              //建立数据库连接
              Connection conn=null;
              try{
              conn ds.getConnection(数据库用户名,数据库用户密码);
              //进行数据库数据的操作
              }
              }
              }

  从上述的过程和语句我们可以发现,使用EJB技术可以访问各种不同类型的数据库,而且支持数据库的“事务”的机制,这样使对数据的处理能够保证数据的一致性。所以使用EJB技术能实现对多个数据库的访问,而且安全性、持续、事物、并行性和资源的管理由容器来管理,这样使编程具有简单性。
  结束语
  EJB技术是解决异构数据库环境下的多数据库信息处理一种有效的方法。它不但可以解决数据库异构的问题,更是解决操作系统异构的最有效的方法。这样可以达到不同信息资源的共享及信息的综合统计查询,这也是企事业单位迫切要解决的实际问题。我们认为EJB技术能更好的解决异构数据库环境下的电子商务和电子政务方面的信息交换问题。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-9-27 17:26 , 耗时 0.088227 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表