大家提提建议,从单用户应用到多用户平台应用的拓展的最佳实践

已开发一个基于单个数据库用户(Oracle)的完整WEB应用,是为单个企业服务的小型ERP系统。现想把这个应用进行扩展,做成一个支持多个企业服务平台。
其中每个企业的数据需要单独存放,因为应用可对部分表进行个性化扩展(增加字段),同时也便于管理维护和出于安全性考虑。
当然新平台还需包括建用户,初始化数据的功能,以及对多个用户的数据进行汇总的功能。

原系统开发采用的是Spring+Hibernate框架,数据规模为50个表,总共200万条,并发在线用户为30个人。

现在还在方案设计、论证阶段,其中有很多技术上的问题需要解决,大家多提建议。
1.平台是做成一个管理WebApp+多个企业WebApp,还是全部就一个WebApp?如果是一个WebApp,那Spring、Hibernate的配置需要动态处理,是否可行。多个WebApp只要复制部署就可以了。
2.从经济、实用的角度准备先配一台服务器,客户多了再考虑群集扩展。初步确定用Resin、Tomcat之类的,是否可行?
3.数据汇总是从数据库直接汇总(不太好吧)还是有更好的办法?

一个或几个WebApp都是形式问题,关键是要实现业务组件封装,比如众多企业ERP中肯定有一些模块功能是相同,可以重用。而且这些重用模块组件功能修改一次,全部起效,实际上就是发挥Java的可复用组件和集群计算两大优势。

具体可以使用SOA技术,无论多个WebAPP或一个webapp都是SOA的客户端,所以,做大系统就不是以前做一个小Web系统那样,需要更高视野,不能只是局限于SSH+tomcat那个小打小闹了。

谢谢banq,我先了解下SOA及其应用实践看看是否合适。