如果说SpringSide1.0是以Appfuse为起点的演示为主的项目,SpringSide2.0则以JBoss Seam为参照原点,作一个可快速开发的,完整的Java企业应用构件框架,改进SS1.0只能看不能用的毛病,同时增加对SOA、工作流的核心支持。
预览版SVN路径: http://svn.javascud.org/svn/springside/springside2/trunk
在线文档:http://wiki.javascud.org/display/springs/Home
Helloworld.war :http://www.springside.org.cn/release/helloworld.war
1.支持Main Stream 和 New Fashion 两套主框架
大家在新建项目时可自由使用两者之一。
Main Stream:Spring2.0 + Struts 1.2.9 + Hibernate 3.1.3
既然SpringSide 2.0是为了大家的快速开发而出现,所以Main Stream选了最多人使用的框架,争取在经典中不失Pragmatic。
New Fashion: Spring2.0 + Struts2 + Hibernate JPA
虽然看起来有点点超前,但考虑到SpringSide2.0的完全发布时间,也就刚刚好了。
Examples:因为ss1.0中的bookstore太大太难入门,所以又增加了两个简版的demo。
hellowolrd: mainstream框架的简版demo;
newfashion:如题,另一个简版demo;
bookstore: 依然担当企业应用前后台Full Feature演示的角色,暂时打算采用mainstream。
2.构件化开发
基础服务构件:
Web服务构件,JMS消息构件,工作流引擎,规则引擎,报表引擎,搜索引擎,安全权限构件,前台页面组件,配置参数构件,业务字典构件,文件上传管理等....
业务构件:
人员组织结构,菜单管理,安全权限设定管理等....
业务构件的重用度达到Controller级,用户可以替换显示页面,也可以使用默认的样式。
构件体系:
因为之前为项目增加一样诸如XFire,ExtremeComponents之类的功能,总要忙活好一阵子,所以优先实现了在开发时用ant命令来安装构件。
原理是将首先将XFire们归纳成构件,安装时将构件目录下的jar及template文件加入到新项目中,并执行构件目录的build.xml中的pre-install和post-install安装指令,使用邪恶的向导进行必要的字符替换。
同时将设计运行架构的框架化:类似于Geronimo使用GBean机制组装开源项目作为应用服务器,SpringSide中也可以充分利用Spring的IOC,生命周期及JMX Export功能对控件进行统一化接入。
其实很多项目都已作了与Spring的集成,要考虑的是如何更标准化,看能不能做得更好。另外看看普元EOS,还有OSGi有什么值得借鉴的地方。
3.SOA(ESB,WebService,JMS)
SOA已经成为事实的潮流,SS2必将支持ESB体系,以及把业务层WebService化,JMS化。
4. JBpm与表单流,业务流的整合
JBpm对于自动化的支持很好,但对OA式的审批流,页面流则没有支持,JBoss Seam已开始了这方面的动作。
5. 项目与代码的快速生成
自从自己基于SpringSide 1.0,花了半天才搭建了一个小demo程序后,就意识到SS1.0在快速开发上的帮助不大,所以才有了SpringSide2.0,和它最主要的目标--快速开发。
项目初始化的ant脚本以写完,CRUD代码生成器及模型的设计还要参考ROR与JBoss Seam等技术,尽量做得得体一点,而不是无名无姓的Yet Another Code Generator。