私は、さまざまなWebサービスを学習して、それらが何に使用されているかを理解しようとしています。しかし、これらの用語は頻繁に重複するため、私は混乱しています。これらの用語の違いを誰かに簡単に教えていただければ幸いです。http://java.sun.com/developer/Books/j2ee/jws/ch07.pdfなどのソースに出くわしましたが、それらを明確に区別することはできません。
1 に答える
Webサービス:標準に準拠した呼び出し可能なサービスは、Javaで記述されている場合もあれば、他のテクノロジーで記述されている場合もあります.NET
。重要な点は、サービスを記述する標準言語、WSDLがあるということです。WSDLには、トランスポート、プロトコル、サービスが実行されている場所、使用可能な操作、および前後に流れるペイロードに関する情報が含まれています。
遭遇するほとんどのWebサービスはHTTPプロトコルを介してSOAPメッセージ(特定のXML形式)を使用するため、WSDLにはサービスを呼び出す場所のURLが含まれます。より一般的には、他のメッセージ形式とプロトコルが可能です。すぐにその時点に戻ります。
Javaプログラムから呼び出すサービスのWSDLがあるとすると、原則として、Javaを記述して、適切なXMLペイロードをフォーマットし、HTTP接続を介してメッセージを噴出させることができます。完全に実行可能ですが、非常に面倒で、ほとんどすべてのコードは定型コードであり、WSDLから生成できます。
同様に、JavaでWebサービスを作成する場合は、WSDLを作成することから始めることができますが、HTTPの読み取り、XMLの解析などのための標準的な定型コードがたくさんあります。したがって、どちらの場合も、標準のJavaAPIを使用することでメリットが得られます。そのすべてが機能します。そのようなAPIはいくつかありますが、JAX/RPCとJAX/WSはその2つであり、JAX/WSはより最近で使いやすいものです。
別の統合テクノロジーはメッセージングを使用することです。メッセージキュー製品を提供するベンダーはたくさんあるので、(たとえば)Javaから(たとえば)C++にメッセージを送信することは完全に可能です。メッセージ形式に同意する必要があります(標準のWSDLはありません)。そこにあなたに言うために)。
JMSは、特定のベンダーのメッセージング製品に関する抽象化を提供するJavaプログラミングAPIです。Javaで作業している場合、JMSはメッセージング製品間での移植性を提供します。Java EE標準では、Java EE App Serverベンダーがメッセージングインフラストラクチャを提供する必要があります。ビジネスシステムが大きくなるにつれて、ほとんどの場合、非同期メッセージング機能が必要になると思います。
WSDLのようなアプローチをメッセージングに適用するには、さまざまな可能性があります。たとえば、SOAP/HTTPではなくSOAP/JMSを使用してWebサービスを作成することができます。JAXMは、この分野で新たに登場したAPIです。率直に言って、SOAP/JMSやWS-ReliableMessagingなどの標準との関係についてはよくわかりません。