Restful Webサービスは、インフラストラクチャを再利用するための正しい方法ですか?
-
19-09-2019 - |
質問
Web API(Restful Service)を使用して、リモートインフラトゥアーにアクセスする際には、1つの論争があります。コメントできれば感謝します。記事からの推奨事項 「Restful Web Services vs. "Big" Webサービス:適切なアーキテクチャの決定を下す」 1]は、アドホック統合(マッシュアップ)および迅速なプロトタイピングにむしろWeb APIを使用することです。 [2]で行われた経験的研究は、これらの推奨事項が既存の情報と機能を再利用するシナリブで続いていることを示しています。ただし、Web APIでインフラストラクチャを再利用することは、アドホック統合のタスクにうまく適合しません。私の印象は、むしろ、私が持っているリソースが私が解決したい問題のために十分に拡大しないシナリオでは通常、インフラストラクチャが再利用されるということです。多数のデータ、高い帯域幅、高い並行性です。それにもかかわらず、Amazonは、以下を介してインフラストラクチャ(ストレージスペース、メッセージキューイング)へのリモートアクセスを提供します。
- クラシックソープWebサービス(いわゆるBig Webサービス)と
- Light Restful Webサービス(いわゆるWeb API)。
クライアント(Amazon Webサービスのケーススタディに記載されている)が大きなWebサービスまたはWeb APIを使用しているかどうかは何も書かれていませんが、Amazonが代替としてWeb APIの形式でのインフラストラクチャへのアクセスを提供しているという事実は意味のあるものでなければなりません。
あなたは彼らの動機が何であるか知っていますか?迅速なプロトタイピングのためだけに人々がインフラストラクチャを再利用した場合を知っていますか?または多分テストのために?言い換えれば、Amazonが提供するインフラストラクチャを再利用したい場合、どのAPIスタイルをどのような状況で使用するか、どのような状況で休憩する必要がありますか?
編集:この場合、インフラストラクチャとしての私が意味するインフラストラクチャとして:ストレージスペース、計算能力、インターネット帯域幅。したがって、そのようなリソースがアドホック統合で再利用されているのではないかと思います。
Cesare Pautasso、Olaf Zimmermann、Frank Leymann、 RESTFUL WEB SERVICES vs.「Big」Web Services:適切なアーキテクチャの決定を下す, 、pp。805-814、Jinpeng Huai、Robin Chen、Hsiao-Wuen Hon、Yunhao Liu、Weiying Ma、Andrew Tomkins、Xiaodong Zhang(ed。)、 第17回国際ワールドワイドウェブ会議の議事録, 、ACM Press、北京、中国、2008年4月。
Hartmann、Bjorn&Doorley、Scott&Klemmer、Scott R. ハッキング、マッシング、接着:日和見デザインの理解, IEEE Pervasive Computing 、Vol。 7、いいえ。 3、46-54(2008)。
解決
どのバージョンを使用するかを理解するための鍵は、1つのことを理解することにあります - 深く埋め込まれたオブジェクト階層を使用してWeb上で複雑な操作を実行する必要がある場合、Webサービスの使用を効果的に強制されます。簡単な操作を実行することに関しては、休息は非常に能力がありますが、複雑な操作はその任務の外で壊れます。
私は通常、ブラウザコマンドバーを介してコマンドを呼び出すだけでテストできるRestfulシステムとして想像したいと思っています。 RESTFULアプリケーションはテストが非常に簡単で、一般的にモッキングによるテストに非常に適しています。
他のヒント
Restful Webサービスで既存のインフラストラクチャを活用することについて人々が話すとき、彼らはWebサービス用に特別に構築されたソフトウェアを使用するのではなく、Web用に設計された既存のものを使用できることを意味します。たとえば、RESTを使用してWebサービスを持っている場合、HTTPキャッシュプロキシなどを利用できます。
安静は石鹸よりも使いやすいです。 FWIW、GoogleはもうSOAPを使用していません、それはすべて休息です。
石鹸の唯一の利点は、箱から出してすぐに使用するオブジェクトを取得することです。休息をとると、これらのオブジェクトを作成するためにJax-RSのようなフレームワークが必要であるか、手動でそれらを解析する必要があります。
休息のもう1つの大きな利点は、アクセスログに実際にリクエストを確認できることです。ほとんどのSOAP要求はまったく同じエンドポイントに投稿されるため、何をしようとしているのかを判断するのが難しいです。一方、休憩は通常、特定のエンドポイントに投稿するため、派手なアプリが必要な場合、実際にWebブラウザーからヒットすることができます。