使用Node.js和旧的Java Web应用程序(Spring MVC)

我有一个现有的Web应用程序。 它在Tomcat和MySQL的后端使用Spring MVC进行事务处理(多表更新)。 我也使用弹簧安全进行基于角色的授权。 这是非常典型的网站,没有任何实时通知,聊天等。

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

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

我有3个选项:

  • 将前端移动到Node.js并且可能是Angular.js。 通过Node.js / Angular.js管理表单验证/安全性,但所有数据库调用仍由我的旧网站管理(以RESTful方式),因为我可以重复使用现有的东西。 大多数方法调用返回一个tile,但我们可以很容易地转换为返回JSON对象。
  • 保持现有的网站不变,并将Node.js插入其中,仅用于实时通知/聊天等。
  • 废弃现有网站并重做所有事情,包括安全性,使用Node.js的交易。 有很多帖子说Node.js是一种新的,不适合企业应用程序,也可能太多了。
  • 方法2是我首选的方法,因为我们在Spring中拥有专业知识,Node对我们来说是全新的,但我不知道它是否实用和可行,我可能面临哪些类型的问题。 我也不确定如何将运行在Tomcat和Node.js上的Spring MVC集成在一起。

    请任何人都可以帮助我做出决定,三者中最好的方法是什么? 任何其他方法可能更容易?


    你已经有了一个现有的Spring MVC代码库,你可以重用它。 不过,您可以继续使用AngularJS作为您的前端技术。 您的前端AngularJS代码可以通过REST API与您现有的Spring MVC进行通信,并且可以与NodeJS讨论您计划开发的实时功能。 您需要在NodeJS中使用Socket.io,它将提供您正在寻找的功能。

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

    链接地址: http://www.djcxy.com/p/67109.html

    上一篇: Using Node.js along with old Java Web application (Spring MVC)

    下一篇: MVC Confused about where to put logic.