摘 要:文中主要是将XML技术和JAVA技术应用于数据集成之中,设计了基于XML和JAVA技术为基础的的数据平台集成框架。系统架构主要根据数据管理和集成方面的功能给出了系统设计的框架,并简单勾勒了系统之间不同模块的相互关系。
关键词:JAVA;XML;数据集成;引擎
1.基本概述
“数据”是计算机应用程序最为重要的方面,其核心也即是使某人或计算机可以访问其“数据”。尤其是在现代企业中,“数据”不但是可访问的,而且还必须是持久的。自上世纪七十年代以来,集中式数据库系统得到了广泛的使用和迅速的发展,也是的数据管理的效率得到了大幅度提升,目前这种集中式数据库系统的开发已成为新兴技术发展的主流。但类似的问题同时也出现了。因为不同的数据库有着各自不同且相互独立的管理方式和数据库结构,这些数据库无论是逻辑上还是物理上都存在这异构。可将这些异构性归纳为以下几点:(1)不同的数据库系统其基础的操作系统存在着一定的异构性,它们可以在不同的操作系统平台上运行,如Windows NT,Unix,Linux等;(2)不同的数据库其运行所在的计算机体系结构存在着一定的异构性,如工作站、大型机、小型机、PC机、嵌入式系统等;(3)数据库的管理系统本身(DMBS)存在着异构性,如模式、层次、关系、网络、面向函数或对象型的数据库;(4)数据语义或存储结构存在着异构,通常不同的数据库应用系统会有着不同的语义表达方式和不同的数据结构形式。
随着网络信息化的长足发展,信息化的进程在企业、政府等部门的发展步伐也在不断加快,越来越多的政府部门、企业建立了相关的信息系统。这些信息系统的唯一共性几乎均是以数据形式为核心。随着这些信息系统的不断增多,不同系统之间的信息交换和信息资源共享显得越来越重要。越来越多的用户希望能有这样一种服务:即便处在不同网络节点,他们也不必知道各物理数据系统的分布形式,也不必知道各数据库的基本结构组成,更不必自己进行数据结果汇总和转换,也即是它能屏蔽掉各层次间的异构特性,用户只需有一步简单的查询操作,便可得到自己想要的综合结果,就如同是在操作一个数据源。我们将这种服务称为数据集成服务,并将提供这种服务的平台称为数据集成平台(可参见图-1)。
图-1 数据集成平台基本框架结构
其目的就是为了给用户提供一个方面访问异构数据源的统一接口,用户只需直接指定其想要的数据即可,不必描述怎样才能得到它。这样一来所有的数据源就如同操作一个一样,彻底减轻了用户寻找数据源,然后和每个数据源实现交互,合并以后返回结果的负担,在应用构件中充当了数据总线的作用。
2.基于JAVA的数据中心引擎的设计
2.1Java环境下的数据访问
Java环境下的数据中心访问技术可谓“五花八门”,它们同时有着各自的优缺点。目前常见的数据访问技术有JDBC直接访问数据库、JDO(Java Data Objects Java 数据对象)、实体bean等,以JDBC技术为例,JDBC可以说是访问持久数据最直接最原始的方法。由SUN公式提供,主要用来执行SQL语句的Java应用程序接口。运用JDBC 的开放性和Java语言的中性结构可以使程序员只需写出单独一个程序就可以实现发送JDBC API给相应的数据库。在实现对象/关系(Object/Relation Mapping)和数据持久性时,它具有以下优点:
(1)标准化
它通过将特定关系数据库厂商专用的细节抽象出来,实现常用数据库访问功能的标准化。
(2)技术成熟
JDBC已经有10余年的历程,属于Java的核心API,它的最佳实践及可靠性对于Java的持久机制来说是一笔极其宝贵的资产。
(3)成本低
JDBC是由Sun公司免费提供的,也即是无需成本的一种的技术支持。
(4)可移植性高
JDBC是大家公认的只需程序员写一次程序就能将它到处运行的技术。
(5)数据访问速度高
它是Java环境中最直接、快速的数据访方法。
但任何一种技术都不是十全十美的,尤其优点,必然也存在一些不足,使用JDBC操作数据库时,采用的常规不步骤如下:
(1) 首先建立数据库连接,获取Connection对象。
(2) 组装查询SQL语句,并以此建立PreparedStatement对象或Statement对象。
(3) 用获取的Connection对象执行SQL查询语句,并获得ResultSet结果集对象。并一条条的读取其中的数据。
(4) 结合所读取的数据,计算结果并在此组装成新的SQL语句。
(5) 再次运用Connection对象执行更新后的SQL查询语句,从而实现数据库中数据的更新。
由此我们可清晰的看出其逻辑关系的复杂性,其中的数据存取逻辑和业务处理逻辑完全混在一起,而一个完整的系统肯定需要若干这样重复的处理过程,若其中一些关联业务流程或业务逻辑需要修改,那要改动的代码将不可估量。除此之外,假如要更换数据库运行的环境或产品内容,代码量的更改也是不可估量的,甚至可以说根本无法完成。而用户的要求和运行环境又千差万别,不可能为每种运行环境每一用户设计单独的一套系统。
所以我们在看到JDBC优点的同时,还必须考虑它存在的缺陷和不足。多年来JDBC已知作为Java开发人员数据库访问的技术标准,随着时间的流逝,它已经可以提供完全具有资源池机制和高速缓存的完善的数据库驱动程序,给开发人员带来了不少一处,但用它来实现对象/关系映射,却仍有着致命的弱点,曾就有文献报道说用JDBC进行手工编写实现对象/关系映射持久层所占用的时间将占用整个项目开发的30%-40%。由此看来一些简单的设计可以选择此种技术,但对于一些复杂度高的程序设计应尽量避免选择此技术。
基于此,笔者选择一种基于XML和Java 技术的异构数据集成系统。这种方案采用了当前因特网系统的最新三层体系结构,一方面它解决了异构数据的集成问题,另外它也实现了企业数据的动态发布。
2.2系统架构的分析及设计
这一设计要点也即是实现各异构数据间的数据共享,通过技术手段实现各数据之间的互访、互连。因此数据中心引擎在进行集成设计分析时可将各个应用系统作为一个一个的单独模块进行考虑。文中笔者将传统数据库技术和XML相互融合,设计了如下模型,其实现的基本步骤为:
(1)客户端,在提交一个查询请求以后,系统经过打包器,并同时将所提交的查询参数封装成XML文件,在网上传输。
(2)中间层,首先应用服务器将接收的文件解密,并将其交给控制器。
(3)然后再由控制器调用解析器对文件进行解析,提取相
关字段进行权限认证。验证通过以后进行下一步处理工作。(若验证未通过,会由控制器向客户端提示信息出错)。
(4)控制器从元数据库进行查找,如果未找到相关数据源,则向客户端反馈相应提示信息;否则转入下一步工作。
(5)找到所需的数据源后,再由控制器将查询请求命令传给数据库管理器然后进行下一步的数据查找处理工作。
(6)若数据库管理器处理失败,则由控制器发出提示信息;查询成功,则将其结果传给控制器,并由控制器传给翻译器进行处理,翻译器按照预定的XML格式将查询到的结果信息转换成XML文件,再交至控制器,由控制器对其加密,再通过网络输出给客户端,客户端再将其查询结果进行解密并按照一定格式呈现给用户。参见图-2。
图-2 系统架构设计草图
将其异构数据集成系统细化后的总体结构如图-3。
图-3 基于XML、Java的企业异构数据集成系统总体结构
由上至下各层其基本服务的功能如下:
(1) 最底层的数据源层,它是数据提供者,由不同的数据来源构成。包括各类文件、数据库等信息。
(2) 数据中心引擎,它主要提供一些必要的数据转换工具或相关功能。通过它实现对数据库信息的访问,并将此数据转换成成XML文档进行输出。
(3) 应用层,它也即是用户的界面层,根据具体的用户计算和应用环境,采用合适的应用软件和信息访问技术。
3.总结
由于篇幅限制,本次只简略介绍了基于JAVA数据中心引擎的系统架构的分析及设计,以及客户端的界面设计的相关问题,这一系统中还存在很多待以改进的地方,如:
(1)客户层的代码明显较为复杂,大量代码仍需开发者手工进行完成;(2)虽然实现了多方式查询,但对于更复杂的关联查询还不能有效完成。这些问题需要日后参考相关资料继续研究完成。
【参考文献】
.情报报科学,2010,2.