【IT168 技术文档】
在当前的应用软件行业,软件以项目为主,而不是以产品为主,使得应用软件厂商没法做大做强,客户信息化成本过高。另外,客户在投入了大量资金后,发现其实现的业务系统只是满足系统实施时的业务需求,没法动态满足企业的业务变化,使企业无法满足对市场响应速度、服务质量越来越高的要求。应用软件厂商在投入大量的人力物力后,作出的软件无法产品化,推广成本过高,企业的利润率受到很大影响,无法做大做强。目前软件开发中存在的这些问题,究其根源究竟在哪里?如何才能逐渐的把这些问题一一得以解决?
其实从数据库的发展历史来看,数据库的发展大体可以分成一下三代,第一代是网状、层次数据库系统,第二代是关系数据库系统,第三代是以面向对象数据模型为主要特征的数据库系统。目前的第二代关系数据库系统中,底层数据以没有业务含义的二维关系表存储,难以被理解,当底层数据与其他(内部系统、外部系统)进行数据交换式,现有的数据存储方式不利于交换,另外现有系统是由业务驱动的,没有统一规划,使得数据难以被深度利用。
![]() |
上面我们提到的这些问题,从2005年起,在数据库厂商中,开始尝试在数据库中以XML的方式存储对象数据,从而实现在数据层面向对象的需求。经过3年的发展,以IBM、微软、ORACLE为代表的上游数据库厂商基本实现了在原有的关系型数据库中以XML数据类型存储对象数据,成为既支持关系型数据,也支持XML类型的数据,对关系型数据可以使用SQL进行访问,对XML类型的数据可以使用XQuery进行访问,并且SQL和XQuery可以互相嵌套使用。
![]() |
随着DB2 V9.5、SQL SERVER 2008 、ORACLE 11的推出,使用XML存储数据在性能上得到了极大的改善。通过在数据层混合使用关系型和XML数据类型存储数据,将相对固定的数据以关系型结构进行存储,从而保证了客户对性能的要求,对一些相对不固定、容易变化的数据以XML数据类型进行存储,从而满足了客户对灵活性的要求。
随着技术的越来越完善,以及XQuery标准的正式被业界认可成为访问XML数据的标准语言,使得应用软件厂商的产品化梦想得以实现,客户信息化成本得以下降,从而加速整个行业的发展。
话题谈到这里,大家最关注的问题就是面向对象技术如何在数据层得到真正的实现,首先我们从XML本身来看:
一、XML最大的优势在于对各种数据的管理
A 用户可以定义自己需要的标记;
B XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识;
C 它是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言;
D XML定义了一套元句法,与特定领域有关的标记语言(如MusicML、MathML和CML)都必须遵守。
XML两种主要使用方式: 作为文档使用(在很大程度上反映了 XML 起源于 SGML)和将作为数据使用——后者很大程度上反映了XML 在中间件领域、前端传统关系数据库领域中不断增长的现状。
XQueryX是一种替代表层语言的基于XML 语法的规范,基于XML的查询表是具备XML所有显而易见、众所周知的优点:很容易使用标准工具解析、生成和询问查询的内容
二、XML Query(通常缩写为 Xquery)
Query工作组在1999年9月正式成立,任务是创建一种灵活的查询语言来从XML文档中抽取数据。
XQuery为XML 文档中的数据操作提供了一种强大的语法。它最适合于那些同时包含叙述性文本和量化数据的文档。在数据方面,XQuery 具有类似于 SQL 的外观和能力,这是来自关系数据库世界的用户所欢迎和熟悉的。
对于XML用户来说,最熟悉的XQuery关键组件是XPath,它本身也是一个 W3C 规范。
所有实质性的遗留问题都已经解决,组成 XQuery 的七个关键文档按 W3C 的说法成为了 “候选推荐标准”,这意味着,用正式的术语来说,XQuery现在被认为 “是稳定的且合适于实现”。按照正式的W3C推荐标准工作流程,以上Last Call阶段中提出的所有问题都已得到响应,工作组现在正寻找工业厂商去实际验证XQuery的主要特性是可实现的。为此,实现者必须对工作组提供的测试套件运行其实现。
![]() |
过去数据层只能是关系型的表
![]() |
XML 提供了更好的选择
![]() |
从上面的图我们可以看到在关系型数据库中,新增了XML数据类型,用来存储对象的数据,目前关系型的数据库,各个厂商都保留了,另外,还开发了XML数据类型来存储对象数据,这样,可以同时在一个数据库中,使用关系型数据和对象数据。
该技术适合各个行业的企业应用,目前该技术,在医疗、航空、电力等已经有很多成功案例,有越来越多的行业在进行该进行的使用。使用XML实现现象对象技术在数据层的实现,使应用系统的生命周期是一个时段,而不是一个时点,对软件开发商来说,使得应用系统产品化成为可能,解决了目前软件开发过程中遇到的许多问题。
为了能够更好的与大家来共同讨论这个主题,国信高级技术培训中心借2008年成立“国信高级技术论坛”之际,首次论坛邀请国际知名企业的专业顾问,于5月31日—6月1日与IT企业的精英们共同探讨、分享、学习“使用XML解决面向对象的最后一块短板”。