Apache Cocoon入门

ZDNet软件频道 时间:2003-05-26 作者:周靖 译 |  我要评论()
本文关键词:
在某种意义上,可将Cocoon视为一个基于XML的内容管理系统,事实上Cocoon项目作为Apache Web服务器项目的一部分,它的作用之一就是组织和控制Apache麾下众多项目的文档化过程。
本文译自Builder.com,未经许可请勿转载在某种意义上,可将Cocoon视为一个基于XML的内容管理系统,因其提供了一种机制来描述Web信息项目(内容)的结构和语义、这些项目的关系、它们如何随着时间的推移而发生改变(逻辑)以及在请求时如何向用户呈现(它们的样式)。事实上,Cocoon项目作为Apache Web服务器项目的一部分,它的作用之一就是组织和控制Apache麾下众多项目的文档化过程。

作为对其真实用途的一个比喻,Cocoon(茧)这个名字具有深远的意义。它代表一种包裹结构,其中的某些东西将从幼虫阶段成长为美丽的蝴蝶,并准备展翅飞翔。但在Apache Cocoon的主页上,没有对这个巧妙的比喻进行说明。相反,它只是对这个项目进行了准确的技术性解释:“Apache Cocoon是一个XML发布框架,它将XML和XSLT技术在服务器应用程序中的应用提升到一个新级别。Cocoon的宗旨是提升管道化SAX处理的性能和扩展性,通过对内容、逻辑和样式的分离来营造一个灵活的环境。”

到底什么是Cocoon?

Cocoon最初的型态是一个简单的Java servlet,全部使用标准W3C组件:用文档对象模型(DOM)来解析文档,用XML来捕捉和格式化数据,用XSLT来转换数据和合并/操纵XML文档,并用XSL来管理文档的表示以便通过Web传送。但人们很快就要求它为其他类型的内容提供服务(比如程序和文档),所以Cocoon逐渐发展成为一个完整的、基于XML的发布框架及系统。

随着时间的推移,几个新的XML组件问世了,比如SAX。另外,XSL也逐渐细分为几个不同的组件,分别提供Transforms、Formatting Objects和XPath功能。这些新标准直接促成了Cocoon 2在2002年的问世,它定义了一个标准的(而且仍在发展的)内容管理系统,并面向公众开放。

就目前来说,我们可采取几种不同的方式来描述Cocoon:一个XML发布框架,一个数据源聚合器以及一系列管道和组件的集合。

作为发布框架的Cocoon

Cocoon基于对SAX事件的管道式处理。Web应用程序如果围绕这个框架来构建,将获得较好的扩展性和性能。利用一个集中式的配置系统,你可以方便地创建、部署和维护Web应用程序。Cocoon使用了一个缓存系统,所有组件都可根据需要进行动态配置。接收到用户请求后,会自动检查缓存,判断请求的URI(统一资源标识符)是否存在。如果存在,就直接传递缓存的内容,不需要通过一个管道来处理它。

Cocoon作为数据源聚合器

Cocoon可作为一个抽象的引擎使用(通过一个Java servlet),它基于自定义的协议处理程序,能通过标准URI来访问外部数据源。Cocoon甚至能递归调用自身,使数据流能在多个管道化阶段同时处理,从而提高处理速度和效率。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134