ナビゲーションをスキップ

WebLogic Web サービス プログラマーズ ガイド

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

アーキテクチャの概要

この章では、WebLogic Web サービスのアーキテクチャの概要と WebLogic Web サービスの 3 種類のオペレーションについて説明します。

 


WebLogic Web サービスのアーキテクチャの概要

WebLogic Web サービスを開発するときは、ステートレス セッション EJB などの標準の J2EE コンポーネントと Java クラスを使用します。WebLogic Web サービスは J2EE プラットフォームに基づいているため、簡単で一般的なコンポーネント ベースの開発モデル、スケーラビリティ、トランザクションのサポート、ライフサイクル管理、既存のエンタープライズ システムへの J2EE API (JDBC および JTA など) を介した簡単なアクセス、簡素な統一セキュリティ モデルなど、すべての標準 J2EE の利点を自動的に継承します。

単一の WebLogic Web サービスは、1 つまたは複数のオペレーションで構成されています。各オペレーションは、異なるバックエンド コンポーネントと SOAP メッセージ ハンドラを使用して実装することができます。たとえば、オペレーションは、ステートレス セッション EJB の単一メソッドを使用して実装されている場合、または SOAP メッセージ ハンドラとステートレス セッション EJB を組み合わせて実装されている場合があります。

 


バックエンド コンポーネントのオペレーション

次の図は、ステートレス セッション EJB のメソッドなどのバックエンドコンポーネントのみで実装されている WebLogic Web サービス オペレーションのアーキテクチャを示しています。

図 2-1 バックエンド コンポーネントで実装された WebLogic Web サービス

バックエンド コンポーネントで実装された WebLogic Web サービス


 

クライアント アプリケーションがこのタイプの WebLogic Web サービス オペレーションを呼び出すと、次のような動作となります。

  1. クライアント アプリケーションは、HTTP を介して SOAP リクエスト メッセージを WebLogic Server に送信します。WebLogic Server は、リクエストに含まれる URI に基づいて、呼び出されている Web サービスを識別します。
  2. この Web サービスは、SOAP リクエスト メッセージを読み取って、実行すべきオペレーションを識別します。このオペレーションは、後の手順で呼び出されるステートレス セッション EJB または Java クラスのメソッドに対応しています。
  3. Web サービスは、適切なデシリアライザ クラスを使用して、SOAP メッセージにあるオペレーションのパラメータを XML 表現から Java 表現に変換します。デシリアライザ クラスには、組み込みデータ型用の WebLogic Server 指定のクラスと、非組み込みデータ型用のユーザ定義のクラスがあります。
  4. Web サービスは適切なバックエンド コンポーネント メソッドを呼び出して Java パラメータに渡します。
  5. Web サービスは、適切なシリアライザ クラスを使用してメソッドの戻り値を Java から XML に変換し、SOAP 応答メッセージにパッケージ化します。
  6. Web サービスは、その Web サービスを呼び出したクライアント アプリケーションに SOAP 応答メッセージを戻します。

 


バックエンド コンポーネントと SOAP メッセージ ハンドラ チェーンのオペレーション

次の図は、SOAP メッセージ ハンドラ チェーンとバックエンド コンポーネントの両方を使用して実装された WebLogic Web サービス オペレーションを示しています。

図 2-2 バックエンド コンポーネントと SOAP メッセージ ハンドラ チェーンで実装された WebLogic Web サービス オペレーション

バックエンド コンポーネントと SOAP メッセージ ハンドラ チェーンで実装された WebLogic Web サービス オペレーション


 

クライアント アプリケーションがこのタイプの WebLogic Web サービス オペレーションを呼び出すと、次のような動作となります。

  1. クライアント アプリケーションは、HTTP を介して SOAP リクエスト メッセージを WebLogic Server に送信します。WebLogic Server は、リクエストに含まれる URI に基づいて、呼び出されている Web サービスを識別します。
  2. この Web サービスは、SOAP リクエスト メッセージを読み取って、実行すべきオペレーションを識別します。このケースのオペレーションは、SOAP メッセージ ハンドラ チェーンと、後の手順で呼び出されるステートレス セッション EJB または Java クラスのメソッドに対応しています。
  3. Web サービスは適切なハンドラ チェーンを呼び出します。ハンドラ チェーンは、SOAP リクエスト メッセージの内容にアクセスし、場合によって何らかの変更を加えます。
  4. Web サービスは、適切なデシリアライザ クラスを使用して、SOAP メッセージ (変更されている可能性あり) にあるオペレーションのパラメータを XML 表現から Java 表現に変換します。デシリアライザ クラスには、組み込みデータ型用の WebLogic Server 指定のクラスと、非組み込みデータ型用のユーザ定義のクラスがあります。
  5. Web サービスは適切なバックエンド コンポーネント メソッドを呼び出して Java パラメータに渡します。
  6. Web サービスは、適切なシリアライザ クラスを使用してメソッドの戻り値を Java から XML に変換し、SOAP 応答メッセージにパッケージ化します。
  7. Web サービスは適切な SOAP メッセージ ハンドラ チェーンを呼び出します。ハンドラ チェーンは、SOAP 応答メッセージの内容にアクセスし、何らかの変更を加える場合もあります。
  8. Web サービスは、その Web サービスを呼び出したクライアント アプリケーションに SOAP 応答メッセージ (変更されている可能性あり) を戻します。

 


SOAP メッセージ ハンドラ チェーンのオペレーション

次の図は、SOAP メッセージ ハンドラ チェーンのみを使用して実装された WebLogic Web サービス オペレーションのアーキテクチャを示しています。

図 2-3 SOAP メッセージ ハンドラ チェーンのみで実装された WebLogic Web サービス オペレーション

SOAP メッセージ ハンドラ チェーンのみで実装された WebLogic Web サービス オペレーション


 

クライアント アプリケーションがこのタイプの WebLogic Web サービス オペレーションを呼び出すと、次のような動作となります。

  1. クライアント アプリケーションは、HTTP を介して SOAP リクエスト メッセージを WebLogic Server に送信します。WebLogic Server は、リクエストに含まれる URI に基づいて、呼び出されている Web サービスを識別します。
  2. この Web サービスは、SOAP リクエスト メッセージを読み取って、実行すべきオペレーションを識別します。このケースのオペレーションは、後の手順で呼び出される SOAP メッセージ ハンドラ チェーンに対応しています。
  3. Web サービスは適切なハンドラ チェーンを呼び出します。ハンドラ チェーンは、SOAP リクエスト メッセージの内容にアクセスし、場合によって何らかの変更を加えます。
  4. Web サービスは適切なハンドラ チェーンを呼び出します。このハンドラ チェーンは、SOAP 応答メッセージを作成します。
  5. Web サービスは、その Web サービスを呼び出したクライアント アプリケーションに SOAP 応答メッセージを戻します。

 

フッタのナビゲーションのスキップ  ページの先頭 前 次