使用灵活,可以整个使用它,也可以只用它的一个或几个部分
Tiny框架的项目组织不是放在一个大包里面的,而是根据功能进行了细致的模块划分,这样,在使用的时候,可以更加灵活,可以只使用其中的一个公共库,也可以使用其中的一个小的框架,也可以使用它们中的更多,当然也可以整体使用。
学习成本低,上手容易
如果你是想对Tiny进行修改,那么你的学习时间是要长一些的,你要用到的东西越多,要学习的范围也越广;如果你是应用架构人员,那么主要集成中Tiny框架的配置及各模块的作用上;如果你是开发人员,实际上学习成本是非常低的,如果你要开发业务逻辑部分,那么你会Java,会Spring,那么花半个小时大致了解一下即可--实际上你会发现,其实与普通Java应用开发没有任何不同;如果你是Web应用开发人员,目前来说,我们提供的展现引擎是基于Velocity框架做,那么,你需要学习Velocity,当然,也可以用Jsp或FreeMarker或其它展现技术来做界面展现。相对来说,我们不推荐用JSP做展现,因为它在模块化方面有些问题,JSP只能放在WebROOT目录中,这与我们提倡的BU有较大的不兼容性。(也就是说,如果你要用JSP做展现技术,要丧失业务单元给你带来的好处)。实际上,学习一种模板语言也就是1个多小时的事情,所以,学习一下吧。
核心的稳定性,核心部分使用尽量少的第三方框架及包
在Tiny框架中,对使用第三方包,持审慎态度,限制在尽量小的范围。
目前Tiny中直接使用的第一方库有:
必须依赖:
Spring
XStream
Velocity
Apache commons
slf4j
扩展依赖的有:
jcs/ehcache
juel/mvel
这些框架都得到了广泛的应用与验证,并且在Tiny框架中,经过连续1个月的大强度压力下运行,没有发现影响使用的问题。
方便的外延性,不影响对第三方框架的使用
由于集成了Spring,所以与各种第三方框架的集成与使用都是非常方便的。Tiny的原则是,Tiny框架引入第三方库非常审慎,但是绝对不影响使用Tiny框架的开发人员引入第三方库。
现有资产的可延续性,不管以前有什么软件资产,只要愿意,都可以方便的集成、复用
除非是一个新开的项目,否则总是会有7788已经存在的软件资产,这些资产有些可能不再适合进行复用,有些则不同,非常有价值,这个时候就涉及到软件复用的问题。Tiny框架对于集成原有资产的方式,非常多,可以通过Spring集成、可以通过插件集成、可以通过组件集成、可以通过事件处理器集成、可以通过界面组件集成,总有一款适合你。
易于知识积累,真正做到越用越强
Tiny不仅仅是一个开发框架,更是一个体系,为了达到口号中所提的Think big, start small, scale fast的目标,Tiny在集成,扩展,积累,复用方面做了大量的思考与设计。所有基于Tiny框架开发的内容,都可以方便的被其它使用Tiny框架的项目组使用,而不用管它是组织内的还是组织外的。
所以,Tiny的目标实际是构建一个Tiny生态体系,就象Maven一样,Maven的插件可能是由千千万万开发人员开发的,但是都可以通过mvn命令驱动执行,可以融为它的一个部分。关于Tiny生态体系,会有专门的文章介绍。
易于集群与水平扩展,能做到不间断提供服务
Tiny框架支持基于SOA体系构建大型应用系统,可以方便的进行应用集群,可以方便的进行水平扩展,也就是说,系统中哪个地方存在短板,就可以补充哪个地方。在进行扩展的过程中,对现有的环境没有任何影响,在集群环境中,不存在单点故障,也就是只要不是停电,不是网络故障,可以永不停止的对外提供服务。你可以在系统运行过程中,对系统中的各个部分(只要有冗余)进行停机维护、升级。