XML数据处理技术的应用

总的说来的面向内容管理领域的XML应用可分为五类:   1. 应用系统内部的数据一个大型应用系统内部可能涉及多个数据源,这些数据源包括文件系统、数据库系统,他们之间的数据格式复杂且异构,同时系统不同功能模块之间所采用的数据模型也可能存在差异。在数据交换过程中将源数据采用基于XML的统一数据模型进行表示,可以有效地解决数据访问统一接口问题。由此提出了在多种不同数据源之间实现基于异构数据模型的数据之间转换的研究课题。笔者所在的研究室研发的XML Transformer系统在很大程度上有效地解决了关系数据库与XML之间以及基于两种异构模式的XML文件之间的数据转换问题。

  2. 实现通用分布式计算环境   XML技术的应用将改变传统"客户/服务器"工作模式中将运算负荷集中在固定服务器端的模式,而是将其按需分布在客户端和分布式计算环境下的不同服务器上。Web服务的产生和发展就是这种应用的成功印证。Web服务已经从面向传统计算设备的应用领域扩展到了移动计算领域。微软与英国沃达丰在今年10月13日在瑞士日内瓦举行的世界电信联盟展"TELECOM WORLD 2003"大会上宣布将携手进行手机数据服务开发。微软将针对沃达丰的手机服务,提供基于XML的Web服务解决方案。通过利用Web服务,可以在个人电脑中作为应用程序嵌入信息收发、位置信息及收费等手机才有的功能,从而提供扩大应用软件的机会,促进普及可以在个人电脑和移动环境下无缝运行的解决方案。   在Web环境下,基于XML的数据处理技术的另一个重要的应用领域就是基于XML的半结构化信息处理。Web与传统的文档管理系统结合在一起构成了一个巨大的、异构且分布式的文档仓库,其中比重最大的数据是半结构化文档。传统数据库的检索查询机制以及统计学分析方法已经远远不能够满足半结构化信息处理的需求。笔者所在的研究室研究并开发的半结构化信息智能处理模型TIPSI(The Intelligence Processor of Semi-structured Information),其研究目标是将内容与样式混合的半结构化文档作为输入,通过对文档知识和元数据的利用将半结构化文档转换为能够提供良好信息复用性且基于XML的多视图表示,从而实现针对该类文档的复杂查询服务、基于中介的信息系统和基于代理的应用服务系统。

  3. 实现不同软件构件的互操作越来越多的不同类型的应用软件中所采用的数据文件格式已经或者即将采用XML标准来定义。在面向各种应用领域的XML标准不断推出的同时,相关专用软件的开发市场也呈现飞速发展的态势。   富士通的美国子公司 -- -- 富士通软件(Fujitsu Software),推出了基础件模块套件"Interstage Suite"。该套件将企业门户、综合软件工具、数据分析软件以及XML检索引擎融合在一起。其中"Interstage XML Search"XML数据的高速检索功能。不论数据大小以及所在位置,均可进行XML数据报告、文献的查询。能够同时进行产生100项或者1000项结果的检索。"Interstage XBRL Processor"作为构筑和配备基于XBRL(eXtensible Business Reporting Language)的应用软件的工具包,能够对互连网中的多数软件形式和技术间进行自动交换和抽取金融数据。"Interstage Portal"则使企业能够统一各种各样分散型的系统和服务,并向用户、员工、顾客以及合作伙伴提供统一的操作界面。   XML数据处理软件不但适用于传统以PC和服务器为主的计算平台,而且已经延伸到了移动计算平台。在移动计算技术成熟且普及的日本市场中,这类软件不断推陈出新。KDDI研究所日前成功使用Java语言开发出了面向手机的矢量形式图像显示格式定义语言SVG的专用浏览器(图1)。该浏览器依据SVG Mobile规范,配备了SVG图像的显示、放大、缩小等功能,应用于地图信息服务,可在KDDI的手机上运行,用来显示商店、餐馆的位置信息等。   微软将Office 2003的设计完全建立在XML技术基础之上的举动更证明了将XML数据作为应用软件数据文件的定义标准已经成为大势所趋。Office 2003能够将不同的应用软件数据以XML的形式保存下来,

KDDI开发的SVG浏览设备

图1 KDDI开发的SVG浏览

  其优点在于"能够将独立的数据合并起来"。如果在公司内部不同的服务器上以不同的格式保存数据,则难以搜索到需要的信息或者与别人共享数据。"如果将数据形式统一为XML,则可以在不同的应用软件之间实现数据的再利用",并通过在XML Web服务和信息工作者之间建立起桥梁,将能够满足顾客的需求。

