第1章 概述第2章 基础结构描述2.1 目标
网站基础结构设计的目标,是建立一个稳定高效、可配置、可扩展的网站架构,同时为网站的功能开发提供一个开放的、易用的工具集。
2.2 设计思想
根据网站基础结构的目标,设计选择xml + xsl作为数据呈现标准,选择xmlrpc为客户端-服务器端通信协议。
所以选择xml + xsl作为数据呈现标准,是为了适应网站大批量数据请求的情况下,将数据呈现逻辑移交给客户端浏览器进行处理,网站服务器可以专注与业务逻辑的处理。
选择xmlrpc作为客户端-服务器端通信协议,一方面因为xmlrpc已经开始为大多数浏览器支持,另外也因为服务器端将xml作为数据输出格式,那么使用xmlrpc作为客户提交的手段是顺理成章的。而且xmlrpc还可以提供无刷新提交和获取数据的使用体验。
2.2.1 逻辑处理部分
网站的基础结构,参考了java的开源项目《struts》以及《Game Engine》的设计思路,采用action作为业务逻辑处理工具,使用xml的配置文件作为业务逻辑的描述,即业务逻辑配置文档,服务器端的主要责任就是当用户发起请求时,将用户的请求映射到业务逻辑配置文档的某个Action配置节,读取信息并依照该小节的体现的业务逻辑处理用户请求,然后将处理结果保存在Action Form实体中,转交给视图,视图根据Action Form中的信息以及视图配置文档所设定的数据转换格式,将数据转换成可以接受的xml文档格式,连同负责呈现该xml文档结构的xsl文档一同发送给用户的浏览器客户端。
业务逻辑配置文档示例如下:
<module name="moduleA" onerror="err.view">
<action pattern="/login" name="actionA" type="action.ContainerAction">
<action name="actionAA" type="action.CommonAction1">
<forward on="ruleA" path=""/>
<forward on="ruleB" path=""/>
</action>
<action ref="actionD"/>
<forward type="redirect" on="ruleOK" type="returnUrlForward"/>
<forward type="transfer" on="ruleC" path="returnUrl.do"/>
<forward type="transfer" on="ruleD" path=""/>
<forward type="transfer" exceptionType="" path=""/>
</action>
&nb