XML Server与XML-enabled Web Server(来源:www.ccidnet.com) 伴随着Internet网络的一天天发展壮大,Internet已经成为一个人们不可缺少的工具,而人们为了更有效的利用网络的技术能力,而努力将各式各样的信息以各种不同的方式汇入到这个的bit海洋中,而这个信息的海洋也变得超乎想象的巨大,人们现在被铺天盖地的信息所吞没,以至于感觉到象真正置身在大海中时的那种危险。我们无法简洁有效的利用这个资源,大量的信息垃圾使得分辩信息价值变得有如在深海中寻宝一样艰难。但事实上还有许多种类的信息没有进入或者正准备进入网络,但很明显原有的信息管理技术肯定已经不能满足人们的需要,人们为了解决这个问题,而开发了许多的新的技术,其中就有我们这篇文章里的主角所采用的新技术 -- XML。 对于XML这种技术,我想大家对它已经有了相当的了解,所以也就不再多介绍了。但是对于如何用XML开发应用,使其能够真正的发挥作用,我感觉这方面的文章还比较的少。因此以此文介绍的两种XML应用--XML Server与XML-enabled Web Server为引,同大家一起探讨如何应用XML技术。 第一节、什么是XML Server与XML-enabled Web Server? 什么是XML Server? 准确定义XML Server这个概念是困难的,因为这实在是一个比较新,而且概念很广泛的东西,虽然已经有许多的产品称自己为XML Server,比如:DataChannel公司的DataChannel Server 4.1;Software AG公司的Tamino;Excelon公司的excelon,但在应用的范围上以及功能上,每种产品都各不相同,因此这里也就不为XML Server进行定义,而是归纳这几种产品的共同拥有的一些特点,以说明的方式来向大家解释XML Server这个概念。 简单地讲,XML Server是一个提供数据的平台,它能够以XML文档的形式与分布式的应用进行数据交互。比如电子商务及B2B这一类的应用。这听上去和传统的数据库非常的相似,它和数据库一样提供数据的存贮与提取功能,但数据的格式的是基于XML的,因此在数据的处理方面,所用的是和传统数据库完全不同的技术了,但抛开这个不谈,广义上我们可以认为它是一个XML数据库。至于为什么叫XML Server而不是XML Database,那是因为XML Database的范围比XML Server所应用的范围更加广泛,根据Ronald Bourret. 在XML Database Products一文中的描述,XML Database中包含有六种类型的产品,分别为: 1.Middleware 2.XML-Enabled Databases 3.XML Servers 4.XML-Enabled Web Servers 5.Content Management Systems 6.Persistent DOM Implementations XML Server被认为是XML Database其中的一种。 XML-enabled Server则相对来讲比较容易理解,因为它本质上就是一个Web Server,对于客户端而言,浏览Web,客户端不会感觉它和传统Web Server有什么太大的区别,但实际上Server端在对REQUEST处理方法上,XML-enabled Web Server和传统Web Server是完全两种不同的方式,这是由于XML文档与HTML文档本身的特性所决定的。我们大家都知道,XML文档是一种以数据为中心的文档,XML文档本身没有格式化的信息,而是通过特定的XSL或者CSS来表现。数据和表现是分离的。而在客户端提交需求后由XML-enabled Web Server将内容与形式结合后把最终结果发布给客户端的Web Server。因此这是一种胖服务器,瘦客户的模式。这种模式同微软将XSL Parser集成到IE中的设计思想是完全不同的。它的优点是能够对不同的设备浏览Web的提供各自相应的格式的文档,而不需要人工的干涉。 我们可以从上面的图中可以比较直观的看出XML-enabled Web Server与传统Web Server的不同。 第二节、我们为什么需要XML Server 为什么我们需要它?这是因为XML Server采用的是XML技术,我们需要XML理由,同样也是我们为什么需要XML Server的理由,同时,XML Server可以提供比单纯XML文档更强的管理XMl格式数据的能力!而且可以避免用传统数据库时需要进行数据转换的过程,而获得高效。 第三节、我们为什么需要XML-enabled Web Server? 能够将数据同表现分离,我想这也许是Web工作人员最大的希望与心愿,对于这我想实在不需要再多说什么了。:) 第四节、它们的所存在的问题 任何一项新的技术在没有完全成熟以前都会存在许多的缺点,XML Server同XML-enabled Server也不会例外,除去通常新产品所共有的问题(比如:需要时间学习等)以外。我认为它们分别存在下面一些缺点: 对于XML Server: XML Server的性能如何,是我最关心的问题!因为它采用的是一种全新的数据组织方式,而这种方式在过去还没有得到过广泛的应用。正如我们有理由看好XML Server发展前景的同时,我们也有理由对这种没有经过大范围使用的产品持怀疑态度。事实也证明我的担心不是没有道理,我们可以看一下几种典型XML Server产品的配置需求。 △ DataChannel Server 4.1 在Windows环境下的硬件要求: 500MHz or faster Pentium III processor with at least 256MB of RAM △ DataChannel Server 4.1 在Windows环境下的硬件要求: Sun Ultra 10 or equivalent. At least 256MB of RAM △ Tamino 在Windows环境下的硬件要求: At least 300MHZ or faster. At least 256MB of RAM 对于XML-enabled Web Server: 最大的问题是XML-enabled Web Server太复杂了,比较起原来用Html和传统Web Server建设Web,懂得使用XML这些先进技术的人还是太少了,而且Server的安装也显得太复杂,而开发工具则又太专业了。如何使电脑的初级用户能很快的学会使用它,是它需要解决的另外一个问题。 第五节、XML Server较典型的产品 1、DataChannel公司的DataChannel Server 4.1 一个以提供有效的企业信息管理,发布和重用的企业信息入口。它的特点是: ●提供纯XML格式数据的存贮(即XML数据不转换成关系型数据库的形式) ●XML层次形的数据结构使得它比关系型数据库管理更高效 ●支持通过标准Web协议访问数据 从上图我们可以很明了的看出DataChannel的在企业信息管理中扮演的角色。 Software AG公司的Tamino Tamino 是一个便利而高效的电子商务平台,利用先进的XML技术使得电子商务过程更加平易近人。下图描绘了Tamino的一个解决方案图,从中我们可以很清晰的看出Tamino在电子商务的过程中所扮演的角色。 第六节、XML-enabled Web Server 产品 在XML-enabled Web Server 的产品中,cocoon可能是最为惹人注目的,它是Apache Software Foundation (ASF)小组用纯Java技术开发的一个Free Code的XML-enabled Web Server产品,凭借Apache Web Server的名头,恐怕没有人会不对这个产品感兴趣。 下面我们简单介绍一下这个产品。 1、运行环境:cocoon可以运行在下面表格所示的系统中,从中我们可以看出cocoon适用的环境非常广泛。
2、cocoon的处理过程: cocoon将网站开发分成三个层面: ●内容层:编辑用定义好了的DTD或者Schema将内容输入到XML文件 ●逻辑层:客户需要的XML文件被进行逻辑处理(注意,这里的逻辑处理和我们传统用ASP或者PHP读数据库产生文件的思想是不同的。) ●表现层:将通过逻辑处理过后的结果用XSL进行最后的样式加工。 因此很好的解决了数据与表现分离的问题。因此cocoon支持以pdf,wml,html等常用格式发布xml文档,但是除此以外cocoon同传统的Web Server几乎没有区别了。 第七节、最后 目前国内对于XML感兴趣的人越来越多了,但是中文的XML的资料还比较少,希望能够通过此文给各位爱好XML的朋友提供一此我所知道的XML应用方面的知识。文章里介绍了几个典型的XML Server 与XML -enabled Server的产品,但事实上还有很多其它的产品没有提到,这里我且做个抛砖引玉人吧,希望以后可以看到其他朋友在这方面的文章。 |