您好, 访客   登录/注册

数据交换实现模式分析

来源:用户上传      作者: 葛建新

  摘 要 随着互联网的广泛普及以及用户计算机数量的剧增,各种数据呈现爆发式增长,其具有来源广泛,类型各异等特点。数据交换需要提供数据载体对异构数据库中的数据进行数据描述。XML和CSV作为两种数据描述语言,具有各自的特点,文章对两者进行介绍和比较并介绍了数据交换的实现模式。
  关键词 XML;CSV;数据交换
  中图分类号:TP39 文献标识码:A 文章编号:1671-7597(2014)10-0042-01
  Abstract:As the number of the widely spread of the Internet and computer users increasing, various data show explosive growth, which has a wide range of sources, different types of features. Data exchange need to provide data support for data description of the data in the heterogeneous database. XML and CSV as two kinds of data description language, have their own characteristics, this article in carries on the introduction and comparison and further introduces the realization mode of data exchange.
  Key Words:XML;CSV;Data exchange
  1 XML和CSV数据描述语言比较
  1.1 XML语言描述
  可扩展置标语言(eXtensible Markup Language,简称XML),又称可扩展标记语言,是一种置标语言。置标指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用像XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从标准通用置标语言(SGML)中简化修改出来的。它主要用到的有可扩展置标语言、可扩展样式语言(XSL)、XBRL和XPath等。
  1.2 CSV介绍
  逗号分隔型取值格式(英文全称为Comma Separated Values,简称CSV),是一种纯文本格式,用来存储数据。在CSV中,每一行都对应表中的行,数据的字段由逗号分开,每个字段都对应一个表中的数据项。由于CSV文件格式非常简单,并支持几乎所有的电子表格和数据库管理系统,所以CSV文件常常被用于两个不同的计算机程序的移动表格数据,例如关系数据库程序和电子表格程序。许多编程语言提供了库支持CSV文件。因此该格式广泛应用于数据的导入和导出。
  在计算机科学方面,这种类型的格式是所谓的“平面文件”,因为只有一个表可以存储在CSV文件。大多数系统都使用了一系列的表来存储他们的信息,因此往往信息重复几次,才能创建一个文件。
  1.3 XML同CSV比较
  1)应用XML可以使用XPath,XML Schema,XSLT这些宣告性(Declarative)的技术,如果用CSV就要用程序性(Procedural)的方式来达到同样的效果。宣告语句比程序语句更容易维护,换句话说就是CSV中无法包含属性定义信息,所以要编写相应的解释程序,大大增加了编程量。
  2)另外XML是一种描述性的跨平台语言,他可以很方便的表示节点的含义,而CSV在这方面比较弱一些。
  3)在C#或java中都有相对应的底层XML处理接口,可以很方便的去操作XML,而CSV则必须重新编写底层处理接口,这样也大大的增加了编程量。
  4)CSV文件是扁平式的文件格式,只能描述一个表的数据,而XML是具有自描述能力的结构化的文件格式,能够描述任意多表的数据,以及表之间的关系。
  综上所述,建议选用XML技术来实现数据交换共享。
  2 数据交换的实现模式
  2.1 面向应用接口的交换模式
  面向应用接口的数据交换模式,即通过各个应用接口在接口之间转换、传输数据。通过这种交换模式,开发人员就可以将现有应用捆绑在一起,实现对数据逻辑与信息的共享,但这种交换模式要受到接口特征以及接口功能的限制。
  2.2 面向数据的交换模式
  面向数据的数据交换一般是在不同系统的数据库之间进行的,通过将数据从A数据源移植到B数据源来完成数据交换。这种交换模式可以直接在数据访问层作应用系统开发,而不用对应用逻辑与数据结构作任何改变。但是因为这种模式需要直接对数据库进行操作,程序员需要对原有数据访问层做大量修改,而且在修改的同时又必须保证数据的完整性,因此在通过互联网进行数据交换时,由于系统需要详细了解交换双方数据库的结构以及实现方式,所以需要承担很高的安全风险,而且,对于不同的应用,这种交换模式还需要作不同的设计,因而系统的可重用性很差。
  2.3 面向服务的中间数据交换模式
  面向服务的中间数据交换模式,即在网络环境中的跨平台应用程序之间,建立一个可供多方共享的中间数据服务层,这些服务与数据库物理分离,数据接收方通过这些数据服务来获取对方数据的一种模式。
  面向服务的中间数据交换模式对数据接口的开放性和安全性方面来说都是最佳的一种模式。数据提供方通过建立一系列的中间数据服务,针对不同的第三方系统灵活定制不同的数据服务,同时制定不同的开放策略,灵活性很高。数据接收方要获取数据,必须先获得调用中间服务的许可权,有了许可权,就可以直接调用开放的中间数据服务来获取想要的数据。
  中间数据服务的开发语言可以有很多种,最常见的有基于.Net或J2EE架构下开发的Web Service服务。Web服务(Web Service)是近年内兴起的另一种基于Internet的技术,在近几年受到了极大的关注。该技术的出现标志着人类已经迈入应用程序开发技术的新纪元,它使得Internet不仅是传输数据的平台,也变成了传递服务的平台。采用面向服务的中间数据交换模式可以实现互联网环境下的企业应用的松散耦合和集成,使各个应用系统可以方便的集成现有的应用并开发新的应用。
  参考文献
  [1]冯延晖,叶毅峰.XML完全手册[M].北京:中国电力出版社,2000.
  [2]Subrahmanyam Allamaraju Cedric Buest John Davies等.J2EE编程指南[M].北京:电子工业出版社,2002.
  [3]Natanya Pitts,等.XML技术内幕[M].北京:机械工业出版社,2002.
  [4]杨剑,唐慧佳,孙林夫,等.基于XML的异构数据交换系统的研究与实现[J].计算机工程,2005,31(19):195-197.
转载注明来源:https://www.xzbu.com/8/view-5789043.htm