Web App Architecture design with REST on Java Stack



我计划在REST API之上构建Web应用程序。我一直在考虑两种不同的方法来编写用于控制视图、用户会话管理等的 Web UI 层。

一种方法:只需使用Angular或类似的框架在Javascript中编写所有内容。但是,我在这里看到的问题是,用户会话管理,而且将所有内容公开给客户端可能不是个好主意。我认为任何对网页设计有良好了解的人都可以找到javascript逻辑和终点。

第二种方式:在REST上编写一个瘦控制器和用户会话管理层,可能是Spring web mvc项目/Node JS等,并从那里控制一切。 但是,我在这里看到的问题是,我们必须在这里有一些端点查找逻辑,以将 web ui 请求映射到 REST 端点。每次添加更多端点时,我们还必须维护该目录。此外,JSON 将经历许多转换,这可能会增加一些开销。

任何人都可以为此提出一些架构想法吗?我在这里错过了什么吗?我们可以在REST上编写安全的Javascript Web UI层吗?

我也在考虑使用像 RabbitMQ 这样的消息代理来扩展它。任何建议不胜感激。

提前谢谢。

您应该首先决定如何在客户端和服务器之间划分职责。您希望服务器做什么,您希望客户端做什么?您已经发现服务器应该隐藏敏感信息,以确保应用程序的安全。您还需要从服务器获得什么吗?如果有数据库,您可能还希望让服务器处理对该数据库的所有访问。

请注意,还有一些替代方案,例如Firebase,它们为您负责后端,而您主要专注于前端。可能会为您节省大量身份验证和数据访问工作。

您还需要考虑他们将使用哪种沟通方式?如果是请求-响应,那么 REST 是合适的。如果是某种双向消息,例如聊天,我建议看看Meteor。在 Meteor 中,你用 Javascript 编写前端、后端和移动。

提到你担心必须经常转换你的 Json。如果你使用NodeJS在服务器端做,这个问题就会消失。它是服务器端的Javascript。

实现应用程序的方法有很多种。您可以更详细地了解您要做的事情,然后我们可能会推荐更适合您的框架。

最新更新