|
|
||
|
9.1.1 XML数据交换机制
XML可以分为三层结构,数据表现层,数据组织层和数据交换层。在我们对表现层和数据组织层有了一个比较全面比较深入的了解后,最后再来看看XML的最底层——数据交换层。 我们知道,从整体上讲,XML定义的实际上是应用间传递数据的结构,而且这种结构的描述不是基于二进制的、只能由程序去判读的代码,而是一种简单的、能够用通用编辑器读取的文本。利用这种机制,程序员可以制订底层数据交换的规范,然后在此基础上开发整个系统的各个模块,而各模块之间传输的数据将是符合既定规则的数据。另外,XML还允许为特定的应用制定特殊的数据格式,并且非常适合于在服务器与服务器之间传送结构化数据。 从应用的角度来看,XML信息交换大致可分为下面几种类型:数据发布、数据集成和交易自动化。
当今时代可以说是信息爆炸的时代,而互联网的出现又起到了推波助澜的作用,人们对信息的获取不再局限于读书看报,“到网上去冲浪”业已成为网迷们的口头语,并逐渐为越来越多的人所接受。在这种新生的环境下,业内人士不失时机地提出了“同一数据,多次出版”的解决方案。这种方式使我们只须制作和管理同一信息资源,就能够达到多种媒介出版和多种方式发布的目的。 先来看一下传统的信息发布方式--基于纸介质和CD-ROM的信息发布。虽然CD-ROM与纸张属于不同的介质,但是由于他们采用的数据格式基本一致,因此将他们归为一类。 早期制订的媒介无关的描述结构化信息的国际标准当属SGML-ISO 8879 1996,但是XML的出现,使得跨媒体数据发布技术又向前发展了一步。2000年5月18日,一个由数字印刷领域的知名厂家组成的所谓“按需印刷”组织(PODi)发布了“个性化印刷置标语言”(Personalized Print Markup Language, PPML)规范。这是一种基于XML的技术规范,主要用于带有可再利用内容文档的快速印刷。可以说,有了XML,跨媒体、多介质的数据发布显得更是顺水推舟。 最值得一提的是基于Web的网上发布。HTML作为Internet上Web网页描述语言已经为大家所熟知,而同HTML一脉相传的XML当然也可以在网上发布,当然需要配合样式信息(如CSS或XSL),因为正如你所知,XML只是定义文档内容而不涉及具体表现。另外,一种更为直接的Web发布语言也已诞生,那就是XHTML。XHTML是一种基于XML的超文本置标语言,也就是说,将以前用SGML定义的HTML改为用XML重新定义。现在,XHTML已经作为W3C的建议标准公布于众,相信在不久的将来会大有作为的。
如果说数据发布涉及到的是服务器-浏览器形式的数据交换,那么,数据集成则是一种服务器-服务器之间的数据交换。 现实世界中,一个企业需要涉及各种应用,小到上下班打卡系统,大到人事管理系统、财务核算系统、库存管理系统等等。一般情况下,各个系统可能是由不同的软件公司开发的,软件可能采用不同的技术、运行于不同的平台。但是企业的运作是一个整体,需要各个系统相互配合,于是应用系统间的数据交换接口就成为困扰信息主管的一大难题。于是,可能会出现这样的尴尬局面:月初,上下班打卡系统管理员将上月的员工考勤数据打包传送给人事部门(或用软盘或由网络发送),财务部门也将员工所在部门的销售业绩统计打包传送给人事部门,而后,人事干事运行一个批处理程序合并考勤数据和业绩统计,最后计算出员工工资。类似的情况几乎可以说比比皆是,但这是现实。企业缺乏一个顺畅的业务管理平台,不能将各部门的信息有机的集成在一起,势必造成管理上的混乱。 XML是解决这一问题的强大法宝。让我们再来分析一下这个假想的示例,其实,造成这种混乱局面的原因说到底,就是各个系统没有统一的数据结构约定。其后果不但是效率低下,而且信息冗余、重复开发也会造成资源的巨大浪费。在这种情况下,XML将起到粘合剂的作用,通过它,使得各业务模块有机结合,数据交换畅通无阻,从整体达到理顺业务操作的目的。 同所有软件开发规范一样,实现数据集成也必须分步骤、有条理地进行:
前面我们讲的是关于企业内部的XML数据集成,其实不同企业间的数据交换也是XML的用武之地。电子商务交易平台之间的XML B2B信息交换就是很好的例证。同企业内部的数据集成不同,企业间的XML数据集成需要由一个开放的、需要交易各方共同遵守的“法规”——基于XML的数据交换标准。目前全球电子商务的发展非常迅速,各种行业甚至跨行业的XML电子商务规范与框架层出不穷,其中比较有代表性的是:Ariba的cXML、IBM的tpaML 、CommerceOne的xCBL 2.0 、Microsoft的BizTalk框架、CommerceNet的eCo计划、RosettaNet的eConcert计划与PIP规范集以及联合国UN/CEFACT小组和OASIS发起的ebXML计划。XML技术的融入,使得企业间的交易不再局限于专网和特定的应用,而是可以在Internet上的不同系统间交换信息,不仅大大降低了成本,而且提高了数据的可持续性,从而保护了既有投资。
XML也有助于提高应用的自动化程度。遵循共同的标准,使得应用程序开发商开发出具有一定自动处理能力的代理程序,从而提高工作效率。一个典型的应用是,开发这样一个智能代理程序:首先,该程序向某电子商务交易系统发出一个供货商资料查询请求,在得到应答后,自动连接答复中提供的所有供货商站点;然后,搜索预定商品的信息,并对获取到的不同商家针对该商品的价格、质量、服务等信息按一定的商业规则进行比较;最后,得出理想的结果,并自动向该站点下订单。下图即示出了这种自动交易的过程:
|