Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.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
一个web应用程序使用多个RESTful API?_Api_Rest_Web Applications_Soa_Restful Architecture - Fatal编程技术网

一个web应用程序使用多个RESTful API?

一个web应用程序使用多个RESTful API?,api,rest,web-applications,soa,restful-architecture,Api,Rest,Web Applications,Soa,Restful Architecture,我正在设计一个需要与多个(两个或三个)现有RESTful API通信的web应用程序。每个API提供不同的数据和功能。web应用程序本质上将API粘合到一个用户界面中 基于这种情况,我有几个问题: 这是常见的吗 这是糟糕的做法还是糟糕的架构?如果是,, 有哪些替代方案 (下图1)我想使用JavaScript+AJAX与这些API交互。我会向不同的域发出AJAX请求,用不同的绝对URL对它们进行寻址吗?e、 g (下图2)而不是(3),我应该让后端控制器与这些API交互,然后让前端(JavaScr

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

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

  • 这是常见的吗
  • 这是糟糕的做法还是糟糕的架构?如果是,, 有哪些替代方案
  • (下图1)我想使用JavaScript+AJAX与这些API交互。我会向不同的域发出AJAX请求,用不同的绝对URL对它们进行寻址吗?e、 g
  • (下图2)而不是(3),我应该让后端控制器与这些API交互,然后让前端(JavaScript)与应用程序的控制器交互吗?本质上,这是一个门面
  • 我正在钻研SOA,所以请原谅我的无知。我计划使用Ruby on Rails

    图1:

    图2:


    通常,restful api是应用程序核心的前端,如果需要,我不介意使用不同的restful api。一些restful API(如jersey)非常容易在任何标准JavaEEWeb容器中使用,以服务于常见情况。其他restful(-ish)API(如play、lift等)适合异步服务comet请求,从而在单个工作站上实现高性能

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