Tephra取火山灰之意,因为当初好像刚好有个火山喷发了,而且觉得火山灰是一个毁灭者,但同时又是一个创造者。他毁灭了旧的体系,然后开始用他自己的养分创造新的体系。目前看来,他确实已经毁灭了我之前的架构(封印在SVN上很久了),接下来就看看他如何创建一个新的体系了。

先说说核心思想,我一直向开发人员推荐面向接口的编程思想,因为我觉得这是一个很Nice的指导方向,可以让你的代码更加简洁,读之欣然。

混合Scala编程是一个大胆的尝试,可以弥补Java的一些弱点;当然,主要还是基于Java开发,至少一开始如此。

Spring仍旧是核心的组件,当然仍旧没有使用太多的Spring,因为我觉得Spring后面的很多功能已经背离了早先的设计思想,变成一个想包罗万象的大家伙。Tephra中对于Spring的使用仍旧仅局限于IoC和AOP,因为我觉得这哥俩才是Spring最吸引人的地方。

Hibernate是后来又补上的,最早的版本没有是因为第一个版本是为游戏服务器架构的,唯快不破的准则放弃了Hibernate,而后面增加回来是基于后台管理功能的需要。这一过程纠正了我一个开发框架中只能存在一个ORM的想法。没人规定不可以,是吧?!

Struts一开始就被放弃了,主要是因为安全漏洞太多了。然后根据自己多年使用Struts的经验和习惯,开发了专属于Tephra的控制层,功能简单,但是高效。因为没有像OGNL那么强大的参数映射功能,所以类似的安全漏洞应该不存在;不过为了调试方便后门还是需要的,有上锁了,应该是安全的。

JSON成为了Tephra最主要的数据传输格式,轻量、跨平台、跨终端,别无他选,至少目前如此。

最后说说Maven,确实比Ant进步不少,也许这也是一个毁灭旧体系,创建新体系的过程吧。

部署蓝图 | 快速开始

特性

Tephra旨在构建一个稳定、高效、易于集群、快速扩展的JavaEE开发框架。目前,Tephra已经具备了以下特性:

组件图

组件图

单元测试组件图

模块说明