web-dev-qa-db-ja.com

JAX-RSとJAX-WSの違いは何ですか?

JAX-RSおよびJAX-WSに関するいくつかの記事を読んだ後、確認したい質問がいくつかありましたか?

  1. JAX-RSはJAX-WSのような非同期リクエストを実行できますか?
  2. JAX-RSはJavaプラットフォームで実行されていないWebサービスにアクセスできますか?
  3. 「RESTは、PDAや携帯電話など、プロファイルの限られたデバイスに特に有用です」とはどういう意味ですか?
  4. 「JAX-RSはXMLメッセージまたはWSDLサービス-API定義を必要としない」とはどういう意味ですか?
90
pmark019

JAX-RSはJAX-WSのような非同期リクエストを実行できますか?

1)JAX-RS APIに非同期リクエスト用の特定のメカニズムが含まれているかどうかはわかりませんが、この回答は使用するクライアント実装に基づいて変わる可能性があります。

JAX-RSはJavaプラットフォームで実行されていないWebサービスにアクセスできますか?

2)できない理由は考えられません。

「RESTは、PDAや携帯電話など、プロファイルの限られたデバイスに特に有用です」とはどういう意味ですか?

3)RESTベースのアーキテクチャは、通常、JSONなどの軽量データ形式を使用してデータを送受信します。これは、XMLを使用するJAX-WSとは対照的です。 XML自体はJSONよりも大幅に重い(一部の人は主張するかもしれません)のではありませんが、JAX-WSでは、JSONでRESTをより軽量なオプションにするXMLの使用量です。

「JAX-RSはXMLメッセージまたはWSDLサービス-API定義を必要としない」とはどういう意味ですか?

4)3で述べたように、RESTアーキテクチャは多くの場合JSONを使用してデータを送受信します。 JAX-WSはXMLを使用します。 JSON自体がXMLに比べて非常に小さいということではありません。ほとんどの場合、JAX-WS仕様には通信方法に多くのオーバーヘッドが含まれています。

WSDLおよびAPI定義については、RESTは、JAX-WSで行われているように、メッセージタイプではなくURI構造とHTTPコマンドを使用してAPIをより頻繁に定義します。つまり、サービスの他のユーザーがサービスと対話する方法を知ることができるように、WSDLドキュメントを公開する必要はありません。 RESTを使用する場合、RESTサービスの編成方法と送信する必要があるデータおよびHTTPコマンドについて、他のユーザーにドキュメントを提供する必要があります。

74
Nick Roth

もう一つの重要なポイント

JAX-WSはSOAPを表します

JAX-RSはRESTを表します

JAX-RSまたはJAX-WS Webサービス実装の選択方法

90
user2849471

JAX-WS -は、XMLベースのWebサービス用のJava AP​​I- SOAP 表記でWebサービスを開発する標準的な方法( Simple Object Access Protocol)。

Webサービスの呼び出しは、リモートプロシージャコールを介して実行されます。クライアントとWebサービス間の情報交換には、SOAPプロトコルが使用されます。 XML -ベースのSOAPメッセージを介して実行される、クライアントとサーバー間のメッセージ交換。

JAX-WS Webサービスのクライアントには、クライアントがWebサービスの呼び出しに使用できる実行可能コードを生成するために WSDL ファイルが必要です。

JAX-RS -Java RESTful WebサービスのAPI。 RESTful Webサービスはリソースとして表され、Uniform Resource Identifier( URI )で識別できます。この場合のリモートプロシージャコールは HTTP -リクエストで表され、必要なデータはクエリのパラメーターとして渡されます。 WebサービスRESTful-より柔軟で、いくつかの異なる MIME -タイプを使用できます。通常、XMLデータ交換または JSON (JavaScript Object Notation)データ交換に使用されます...

43
Aleksey Bykov

私はApachi Axis1.1とAxis2.0とJAX-WSに取り組んできましたが、任意の形式でwsdlを作成できるため、JAX-WSを使用することをお勧めします大文字で操作名を開始できるようにするので、それは良くないことがわかりますので、JAX-WSを使用する必要があることをお勧めします

0
Waseem Saeed

JAX-RSはJAX-WSのような非同期リクエストを実行できますか?

はい、確かに@Asyncを使用できます

JAX-RSはJavaプラットフォームで実行されていないWebサービスにアクセスできますか?

はい、できます

「RESTは、PDAや携帯電話など、プロファイルの限られたデバイスに特に有用です」とはどういう意味ですか?

これは主にパブリックAPIで使用され、どのアプローチを使用するかによって異なります。

「JAX-RSはXMLメッセージまたはWSDLサービス-API定義を必要としない」とはどういう意味ですか?

独自の標準WADL(Webアプリケーション開発言語)があり、さまざまな考え方で作成されたリソースにアクセスできるhttp要求があります。Jax-Rの場合、リソースを公開することを検討する必要があります。

0
Urvil Joshi