4

昨日私は面接を受けましたが、興味深い質問に直面しました。「Restful Web サービスが Web サービスであるとどのように言えますか?」という質問。私は証明するすべての可能な方法を説明しようとしていました. しかし、「サーブレットでも同じことができます。サーブレットは安らかな Web サービスですか?」という質問によって、すべての回答が妨げられました。

誰でもあなたの考えを共有できますか?

4

6 に答える 6

0

答えはかなり明白だと思うので、彼らがあなたに与えた質問は少し独特です. SOAP ベースのサービスと REST フル サービスの両方が、トランスポート メカニズムとして HTTP を使用するため、事実上、それらは Web サービスです。

それらの違いは、SOAP ベースのサービスが仕様によってより厳密に定義されていることです。REST フル サービスは、実装の制約が少ないアーキテクチャ スタイルに似ています。

于 2013-09-14T11:53:05.457 に答える
0

サーブレットを使用して RESTful Web サービスを設計することもできます。

サーブレットは、HTTP 要求に対する HTTP 応答を作成するのに役立ちます。RESTful Web サービスは HTTP プロトコルの上にあるため、サーブレットで REST サービスを作成できます。

于 2013-09-14T05:00:47.047 に答える
0

HTTP に基づくすべてのコード (任意の言語など) は、REST の要件に準拠している限り、安らかな Web サービスにすることができます...

参照: http://en.wikipedia.org/wiki/Representational_state_transfer

于 2013-09-14T05:00:50.680 に答える
0
  1. すべてはリソースです
  2. すべてのリソースは、GET、POST、PUT、DELETE の標準インターフェイスを公開します
  3. REST サービスはべき等です
  4. リソースは他のリソースにリンクする場合があります
  5. 複数の表現
  6. ステートレス通信

上記の詳細については、この投稿を参照してください

于 2013-09-14T05:04:02.390 に答える
0

このような質問に対するアプローチは、ボトムアップでなければなりません。Serviceの定義から始めます。次に、Web サービスを定義すると、Web サービスとそうでないものを簡単に区別できます。一般的に、そのような議論については、次のように攻撃します。

  1. クライアントのコントラクトを定義する再利用可能なコードはサービスです。デスクトップ上のプリンタードライバーはサービスです。
  2. Web 上で(HTTPテキスト request/resposne 上で)使用できるサービスはすべてWeb サービスです。
  3. RESTful サービスは、VERBvsのNOUN分離とResourcesの概念に関して、より多くの制約を追加します。
  4. サーブレットと REST の違いは、サーブレットにはコントラクトがないため、サーブレット自体はサービスではありません。
  5. サーブレットを使用して RESTful サービスを実装したい人を止めることはできませんが、開発を容易にするためのフレームワークが存在する世界では、REST 開発にはレベルが低すぎます!!

Java の世界のすべての Web Restful サービスは、処理のローエンド実装であるサーブレット上に書かれていHTTPます。トランスポートが でない場合HTTP、それはサービスですが、Web サービスではありません :)

于 2013-09-14T05:05:33.590 に答える