0

我正在构建一个需要与多个(两个或三个)现有 RESTful API 进行通信的 Web 应用程序。每个 API 提供不同的数据和功能。Web 应用程序本质上会将 API 粘合到一个用户界面中。

基于这种情况,我有几个问题:

  1. 这很常见吗?
  2. 这是不好的做法还是不好的架构?如果是这样,有哪些替代方案?
  3. (下图#1)我想使用 JavaScript + AJAX 与这些 API 进行交互。我会向不同的域发出 AJAX 请求,并使用不同的绝对 URL 来处理它们吗?例如,http://api1.domain.com/somethinghttp://api.domain.com/something_else
  4. (下图#2)我是否应该让我的后端控制器与这些 API 交互,然后让我的前端 (JavaScript) 与我的应用程序的控制器交互,而不是 (3)?本质上,这将是一个门面。

我正在研究 SOA,如果我听起来很无知,请原谅我。FWIW,我打算使用 Ruby on Rails。

图#1:

在此处输入图像描述

图#2:

在此处输入图像描述

4

1 回答 1

1

通常,restful api 是应用程序核心的前端,如果需要,我不介意使用不同的 restful api。一些像 jersey 这样的 api 非常容易在任何标准的 Java EE Web 容器中使用,这些容器服务于常见的情况。其他 restful(-ish) api,如 play、lift 等,适用于异步服务彗星请求,从而在单个工作站中产生高性能。

就不同的域而言,这可以抽象到一个域后面,让您的代理服务器进行负载平衡、https 包装等。

于 2012-07-18T17:10:22.123 回答