サポートされるプロトコル

WebLogic Workshop で Web サービスを設計する際に、Web サービスでデータの送受信用にサポートするプロトコルを選択できます。プロトコルは、システム間でメッセージをやり取りするための下位レベルのネットワーク方式です。プロトコルは、標準的な方法でデータをフォーマットおよびエンコードする際の規則を提供します。

WebLogic Workshop では現在、2 種類のプロトコルをサポートしています。Web ブラウザと Web サーバで使用される基本的なプロトコル、HTTP(Hypertext Transport Protocol)と、J2EE 仕様のコンポーネントである JMS(Java Messaging Service)です。WebLogic Server には WebLogic JMS が含まれており、他のサードパーティ メッセージング システムもサポートできます。

Web サービスは、プロトコルを 1 つまたは両方ともサポートできます。ユーザのサービス上の各メソッドおよびコールバックも、プロトコルをどちらか 1 つまたは両方ともサポートできます。サービスか、メソッドまたはコールバックのいずれかで使用するプロトコルを指定するには、そのサービス、メソッド、またはコールバックの protocol プロパティの属性を設定します。protocol プロパティの設定の詳細については、サポートされるメッセージ フォーマットを参照してください。

HTTP

Web サービスでサポートされている最も一般的なプロトコルは、Web ブラウザおよび Web サーバで使用される基本的なプロトコル、HTTP(Hypertext Transport Protocol)です。HTTP は現在、WWW ドキュメントの転送で最も一般的に使用されていますが、ほとんどすべてのドキュメントの転送に使用できます。HTTP は至る所で使用されている柔軟性に富んだプロトコルです。また、ほとんどのファイアウォールでは HTTP メッセージが通過できるように設定されています。このことから、インターネットを介して地理的に分散したユーザから利用できるようにしなければならない Web サービスにとって、HTTP は有用なプロトコルです。

また、HTTP は、双方向の同期通信を必要とする Web サービスにも役に立ちます。クライアントが HTTP で Web サービスのメソッドを呼び出すと、そのメソッドがすぐに値をクライアントに返すことができます。

ただし、HTTP はエンタープライズ システムにとって重要な多くの機能が不足しており、特に、信頼性の高い非同期メッセージング機能を備えていません。2 つのシステムが HTTP を介してメッセージを交換するには、双方のシステムが使用可能になっている必要があります。片方が使用可能になっていない場合、メッセージの配信は保証されません。HTTP には、そのメッセージを保持する手段がありません。また、HTTP は、トランザクション サポートも提供しません。そのため、HTTP 上で複雑な処理を実行する際の信頼性に問題があります。非同期メッセージングおよびトランザクションを必要とするエンタープライズ アプリケーションの場合は、Web サービスの転送プロトコルとして JMS を使用してください。

JMS

JMS は、非同期、疎結合、高信頼性の通信を必要とする分散エンタープライズ アプリケーションで役立つプロトコルです。メッセージが JMS 経由で交換されるときに、メッセージをポストしたシステムは、メッセージの受信側システムから完全に独立できます。JMS は仲介役として機能します。非同期的に情報を交換するために、参加するシステム同士が通信したり、同時に使用可能になっている必要はまったくありません。JMS は、目的の受信者が受信するまでメッセージを保持するため、メッセージの配信が保証されます。

また、JMS はトランザクションもサポートするので、複雑な処理が、制御および調整された方法で実行されます。トランザクションでは、多くのリソースが関係する処理が完全に成功するか、完全に失敗することが保証されています。そのため、いずれの場合もシステムは安定した状態に置かれます。

サービスは、JMS を転送プロトコルとして使用する際に JMS キューを利用します。JMS キューは一方向なので、JMS を介してデータを送信した場合、同期的な返信メッセージがサービスに送られることはありません。JMS プロトコルを使用するメソッドは、void の返しを持つ必要があります。サービスでは、コールバックを使用するか、または JMS コントロールを使用して別のメッセージをキューに入れることによって、結果をクライアントに返します。

関連トピック

サポートされるメッセージ フォーマット