SpringSide 2.0 概述
1. 介绍
SpringSide
以Spring Framework
为核心,为大家提供一个Pragmatic的企业应用KickStart 与Full-Stack 的开源构件库,提供对工作流与SOA的核心支持。
- Core SpringSide核心代码及对开源构件库的抽象基类。
- Components 可快速安装的开源构件库。
- Examples 新手入门的helloworld与Full feature的bookstore企业应用示例。
- Tools 快速生成项目与CRUD代码的Ant脚本与Eclipse Plugin。
2.资源
3. 架构
JDK5的annotation、泛型、可变参数与autoboxing,有了之后很难再放弃。
而且annotation的应用越来越多,如果SpringSide仍然固守JDK1.4,会受到越来越多的局限。
如果用户的应用服务器只支持JDK1.4,可使用retrotranslator的兼容方案。
2. Spring 2
- J2EE Framework.
暂时缺乏强有力竞争者的Java EE的Full-Stack Framework。
Hibernate 种种不足,但还是最好的。
iBatis方便旧项目改造或团队力量不强的时候。
JPA是未来大势所趋。
Struts 1.2的用户数始终是最多的。
Struts 2来自webwork,应该是传统模式下最好的mvc framework。
5. JSP2.0
- View Template.
因为JSP比Veloctiy, Freemarker有好得多的IDE,如语法超级敏感,支持Jsp重构和debug的IntelliJ IDEA。
而且JSP2.0的EL可以在html中直接书写$book.name,比<c:out>的页面已简洁无数倍,几近于Velocity。
而且还有Extreme Table这样的现成JSP Taglib。
Collctions,BeanUtils,Configure 等等都应该归入JDK的Utils
7. XFire
- Web Service.
新一代Web Service框架, 与Spring结合,导出POJO为Service,还有简化Binding上都做得不错,是一个充满Pragmatic味道的方案。
Apache的Axis2依然无法在易用性上和它比拟,
8. Acegi
- Security, RBAC ana ACL.
一个依靠Spring迅速走红的安全框架, 在安全方面的框子已经搭的挺全, 不过仍然有很多地方需要扩展才能真正使用。
它的竞争对手应该是收费的Crystal Report。JasperReport + IReport的组合根本没有与它对战的资格。
因为BIRT设计报表时类似Dreamweaver的方式,回想IReport中的做法简直是噩梦。
10. JBoss Rules 3
- Business Rule engine.
Drools变身为JBossRules后已经拥有了很好的规则语法,平民级的DSL语言映射法和基于Eclipse规则的编辑器,直追商业的ILog。
11. JBpm
- Workflow engine.
在JBpm vs shark vs osworkflow中,我们选择JBpm。
12. ActiveMQ
- JMS Message Driven POJO.
ActiveMQ+Jenck是一个withdout Application Server,但效能一样不减的Message Drivern POJO的JMS组合方案。
13. Quartz
- Enterprise job scheduler.
定时执行者的主要竞争者是IBM,BEA合作搞的CommonJ, 但CommonJ只在两家超贵的应用服务器的最新版上存在。
14. Compass
- Search engine use Lucene .
与Spring、Hibernate的结合,简单的通过Annotation将Domain对象 转为Lucene Searchable,实现索引的更新,可以快速实现基于Lucene的企业应用搜索。
15. Prototype.js
- JavaScript and Ajax.
Javascript编程者的小军刀。
16. Dojo
- widgets
虽然速度奇慢,但是最完整,最受支持的html widgets项目。
17.ExtremeTable
- JSP Table Tag Libraries.
主要PK对象是DisplayTag,因为ExtremeTable更易于定制样式和二次开发。
Selenium是SpringSide2强力推行的Web应用功能测试,集成测试的工具。
3. Hibernate 3/iBatis2/JPA - ORM Framework.
JPA的link好像不对