XML数据文件的转换

图2 XML数据文件的转换

  为了开发一个完善的、基于Web的电子商务应用系统,通常需要利用一些消息系统针对具备异构特性的不同后台系统实现和简化系统之间在应用程序和商务处理方面的集成工作。BEA Weblogic Application Server(WAS)作为一个基于XML技术的大型应用服务软件,其中的数据集成套件(Data Integration Suite)以XML为标准格式,实现对不同企业级应用所提供数据信息的集成。

  4 可定制发布和数据表示   在基于XML技术的数据表示引擎实现之前,如果希望在Web环境下生成具有分页特征的文档,则必须使用一种传统的文本编辑软件(例如Microsoft Word)来进行文档的设计。而随着XML技术在信息系统中的推广,我们可以使用XML文件保存纯结构化的源数据,并使用XSLT来定义针对XML元数据的查询条件和排版信息。通过XSL转换处理,即可以得到同时提供所需元数据和样式信息的XSL-FO文件。   XSL-FO规范提供的语法定义了包括字体大小、边缘、间隔、颜色在内的一系列风格设置及一些与页面布局和分页有关设置,它提供了一种比HTML+CSS(甚至CSS2)更加完善的可视化布局定义方式。通常,CSS主要被用于满足Web环境下数据简单浏览的需要,而XSL格式化对象的设计则适合更加常规的用途。采用XSL-FO作为数据表示引擎中定义数据样式化信息的元语言,目标是保证样式化信息能够满足各种用法和表示形式的要求。针对元数据文档实现数据可视化表示处理过程的应用软件称为数据表示引擎(Data Rendering Engine),以下简称"引擎"。   笔者所在的研究室研制的X2P Server就是基于XML/XSL技术实现的一个数据表示引擎软件,它完成了将XSL-FO文件向最终用户可以理解和浏览的形式转换的操作。为了使数据表示过程能够同时适用于不同类型浏览设备的要求,特别是满足种类繁多的移动计算设备的要求,输出格式的可扩展性成为该系统设计所需考虑的首要因素。X2P Server系统在设计中提出的面向XSL-FO的数据表示算法和编译/解释双模式输出过程的设计使系统使引擎能够适应不同类型的PC或移动计算设备(例如掌上电脑、支持Java的移动电话)的需求。

  5 XML存储技术。   目前,在保存XML文档中所使用的主要方法包括支持XML的关系数据库、本地XML数据存贮器(NXD)、信息内容管理解决方案以及文件系统等。开发人员正在利用XML的灵活性和扩展性实现信息内容的共享、再发行、再整合。   美国权威调查机构ZapThink的调查结果表明,XML数据存储技术市场的规模将从2000年的区区7500万美元,扩大到2005年的41亿美元以上,上升速度可谓空前。在2000年,支持XML的数据库管理系统(RDBMS)供应商在市场中所占的比率只有15%。到2005年,这一比率将会达到65%以上。2005年,NXD供应商的营业额将达到大约16亿美元的规模。NXD将逐渐成为保存面向文档的XML信息内容解决方案的一个选项。还将被用来保存Web服务以及B2B(企业之间的商务)信息等的交易格式。为了向用户提供利用现有的存贮资产的方法,RDBMS供应商将继续支持XML。   基于以上XML的典型应用而构造的Web应用服务器将能够提供面向半结构化和结构化数据集成处理的完整解决方案。   在"数据共享、信息共享、知识共享"的思想指导下产生的XML技术,其产生和发展正走着与Linux相似的开放的发展道路。国外XML技术正发展得如火如荼,而我们国内在这方面的研究和应用仅仅处于起步阶段。从一些重要的政府机关到包括大专院校在内的研究结构,都在围绕XML技术的普及、应用和推广展开工作。同时,国内一些软件爱好者还自发组织了包括XML中国联盟在内的网上虚拟技术组织。清华大学计算机系知识工程研究室也在积极与外交部、商务部、中国石化总公司和新华社等单位积极合作,围绕XML技术展开高层次的研究和开发。从全球发展态势看,XML技术虽然发展速度迅猛,但是其应用仍然处于初级阶段,这对于中国软件业来说无疑是一个迎头赶上的机遇。抓住机遇是我们的责任。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值