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


93

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

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

回答:


78

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コマンドについてのドキュメントを他のユーザーに提供する必要があります。


非常に役立つ回答をありがとうございます。知っているJAX-WSとJAX-RSを区別する他のことはありますか?
pmark019 2013年

92

別の重要なポイント

JAX-WSはSOAPを表します

JAX-RSはRESTを表します

JAX-RSとJAX-WSのどちらのWebサービス実装を選択するのですか?


29
実際、JAX-WSはRESTfulとSOAPベースの両方のWebサービスを表しています。これについて考える1つの方法は、JAX-RSはRESTfulに特化しているのに対し、JAX-WSではどちらかを柔軟に選択できると同時に、(場合によっては)構成が複雑になることです。
MattC

簡単な説明ありがとうございます。
PeerNet 2015

2
JAX-WSはRESTfulとSOAPベースの両方のWebサービスを表します」-これは真実ではありません。クレームを検証するためにいくつかの参照を付けてください。JAX-WSはSOAP over HTTPおよびXML over HTTPを転送できますが、これによりJAX-WSが作成されますRESTful。RESTfulであることはまったく異なる概念です。
hagrawal 2017年

43

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

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

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

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


短くてパリッとした説明!! 優れた。
Saurabh Rai 2017

0

私はApachi Axis1.1とAxis2.0とJAX-WSに取り組んできましたが、どの形式でもwsdlを作成できるので、JAX-WSを使用することをお勧めします。ApacheAxis2でGetInquiry()として操作を行っていませんでした大文字で操作名を開始できるようにするので、私はそれが良くないので、JAX-WSを使用する必要があることをお勧めします


0

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

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

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

はい、できます

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

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

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.