5

Web API (RESTful サービス) を使用してリモート インフラストラクチャにアクセスすることに関して、1 つの論争が見られます。コメントいただけると助かります。記事「RESTful Web Services vs. "Big" Web Services: Making the Right Architecture Decision」からの推奨事項[1] は、アドホックな統合 (マッシュアップのようなもの) とラピッド プロトタイピングではなく、Web API を使用することです。[2] で行われた実証研究は、既存の情報と機能を再利用するシナリオでこれらの推奨事項が守られていることを示しています。ただし、Web API でインフラストラクチャを再利用することは、アドホックな統合のタスクにはうまく適合しません。私の印象では、インフラストラクチャは通常、私が解決したい問題 (大量のデータ、高帯域幅、高い同時実行性) に対して、私が持っているリソースが適切に拡張されないシナリオで再利用されます。それにもかかわらず、Amazon はインフラストラクチャ (ストレージ スペース、メッセージ キューイング) へのリモート アクセスを次の両方を通じて提供しています。

  • 従来の SOAP Web サービス (いわゆるビッグ Web サービス) および
  • 軽い RESTful Web サービス (いわゆる Web API)。

クライアント (Amazon Web Services のケース スタディで説明) がビッグ Web サービスを使用するか、Web API を使用するかについては何も書かれていませんが、Amazon が代わりに Web API の形でインフラストラクチャへのアクセスを提供しているという事実は意味があるに違いありません。

何が彼らの動機になるか知っていますか? ラピッド プロトタイピングのためだけにインフラストラクチャを再利用した事例を知っていますか? それともテスト用ですか?つまり、Amazon が提供するインフラストラクチャを再利用したい場合、SOAP と REST のどちらの API スタイルを使用すればよいでしょうか? たとえば、どのような状況でしょうか?

編集:この場合、私が意味するインフラストラクチャとして:ストレージスペース、計算能力、インターネット帯域幅。したがって、そのようなリソースがアドホック統合で再利用されるのではないかと思います。


  1. Cesare Pautasso、Olaf Zimmermann、Frank Leymann、RESTful Web Services vs. "Big" Web Services: Making the Right Architectureal Decision、pp. 805-814、Jinpeng Huai、Robin Chen、Hsiao-Wuen Hon、Yunhao Liu、Wei-Ying Ma 、Andrew Tomkins、Xiaodong Zhang (Ed.)、Proceedings of the 17th International World Wide Web Conference、ACM Press、北京、中国、2008 年 4 月。

  2. Hartmann、Bjorn & Doorley、Scott & Klemmer、Scott R.、Hacking、Mashing、Gluing: Understanding Opportunistic DesignIEEE Pervasive Computing、vol. 7、いいえ。3、46-54(2008)。

4

3 に答える 3

2

使用するバージョンを理解するための鍵は、1 つのことを理解することにあります。深く埋め込まれたオブジェクト階層を使用して Web 上で複雑な操作を実行する必要がある場合は、事実上、Web サービスの使用を余儀なくされます。REST は、単純な操作の実行に関しては非常に優れていますが、複雑な操作はその権限を超えています。

私は通常、RESTful システムを、ブラウザーのコマンド バーからコマンドを呼び出すだけでテストできるシステムとして想定するのが好きです。RESTful アプリケーションは非常に簡単にテストでき、一般的にモックによるテストに非常に適しています。

于 2009-12-16T14:10:15.557 に答える
1

REST は SOAP よりもはるかに使いやすいです。FWIW、Google はもう SOAP を使用しません。すべて REST です。

SOAP の唯一の利点は、すぐに使用できるオブジェクトを取得できることです。REST では、JAX-RS などのフレームワークを使用してこれらのオブジェクトを作成するか、手動で解析する必要があります。

REST のもう 1 つの大きな利点は、アクセス ログで実際にリクエストを確認できることです。ほとんどの SOAP リクエストはまったく同じエンドポイントに POST するため、何をしようとしているのかを判断するのは非常に困難です。一方、REST は通常、特定のエンドポイントに投稿するため、派手なアプリを必要とせずに Web ブラウザーから実際にアクセスできます。

于 2009-12-17T07:29:15.727 に答える
1

RESTful Web サービスで既存のインフラストラクチャを活用することについて人々が話すとき、それは、Web サービス用に特別に構築されたソフトウェアを使用する必要はなく、Web 用に設計された既存のものを使用できることを意味していると思います。たとえば、REST を使用する Web サービスがある場合、HTTP キャッシング プロキシなどを利用できます。SOAP で同等の機能を取得するには、特別なものが必要になります。

于 2009-12-16T14:11:08.880 に答える