Hibernate spring企业web应用程序的体系结构

Hibernate spring企业web应用程序的体系结构,hibernate,spring,tomcat,jpa,architecture,Hibernate,Spring,Tomcat,Jpa,Architecture,我需要了解新项目中使用的架构。我们希望使用GWT和SpringMVC作为基础。 此外,我们在域模型中有大约100个实体,它们需要在数据库中持久化。因此,我们可能会使用Hibernate作为ORM解决方案 我不明白我们应该使用什么应用服务器?我们能得到tomcat吗?或者在我们的情况下,有适合企业应用程序的最佳解决方案吗?请推荐我 tomcat如何服务http请求,这些请求需要通过hibernate进行数据库操作 何时读取spring applicationContext.xml?是否在每个htt

我需要了解新项目中使用的架构。我们希望使用GWT和SpringMVC作为基础。 此外,我们在域模型中有大约100个实体,它们需要在数据库中持久化。因此,我们可能会使用Hibernate作为ORM解决方案

  • 我不明白我们应该使用什么应用服务器?我们能得到tomcat吗?或者在我们的情况下,有适合企业应用程序的最佳解决方案吗?请推荐我

  • tomcat如何服务http请求,这些请求需要通过hibernate进行数据库操作

  • 何时读取spring applicationContext.xml?是否在每个http请求期间

  • 使用Spring+Hibernate+JPA是中负载应用程序的快速方式吗

    • 1) Tomcat是一个很好的例子——很难说什么是最好的
    • 2) Tomcat只是一个Servlet容器。数据库访问必须由您在服务器端应用程序中处理
    • 3) 启动时
    • 4) 很难说,你所说的中间负载是什么意思,我所说的用例是什么Spring对运行时性能的影响不会太大:所以最后的问题是,JPA Objct关系映射器是否足够快——在许多情况下确实如此

    请提出建设性的问题,我只回答了问题3,因为我有两个项目,使用这些技术实施:

    • ApacheTomcat
    • PostgreSQL
    • 休眠
    • JPA
    • 弹簧
    • Spring security
    • JAX-WS
    • GWT
    • MVP4g
    我使用Spring只是为了将所有技术组合在一起

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

    1。第一个是监控系统,用于解决这些任务:

    • 从公司主服务器收集统计信息(每30秒到每5分钟一次)

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

    • 在数据库中存储数据

    • 以图形表示的形式为最终用户(我的学院、拨号器等)显示此数据

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

    因此,我们决定从spring+hibernate+jpa迁移到spring+jdbc,因为在我的例子中,它的工作速度比第一个更快,占用的内存更少。因此,如果您:

    • 几乎没有实体(在我的案例6中)
    • 数据量大
    • 需要快速加载
    始终记住,您需要使用不同的过滤器等从db获取尽可能少的数据(在我的情况下,这不起作用,因为我必须显示尽可能多的信息,以便为操作员提供最佳统计数据,但您也可以使用数学来平均一些值、数字等)

    至于客户端,GoogleCharts与GWT配合得相当好。由于应用程序被放置在本地网络中,我们在客户端加载大量数据时没有问题。 我将应用部署在云中(),只是为了测试,由于在短时间内传输大量数据,因此客户端加载速度很慢

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

    它是为了解决这些任务而构建的:

    • 快速存储、获取、计算数据
    • 为用户提供简单愉快的界面来操作上述任务
    此应用在服务器端没有逻辑。服务器仅从数据库获取和存储数据。 在maven(实体+DAO、spring服务和web GWT)的帮助下,我们将应用程序分成了几个模块

    所以hibernate+jpa在这里表现不错,因为我们有大量的实体,而没有大的表。另外,所有客户端网格都有默认过滤器,加载的行数少于100行,用户还必须过滤他的搜索。因此,在本项目中使用hibernate+jpa的情况下,我有相反的方向:

    • 少量数据传输
    • 大量实体
    至于GWT,在纯Java上编写客户端逻辑、调试代码并通过刷新页面来测试新创建的逻辑非常棒。 我还建议您使用as model view presenter framework以正确的方式构建GWT应用程序:)它确实简化了开发过程,并且代码不可读

    至于tomcat,我们在这两个项目中都没有大问题

    我认为这些基本的建议将帮助你建立一个好的项目!
    祝你好运

    谢谢你这么有帮助的回复!我们的新项目与您的第一个项目类似,但数据量将减少。因此,让我问几个问题。提到您在图表中显示了数据。谷歌图表可以显示图表吗?我需要展示一个有节点和边的网络。第二个问题——我将要使用GWT2.4。因此,它具有嵌入式mvp框架。我应该选择哪一个和mvp4g?对不起,我搞错了图形,我不是母语人士,我说的是图表:)只是注释的时间线、面积和饼图。我不能说GWT中的原生mvp不好,但我更喜欢mvp4g。你最好尝试几个框架来决定哪一个更适合你。gwt平台也是一个不错的平台。我可以再补充一件事——阅读GWTR