Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 基于Java堆栈的Web应用程序体系结构设计_Angularjs_Spring_Rest_Web_Architecture - Fatal编程技术网

Angularjs 基于Java堆栈的Web应用程序体系结构设计

Angularjs 基于Java堆栈的Web应用程序体系结构设计,angularjs,spring,rest,web,architecture,Angularjs,Spring,Rest,Web,Architecture,我计划在RESTAPI之上构建web应用程序。我一直在考虑两种不同的方法来编写web UI层,用于控制视图、用户会话管理等 一种方法是:使用Angular或类似的框架用Javascript编写所有内容。但是,我在这里看到的问题是,用户会话管理,而且向客户端公开所有内容可能不是一个好主意。我认为任何对网页设计有很好了解的人都可以找到javascript逻辑和端点 第二种方法:在REST上写一个瘦控制器和用户会话管理层,可能是SpringWebMVC项目/节点JS等,然后从那里控制一切。但是,我在这

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

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

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

有人能为这个提出一些架构想法吗?我有什么遗漏吗?我们可以在REST上编写安全的Javascript web ui层吗

我还考虑使用RabbitMQ这样的消息代理来扩展它。如有任何建议,我们将不胜感激


提前谢谢

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

请注意,还有一些替代方案,例如,他们为您处理后端,而您主要关注前端。可能会在身份验证和数据访问方面为您节省大量工作

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

您提到您关心的是必须经常转换JSON。如果您使用NodeJS执行服务器端操作,这个问题就会消失。它是服务器端的Javascript


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

第一条建议是一篇非常好的文章:感谢您的评论和分享。这就像获取OAuth令牌和保护资源一样。如果我们必须维护与会话相关的数据,那么应该在redis之类的存储中吗?谢谢您的建议。它给了我一些思考的想法。非常感谢你。我想做的是,为web和移动设备构建一个通用的后端服务器基础设施。你能描述一下你正在构建的应用程序吗?您在这里提供的详细信息越多,您对体系结构和框架选择的建议就越好。