入门—系统结构一览
介绍
本文档简明的阐述了Phoenix服务器的体系结构。
多重应用服务器作战
Phoenix是在同一个虚拟机内同时掌控一个或者多个服务器应用。
Phoenix 层次图
上图显示的是三个主机服务器应用。Mail服务器将实现进出服务(POP3,SMTP,IMAP等)的多重监听。Outlook、Eudora和其他服务器客户端可以连接到本服务器。恰好:Apache 有一个正在开发的工程叫做“James”,它提供了一些服务和新闻(Newsgroups)组功能,同样也在上图中显示了。它能够响应来自基于客户端的HTTP/HTTPS请求,并能为自己的主机服务应用程序(Web应用和虚拟网站)服务。目前,在Apache还没有EJB Server,但多重服务器可以能够服务自己的bean应用程序并针对它的HTTP需求使用Web服务。
打包一个服务器应用
Phoenix应用程序分布在一个单一的文档中。
根据blocks打包
Phoenix服务程序是由blocks组成的,而blocks是依靠库正确发挥功能的。Blocks在外观上是由装配指令和配置文件系在一起的。
上图是以block观点看phoenix应用程序的图示。
根据block jar文件打包
服务器应用文件完全的包含在一个“sar”文件中。Sar是服务器存档文件(Server Archive)。每一个block都是一个jar文件,依附库也是规则的jar文件(放置在sar文件中SAR-INF/lib目录下)。装配文件和配置指令是以xml形式组织的,它们被包含在sar文件中SAR-INF目录下。如下图:
FtpServer作为一个phoenix应用
FtpServer(Avalon/Cornerstone工程的一部分)是以sar形式分布的。下面是它的block图。它没有依靠的三方jar文件。
图 Ftp server,phoenix 的一个真实应用
注意:Phoenix不限制在Sar文件中block的数量。我们建议使用Apache Ant工具产生sar文件。至于做什么、如何做、为什么要这样做请参看block开发向导。
Leo Simons 编写