关于技术选型的问题

最近项目组里接到集团公司的一个重大任务。
公司准备开发一个大型社区网站,需要项目组里出技术方案。
项目组对技术方案首先选择了Java。
但是对框架的选择上有些不一致。
在控制层有的要用struts2,有的认为springMVC 3.0.
在ORM上。。有的支持hibernate,有的支持ibatis。
BEAN管理上大家倒是很一致的决定使用spring作为管理器。

其实最大的差异在ORM的选择上.
我其实比较趋向于ibatis。
但是就不知道ibatis在集群环境下会不会有问题。
比如它的一些事务处理,设计模式。缓存策略等等。

有人有过类似的实践经验吗?分享一下。

企业架构和社交媒体web.20架构是不一样的。

企业架构性能不是至上,精确不出错是至上;而社交媒体架构是可伸缩性性能至上,因为社区系统用户是不断增加的。

JavaEE架构是企业软件架构,包括关系数据库,都不是非常适合社交媒体架构,你提及的几个技术是企业软件架构。

社交媒体或称社会媒体架构可以参考facebook twitter等软件技术,又很多资料参考,当然首先了解 CAP原理

楼上讲的非常是,并且这是一个常识但是很多新手儿都不知道...

第一次听到这样的回复,让我很兴奋。banq 太棒了。

大型网站...
其实无论大型的什么,
都不推荐使用springMVC,
原因有2
1,设计过渡,虽然很多“现成”的父类,不过挑起来有些麻烦;
而且再之后的调试中也会因为父类的“各种各样”带来“各种各样”的代码。不容易统一代码。

2,get/post隔离,虽然带来了一些好处。但是如果要求有变化,那么改动代码的量会很大。
(我之前的一个项目就是用的post,但是用浏览器的后退按钮就会报“失效”的错误,
客户要求能用后退,结果...只能放着耍无赖了。等第2版改成struts2的了就)

什么东西都有好有坏,
看lz的需求了。

不过术业有专攻,还是建议用struts1/2来处理M模块的程序

ORM个人比较喜欢ibatis,
半自动ORM,感觉可以(很容易的)掌控开发细节。
包括sql等等,
(只是hibernate没用过,所以没有比较的意思)
关于“事务处理”,之前是放在spring里配置的,所以没接触到ORM
关于“设计模式”,到了程序员手里应该不用考虑了吧,否则构架师...
关于“缓存策略”,没怎么接触过,不表态了就。呵呵

good luck