l Originate
1) From JServ Project
2) Stefano Mazzocchi,Federico Barbieri和Pierpaolo Fumagalli创建了最初的版本在2000年末Berin Loritsch和Peter Donald参加到项目中来。
3) First named Java Apache Server Framework。
l What is Avalon
Five Sub-Project
1) Framework:Avalon Framework是Avalon大伞下的所有其它项目的基础。它定义了接口、契约(contracts)和Avalon的缺省实现。Framework将大部分工作置于其中,因此也是最为成熟的项目。
2) Excalibur:Avalon Excalibur是一组服务器端组件,您可以在自己的项目中使用它们。它包括了池(pooling)的实现、数据库连接管理和其它一些组件管理的实现。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
3) LogKit:Avalon LogKit是一个高速日志记录工具集,Framework、Excalibur、Cornerstone和Phoenix都用到它。它的模型与JDK 1.4 Logging package采用相同的原理,但与JDK 1.2+兼容。
4) Phoenix:Avalon Phoenix是服务器核心,它管理服务(Service,实现为服务器端组件,称作Block)的发布和执行。
5) Cornerstone:Avalon Cornerstone是一组Block或服务,这些Block可以布署在Phoenix环境中。这些Block包括了socket管理和Block之间的任务调度。
6) Scratchpad:Scratchpad并不是一个真正的正式项目,而是那些还没准备好放入Excalibur中的组件的一个临时区域。这些组件品质差别较大,它们的API也不保证会不变,直到它们被提升到Excalibur项目为止。
l Where to User
Avalon把重点放在服务器端编程和让以服务器应用为中心的项目的设计和维护变得更容易。Avalon可被描述为一个包含了实现的框架。尽管Avalon的重点是服务器端解决方案,很多人却发现对普通应用程序来说它也是有用的。Framework、Excalibur、和LogKit中使用的概念很通用,足以在任何项目中应用。将重点更直接放在服务器上的两个项目是Cornerstone和Phoenix。
Apache Cocoon2 以Avalon为基础
l Pattern
Inversion Of Control
Separation Of Concerns
Component Oriented Programming
Aspect Oriented Programming
Service Oriented Programming
l