XML Web Server

?????? 伴随着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的提供各自相应的格式的文档,而不需要人工的干涉。?

按此在新窗口打开图片=538) {this.width=538;}" border=0>

=538) {this.width=538;}" border=0 pop="按此在新窗口打开图片">

我们可以从上面的图中可以比较直观的看出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协议访问数据?

按此在新窗口打开图片=538) {this.width=538;}" border=0>

 从上图我们可以很明了的看出DataChannel的在企业信息管理中扮演的角色。?

  Software?AG公司的Tamino?

  Tamino?是一个便利而高效的电子商务平台,利用先进的XML技术使得电子商务过程更加平易近人。下图描绘了Tamino的一个解决方案图,从中我们可以很清晰的看出Tamino在电子商务的过程中所扮演的角色。?

按此在新窗口打开图片=538) {this.width=538;}" border=0>

第六节、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适用的环境非常广泛。?
Operating?System???????????????????Web?Server??????Servlet?Engine????JVM
Debian?Potato?or?Woody????Apache?1.3.12????JServ?1.1.2?????IBM?JDK?1.1.8?or?1.3
RedHat?Linux?6.0?????????????????????Apache?1.3.9?????Apache?JServ?1.0????IBM?JDK?1.1.8
RedHat?Linux?6.0?????????????????????Apache?1.3.9????Apache?JServ?1.1b3????IBM?JDK?1.1.8
RedHat?Linux?6.0?????????????????????Apache?1.3.9?????Apache?JServ?1.0????Blackdown?JDK?1.2pre2
RedHat?Linux?6.1?????????????????????Apache?1.3.9?????JRun?2.3.3????IBM?JRE?1.1.8
RedHat?Linux?6.1?(i686)????Apache?1.3.11????Apache?JServ?1.1????Sun?JDK?1.2.2
RedHat?Linux?6.1?(i686??Apache?1.3.11?+?mod_ssl?2.5.0????Apache?JServ?1.1????IBM?JDK?1.1.8
RedHat?Linux?6.1????????????????????Apache?1.3.12-2????Jserv?1.1.2-2????JDK?1.2.2_006
RedHat?Linux?6.2?(i686)????Apache?1.3.12?+?mod_ssl?2.6.5????JRun?2.3.3????Sun?JDK?1.2.2
RedHat?Linux?6.2?????????????????????Apache?1.3.12-2????Tomcat?3.1????JDK?1.2.2_006
RedHat?Linux?6.2?(i686)????Apache?1.3.12????Resin?1.2.b1????Sun?JDK?1.2.2
SuSE?6.3?Linux????????????????????Apache?1.3.9????Apache?JServ?1.1????Sun?JDK?1.2.2
SuSE?7.0?Linux?(2.2.16)????Apache?1.3.12????Apache?JServ?1.1.2,?Tomcat?3.1????IBM?JDK?1.3
Windows?98????????????????????Apache?1.3.9????Apache?JServ?1.0????Sun?JDK?1.2.2
Windows?98????????????????????Apache?1.3.9????Apache?JServ?1.0????IBM?JDK?1.1.7
Windows?98????????????????????Apache?1.3.9????Apache?JServ?1.1b3????Sun?JDK?1.2.2
Windows?98????????????????????Apache?1.3.9????Apache?JServ?1.1b3????IBM?JDK?1.1.7
Windows?98????????????????????MS?Personal?Web?Server????ServletExec?2.2????Sun?JDK?1.2.1
Windows?NT?4.0????????????????????IIS?4.0????ServletExec?2.2????Sun?JDK?1.2.1
Windows?NT?4.0????????????????????IIS?4.0????JRun?2.3.3????Sun?JDK?1.2.1
Windows?NT?4.0????????????????????Apache?1.3.9????JRun?2.3.3????Sun?JDK?1.2.2
Windows?NT?4.0????????????????????Apache?Jakarta?Tomcat?3.1?Milestone?1????Sun?JDK?1.2.2
Windows?NT?4.0?SP4????????????????????BEA?WebLogic?Server?5.1?SP3????Sun?JDK?1.2.2
Windows?NT?4.0?SP5????????????????????IIS?4.0????Websphere?3.5?Enterprise????IBM?JDK?1.2.2
Windows?NT?4.0?SP6a????????????????????Apache?1.3.11????Apache?JServ?1.1????Sun?JDK?1.2.2
Windows?2000?Professional????Apache?1.3.12????Apache?JServ?1.1????Sun?JDK?1.2.2
Windows?2000?Professional????Apache?1.3.12????Tomcat?3.1?????Sun?JDK?1.3
Windows?2000?Advanced?Server????Tomcat?3.1????JDK?1.3
MacOS?8.5+?????????????????????Resin?1.1b?????MRJ?2.2
MacOS?8.6????Tomcat?3.1????MRJ?2.2.2?
MacOS?8.6????WebSTAR?4.0????JRun?2.3????MrJ?2.1.4
MacOS?8.6????WebSTAR?4.0????ServletExec?2.1????Mrj?2.1.4
MacOS?8.6????Quid?Pro?Quo?2.1.3????ServletExec?2.2????Mrj?2.1.4
Solaris?2.5.1????Netscape-Enterprise/3.6?SP3????ServletExec?2.2????Sun?JDK?1.2.1
SunOS?Netria?5.6????Apache?1.3.9????Apache?JServ?1.1b3????Sun?JDK?1.1.7
Solaris?8?(SPARC)????Apache?1.3.12????Tomcat?3.1????Sun?JDK?1.3?Beta?Refresh
Solaris?8?(x86)????Resin?1.2.b1????JDK?1.3?beta?
FreeBSD?3.4????Apache?1.3.9????Apache?JServ?1.0????Blackdown?JDK?1.1.8
FreeBSD?3.4-Stable?with?linux_base-6.1?for?linux-emulation????Jetty?Java?HTTP?Server?v2.3.3????Blackdown?jdk-1.2.2-RC4-linux-i386-glibc
FreeBSD?4.1?(RELEASE)????Apache?1.3.12????Jserv?1.1.2????Linux?JDK?1.2.2
SCO?OpenServer?5????WebLogic?4.5.1????SCO?JDK?1.1.7A
OS/2?Warp?4?FP?12????Gefion?Software?LiteWebServer????IBM?JDK?1.1.8
SGI?IRIX?6.5.7????Apache?1.3.12????Apache?JServ?1.1????Sun?JDK?1.2.1?(SGI)

  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的产品,但事实上还有很多其它的产品没有提到,这里我且做个抛砖引玉人吧,希望以后可以看到其他朋友在这方面的文章。?

本文为转载文章
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值