【问题标题】:Using Node.js along with old Java Web application (Spring MVC)将 Node.js 与旧的 Java Web 应用程序(Spring MVC)一起使用
【发布时间】:2014-12-23 05:27:56
【问题描述】:

我有一个现有的网络应用程序。它在后端使用 Tomcat 和 MySQL 上的 Spring MVC 以及事务(多表更新)。我还在使用 spring security 进行基于角色的授权。这是一个非常典型的网站,没有任何实时通知、聊天等。

现在我的客户想要添加实时通知,如 Facebook、聊天模块等。通常在前端会采取一些行动,所有或特定登录用户都需要得到通知。收到通知后,我需要更新一些<div> 的内容。频率会很高。 (目前用户需要刷新浏览器。)

我使用 Node.js/Express 完成了 POC,看起来使用 Node.js 完成这两件事很容易。

我有 3 个选择:

  1. 将前端移至 Node.js,可能是 Angular.js。通过 Node.js/Angular.js 管理表单验证/安全性,但所有数据库调用仍由我的旧网站(以 RESTful 方式)管理,因为我可以重用现有的东西。大多数方法调用都返回一个 tile,但我们可以轻松转换为返回 JSON 对象。
  2. 保持现有网站不变,并将 Node.js 插入其中,仅用于实时通知/聊天等。
  3. 废弃现有网站并重做一切,包括使用 Node.js 的安全性和交易。有很多帖子说 Node.js 有点新,不适合企业应用程序,而且这可能太多了。

方法 2 将是我的首选方法,因为我们在 Spring 方面拥有专业知识,Node 对我们来说是全新的,但我不知道它是否实用可行,我可能会遇到什么样的问题面对。我也不确定如何将运行在 Tomcat 和 Node.js 上的 Spring MVC 集成在一起。

请任何人帮助我决定,在这三个中,最好的方法是什么?还有其他更简单的方法吗?

【问题讨论】:

  • 请注意,Spring MVC 还支持 WebSockets 和其他现代连接选项,并且 Spring Session 使得跟踪用户状态非常容易。
  • Spring 已经支持 SockJS。谷歌一下。我认为您不需要实施新事物。 Spring SockJS 也将满足您的需求。

标签: node.js spring spring-mvc tomcat7


【解决方案1】:

您已经拥有一个现有的 Spring MVC 代码库并且可以重用它。但是,您可以继续使用 AngularJS 作为您的前端技术。您的前端 AngularJS 代码可以通过 REST api 与您现有的 Spring MVC 通信,也可以与 NodeJS 通信以获取您计划开发的实时功能。 您需要在 NodeJS 中使用 Socket.io,它将提供您正在寻找的功能。

在与两个不同的后端堆栈交谈时,您可能面临的一个主要问题与会话有关。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    • 2016-05-06
    • 2013-03-26
    • 1970-01-01
    相关资源
    最近更新 更多