2012-02-03 140 views
2

我需要了解在新项目中使用的体系结构。我们希望使用GWT & spring mvc作为基础。 另外,我们在领域模型中有大约100个实体,这些实体需要坚持DB。所以我们可能会使用Hibernate作为ORM解决方案。春季企业Web应用程序的体系结构

  1. 我不明白我们应该使用哪个应用程序服务器?在我们的案例中,我们能够获得tomcat还是企业应用程序的最佳解决方案?请推荐我。

  2. tomcat如何提供http请求,需要通过hibernate进行数据库操作?

  3. 当spring applicationContext.xml被读取?是否在每个http请求期间?

  4. 使用Spring + Hibernate + JPA是中等负载应用程序的快速方法吗?

回答

1
  • 1)Tomcat是一个很好的 - 很难说什么是最好的
  • 2)Tomcat的只是一个servlet容器。数据库访问必须由你在你的服务器端应用程序
  • 3)在启动时
  • 4)不可能说,你是什么意思的中间加载,我的用例.... - Spring将不会对运行时性能造成太大的影响:所以最终的问题是,JPA Objct关系映射器是否足够快 - 在很多情况下是这样。

请询问建设性的问题,我只回答,因为问题的3

2

我有两个项目,利用这些技术来实现:

  • 的Apache Tomcat
  • 的PostgreSQL
  • 休眠
  • JPA
  • 春季安全
  • JAX WS
  • GWT
  • MVP4g

我只使用Spring将所有技术放在一起。

我有两个不同的应用程序,我想分享在这些应用程序中一起使用这些技术的经验。这两个应用程序在服务器上都没有困难的逻辑,即使在第二个应用程序中,所有的逻辑都放在了客户端上,而服务器只是将数据存储到/从数据库获取数据。GWT解决了这个问题。我认为,服务器上的最低计算是最适合云应用程序的。

1,第一个是监控系统,这是建来解决这些任务:

  • 收集来自主公司服务器的统计信息(从每30secs每5分钟)

  • 做一些简单的计算在服务器端

  • 的数据存储在数据库

  • 显示在最终用户的图形表达(我的大学,拨号器等)

所以,主要的问题是获取和显示在图表中的数据的大金额,这是存储在一个表这个数据(每5天约1百万行)。我们必须在一张图上显示5k到20k点,并定期重新加载此图以从服务器获取实际信息。我们决定使用hibernate + jpa,但我认为这不是最好的方式,因为我们开始从获取和发送10k +行中获得问题。

所以,我们决定从春天+迁移休眠+ JPA到弹簧+ JDBC因为它比第一次更快,我的情况下使用更少的内存。因此,最好是不使用Hibernate如果您:

  • 有几个entites的(在我的情况6)
  • 具有大数据量
  • 需要快速负载

一定要记住你需要得到尽可能从数据库,你可以更少的数据,使用不同的过滤器等(它没有我的情况下工作,因为我必须证明尽可能多的信息,我可以有操作员最好的统计数据,但你也可以用数学来平均一些数值,数字等)

至于客户端,谷歌图表与GWT工作得很好。当应用程序被放置在本地网络中时,我们在客户端载入大量数据时没有问题。 我在云端部署了应用程序(Jelastic),仅用于测试,并且由于在很短的时间内大量数据传输而面临缓慢的客户端负载。

2.第二个应用程序是用于管理销售,订单,联系人等云应用:

它始建于解决这些任务:

  • 快速存储,获取,计算数据
  • 用户提供简单而愉快的界面操作任务,上面

提到这个程序没有服务器端的逻辑。服务器只能从数据库中获取和存储数据。 我们devided应用与行家的帮助下几个模块(实体+ DAOS,春季服务和Web GWT)。

所以冬眠,因为我们有实体的大ammount的,而不是大表+ JPA是演技不错这里。此外,所有客户端网格都具有加载少于100行的默认过滤器,用户也必须过滤他的搜索。所以,在Hibernate + JPA使用在这个项目的情况下,我有相反的方向:

  • 数据transferings的少量
  • 实体

至于GWT的大金额,这是伟大的编写客户端纯Java的端逻辑,调试代码和刷新页面测试新创建的逻辑。 我也建议你使用MVP4g作为模型视图主持人框架建立GWT应用程序中的正确的方式:)它确实简化了开发过程和代码unerstanding。

至于tomcat的我们在这两个项目没有什么大的问题了。

我想这些基本的建议将帮助你建立好项目! 祝你好运!

+0

感谢您的帮助!我们的新项目与您的第一个项目相似,但数据量会更少。因此,让我问几个问题。提到你在图表中显示数据。 Google Charts可以显示图表吗?我需要展示一个有节点和边缘的网络。 – 2012-02-04 09:02:54

+0

第二个问题 - 我即将使用GWT 2.4。所以它嵌入了mvp框架。我应该选择哪一个和mvp4g? – 2012-02-04 09:05:28

+0

对不起,我误解了关于图的问题,我不是母语的人,我在谈论图表:)只是注释时间表,区域和饼图。我不能说在GWT本地MVP是坏的,但我更喜欢mvp4g。你最好试试几个框架,然后决定哪一个更适合你。此外gwt平台是一个不错的。我可以添加更多内容 - 阅读gwt请求工厂 - 从gwt 2.1开始,将客户端连接到服务器的第二种方法。在下一个项目中,我将使用请求工厂而不是RPC。 GL! – BraginiNI 2012-02-04 19:47:55

相关问题