我正在构建一个需要与多个(两个或三个)现有 RESTful API 进行通信的 Web 应用程序。每个 API 提供不同的数据和功能。Web 应用程序本质上会将 API 粘合到一个用户界面中。
基于这种情况,我有几个问题:
- 这很常见吗?
- 这是不好的做法还是不好的架构?如果是这样,有哪些替代方案?
- (下图#1)我想使用 JavaScript + AJAX 与这些 API 进行交互。我会向不同的域发出 AJAX 请求,并使用不同的绝对 URL 来处理它们吗?例如,http://api1.domain.com/something,http://api.domain.com/something_else
- (下图#2)我是否应该让我的后端控制器与这些 API 交互,然后让我的前端 (JavaScript) 与我的应用程序的控制器交互,而不是 (3)?本质上,这将是一个门面。
我正在研究 SOA,如果我听起来很无知,请原谅我。FWIW,我打算使用 Ruby on Rails。
图#1:
图#2: