用户在WEB开发技术领域面临多种选择:ASP、JSP、Servlet、PHP等等不一而足。然而,任何商务活动的焦点并不仅仅是哪一种技术能达到最好的性能而是哪种技术能令公司在最短的时间之内交付稳固的应用程序,而我们都知道,员工们可不是一堆爱因斯坦的克隆。因此,我们要寻求一种工作在结构化格式下的技术,它应该足够灵活的适合变化中的应用的需要,而且(也是最重要的)能清晰地界定各种各样的任务。
在这篇文章里,我就要讨论一种此类技术,这就是所谓的Cocoon WEB发布框架。首先让我们了解下WEB发布框架的基本概念。
WEB发布框架可不是什么新技术了。它是一种使能器,营造和集成各种各样的技术,把它们的力量集中起来提供一个完整而且有效的WEB开发框架。在基于Java的体系结构下,大多数WEB发布框架多半要利用servlet、JSP乃至XML的强大力量和灵活性。这类框架相当多,比较著名的有:
大多数的这类框架采用了流行的MVC(Model-View-Controller:模型-视图-控制器)设计模式。就MVC模式而言,所有的流程都被导引到一个中央控制器。这个控制器把请求转交给适当的处理器。接着,相应的处理器捆绑到系统的业务逻辑(模型)。作为响应,流程再导向中央控制器并转到适当的视图。这一过程有效地实现了视图和业务逻辑的松弛耦合,令创建和维持基于MVC的系统更为容易。现在,我们转过头来专注于Cocoon。
APACHE Cocoon是一种使用而且充分利用了XML强大功能的发布框架。所谓的“充分利用了XML的强大功能”这句话是当前最令人耳熟能详的用语了,几乎每一种新型软件都做过如此一番的真情表白。然而,Cocoon倚赖XML的程度却到了绝对关键的地步,这种框架的绝妙之处正是在于XML利用方面的聪明之举。
你所有需要的就是关于XML、XSLT以及Java的一些基本的知识。然而,对Java和XSLT的理解程度却有必要依据所开发的应用程序的复杂性而变动。
Cocoon是xml.apache.org的组成部分,你可以轻松下载Cocoon的二进制发布版本或者从APACHE CVS获取最新开发版本。
Cocoon文档宣称Cocoon最最重要的革新就是其SoC(Separation of Concerns)设计。这一设计把WEB发布就的4个主要领域隔离开来:
由于这些要素不再相互牵扯,任务即可分配给擅长某一方面技术的有关人员;他们不需要理解其它方面。这样,程序员就不必再关心站点的风格,而WEB设计人员也不必关心所涉及的业务逻辑。