【发布时间】:2017-03-26 10:02:35
【问题描述】:
在我们的企业内部网中,我们有一些端点服务平台,如 BPM、文档管理系统等。这些端点服务公开了 REST API。我们使用 AngularJS 作为前端开发 Web 应用程序。
关于如何从 AngualJS 调用这些端点服务,有两种选择。
选项 1:鉴于这些端点服务公开 REST,直接从 AngualrJS 调用这些 REST API。
选项 2: 引入中间层(在 WebLogic 或 Tomcat 等应用服务器上)。构建调用端点 REST API 的 Java 应用层;并将其托管在这个 millde 层上。 AngularJS 调用这个中间层提供的 REST;这个中间层反过来调用端点 REST。
我个人更喜欢选项 1;但是 我邀请您就此事发表意见。我已经列出了选项 1 的优缺点。
选项 1 的优点:
- 在 HTTP 请求少一跳的情况下获得更好的性能(吞吐量)。
- 减少了一个组件,从而减少了开发/部署工作量。
- 故障点数量较少。如果有问题,我们会在 AngualrJs 或最终服务中知道它。
选项 1 的缺点:
- 安全问题?对此不确定 - 希望专家对此进行评估。
- CORS:最终服务将需要启用 Access-Control-Allow-Origin 到适当的域。
- 记录不佳?如果出现问题,日志将仅在用户计算机(IE/Chrome 开发工具)或终端服务上可用。
- AngualJS 层处理过多?这个处理主要是解析来自终端服务的结果。这还取决于所使用的终端服务类型。
【问题讨论】:
标签: java angularjs rest architecture