颖科DB2XML白皮书
InfOnCall DB2XML
2001/12/05
1.术语
JDBC, ODBC, XML parser, DB2XML
2. 简介
InfOnCall 的DB2XML工具产品,让您不必编写代码就可以从关系数据库中得到结构化的XML文档,它是数据库整合、数据库交换以及数据库转换的必备工具。它可以工作在任何的平台(UNIX/NT)中,连接到任何存在的数据库(MS SQL Server, IBM DB2, Oracle, MySQL, MS Access, Informix, Sybase 等等 )。除此以外,DB2XML工具还提供了非常灵活、容易使用的树型结构的查询工具,让你能够从复杂的数据中选取出你所需要的数据,并且非常方便地发布为与应用有关的XML或者HTML格式的数据。
InfOnCall DB2XML包含了一些Java类,这些类可以当作API,在一个单独的运用程序中被调用,也可以当成一个Java Servlet,提供基于Web的可视化转换界面。该产品是基于模型驱动的,根据用户特定的一个或者多个SELECT声明,将XML文档模型化成一系列的表对象。可以选定需要输出的标志名称,以及是否包括文档中的数据库元数据。返回结果可以是一个文件,或者数据流、DOM对象和一个支持传输的XSL。转换后的XML文档可以通过XSL输出为灵活的表现格式。
3. 背景
目前许多的Internet站点都建立在主流的客户机/服务器结构之上,其中后台(服务器端)的数据的存储和获取必然离不开数据库。现在几乎所有的信息应用系统都涉及到数据库,因此数据库的存在已经非常普遍和深入。数据库技术从最初的层次型数据库到面向对象数据库已经经历了深刻的发展,数据库应用产品也层出不穷,如Foxbase, Informix, Sybase到SQL Server,DB2,Oracle等等,从产品的种类到不同的版本,数据库的功能和特性在不断的演进之中。
Internet应用和技术的发展,特别是XML技术推出,使得传统的面向对象的分布计算方式逐渐演化到消息驱动的服务方式。数据库和应用之间的耦合关系也将越来越松散,取而代之的将是以XML方式编码的数据在不同的应用之间通过Internet协议的传输。随着XML和相关标准的完善和应用的日益广泛,许多企业和应用开发者迫切能提供方便有效的工具,能够将提供数据库和XML文件之间的数据转换。颖科公司提供的DB2XML(InfOnCall DB2XML )转换工具即是满足该应用需求的产品。
4. 系统架构
DB2XML中通过JDBC或JDBC-ODBC桥接各种现存的数据库,访问数据库中的表;通过XML parser构造出代表数据库内容的XML文件。DTD文件描述了从数据库中的表到XML文件的对应关系。上图描述了DB2XML的输入输出关系。事实上DB2XML是按照以下步骤完成转化工作的:
5. 产品特性
InfOnCall的DB2XML的功能特性在于:
我们都熟悉从关系型数据库查询成为平整数据的查询结果。根据该平整的输出结果,你必须针对每种情景编写许多的代码,这不仅浪费了时间,也增加了成本。然而,InfOnCall的DB2XML能够自动将查询结果转换为层次结构的XML格式,这样保留了数据之间的关系,并且删除多余的数据。这使得后续的对数据的使用和处理相当的简单和灵活,极大地节省了时间、降低了成本。
目前很多的数据库都已经部分的提供了对XML的支持,如在SQL Server2000和Oracle9i中。这样的数据库支持有两个特点:一是和特定的数据库系统紧密结合,其优点是利用该数据库对XML的处理比较稳定高效,但是如果要应用于不同数据库之间的数据转换或者数据同步它就无能为力了,同时应用的场合(平台或者编程语言)都有一定的限制;另外一个特点是XML输出结构比较固定,不便于灵活的处理和发布。而用户往往需要按照自己的要求灵活地进行发布和输出,既要满足稳定有效而且要有灵活易用的优点。
InfOnCall的DB2XML充分地考虑到以上一些用户需求,考虑了不同数据库的数据类型、操纵方法、数据文件格式等差异,它的设计和应用层次建立在更通用的数据库开放连接接口基础上(如JDBC),而不是针对特定的数据库,可以灵活地从数据库中导出数据,也可以在不同类型的数据库之间交换数据(如数据复制或同步更新),而不必定制专门的转换程序。
所有从你的数据库中输出的数据都是树型的结构化数据,是标准的XML 格式。这样使得你能够通过一个数据源提供多种不同的显示。你能用来将同一数据发布在网站和无线设备中,以及用数据交换和数据库转换等你需要的场合。这可以通过结合XSLT来实现。除了输出为XML格式之外,所有的输出都可以格式化为HTML,这样就非常便于在Web应用中使用。
InfOnCall 的DB2XML产品具有跨平台和数据库的特点。它可以通过JDBC和ODBC(借助于JDBC-ODBC桥)访问所有的数据库。能够支持多项数据库Schema,多个数据库连接以及多种数据库对于跨项目和平台的设计顾问或开发者,DB2XML正是你追求的最佳助手
所有由InfOnCall的DB2XML工具产生的XML文档都完全遵循W3C制定的XML1.0标准。目前这些文档具有格式良好的特。在以后的版本中将添加语义有效性的检查,即提供对DTD和XML Schema的支持。
I nfOnCall的DB2XML的工具使用很简单方便,在实现和再次开放是非常便捷,用户只要有基本的SQL和数据库的支持就可以操作使用,基本不需要陡峭的学习曲线。在实际使用时,用户通过Web访问登陆页面,设置数据库的连接方式、数据源的URL、数据库访问帐号(用户名和密码)以及查询SQL语句。当运行转换按钮时,将访问和查询相应的数据库并输出为XML的各式。另外用户也可以方便地指定结合的XSL文件,将其转换为其他各式的XML文件。
6. 应用前景
1)电子商务应用中的数据交换
在E-Commerce应用系统中,往往需要在多种应用、平台之间共享、交换数据。为了解决异构应用系统之间的通信问题,DB2XML将E-Commerce应用中原有系统的数据转化为统一格式的XML。XML的灵活性和扩展性使其可以对不同应用甚至是差异很大的应用间的数据进行描述,尤其是对于那些专用于记录数据的应用。另外,XML具有自我描述的特性,结果是数据可以在不同的应用间进行交换与处理而不必要求相应的应用程序是针对该数据定制的。
2)强大的网站内容管理
目前HTML的将内容和表现形式捆绑在一起的固有缺点使得原来的网站模式很难符合新的需求,特别是在商务之间相互通信的场合。XML的产生和相关技术的成熟,特别是基于XML的XHTML逐渐更新HTML,使得越来越多的网站逐渐升级到基于XML设计的网站。在这个过程中既要将新的内容以XML的方式存储和发布,同时也要考虑到兼容原来的数据。这就需要将原来的数据进行组织和转换。对于数据库,可以通过DB2XML将数据库中的内容转化到XML来实现(Infoncall也提供了通用的HTML到XML的转化工具HTML2XML)。用户只要在目标XML的DTD文件中定义一系列有意义的标记,这样基于该DTD文件从数据库中产生出来的XML文档就可以按照任意的条件进行查询和检索,甚至实现计算机自动检索,而相应的检索引擎可以是通用的而不必局限于具体的应用。
3)多种信息发布模式支持
Infoncall DB2XML也提供了这样机制,既可以将HTML转换为独立于应用的XML通用格式,然后通过XSL将 XML继续格式化成HTML、WML或VoiceXML等。这样通一次数据库到XML的转化,可以将数据库中的内容发布到Web、 Wap或语音渠道等。这将是新一代网站发展中的重要环节。
颖科公司供稿 CTI论坛编辑