要了解Web2.0的底层,就从了解XML开始吧。
XML已不是一个新的概念,可是,在Web2.0之前,它大多是各软件开发商热衷谈论的对象,而离终端用户非常的遥远。
在Web2.0的今天,你接触到XML了吗?是的,XML就在你每天的网络生活中,触手可及。
订阅的新闻Feed,越来越多的Ajax应用,都是XML的典型应用。XML,正成为Web2.0时代当之无愧的数据表述协议。
XML就不介绍了,网上的介绍文章太多了,更有兴趣的可以看看XML标准。
目前对XML的应用重点要抓住两点:1、XML在浏览器上的表述;2、XML在服务器端的存储、处理和合成等。
关于XML在浏览器上的表述,Google Reader就是一个很直观的例子,而Google Map,GMail中对XML的表述更加复杂,有更强大的用户界面。和JavaScript紧密相关。
服务器端的XML处理包括了更多方面:
1、XML DB。既然用户数据最后要由XML表述,那么,用XML的方式来存储也就是顺理成章的了。这样就凸现了XML数据库的重要性。
XML DB的设计有着不同于传统关系数据库的特点。因为XML数据的高度格式化,需要有特别的针对性的设计。
值得一提的是Berkeley DB XML。它是一个基于Berkeley DB的嵌入式XML数据库,开放源代码。因为嵌入式,所以在高性能服务器方面有着不可替代的作用。在它的主页上提到,Google就是使用它来进行全球所有Google Account的管理的,并提到它的Cluster自动复制功能,使Google Account的可用性大大提高。提供Berkeley DB的SleepyCat公司最近被Oracle抢先收购,Oracle还是很有眼光的。
2、XML的查询和后处理。对XML数据来说,传统关系数据库使用的SQL不太适合了,这里发挥关键作用的是针对XML数据特点的XQuery。
XQuery(XQuery标准)有数据库查询语言需要的表达式、逻辑控制,数据库查询,但它还有更多的功能,比如可以代替JSP,PHP生成网页。它基于XPath(XPath标准)的数据库查询采用和关系数据库很不一样的语法,很直观。
不知道有没有嵌入式的XQuery引擎。猜想一定有公司做的,以满足高性能查询的需要,在技术上也是可行的。
Technorati : XML