DADX Web サービス

「Web サービス」ウィザードおよび、「Web サービス DADX グループ構成」ウィザードに従えば、 DB2®、および DB2 に保管されている XML データにアクセスする Web サービスを簡単に作成することができます。

DB2 XML エクステンダー

DB2 XML エクステンダーは、ストアード・プロシージャー、ユーザー定義タイプ、 およびユーザー定義関数で構成されていて、 アプリケーション・プログラマーはこれによって、DB2 を使用して XML データを保管したり検索したりすることができます。 XML エクステンダーでは、文書アクセス定義 (DAD) と呼ばれる XML 文書フォーマットを使用して、 XML と関係データ間のマッピングを定義します。 XML エクステンダーは、XML 列アクセス方式か XML コレクション・アクセス方式のいずれかを使用して、 XML 文書の保管と検索を行います。

XML 列アクセス方式では、XML 文書をそのまま、タグ付きのデータとして保管します。 オプションで、サイド表の文書に索引を付けることもできます。 XML コレクション・アクセス方式では、通常の関係データ型を使用して、 分解した XML 文書を表中の行の集合として保管します。

文書アクセス定義 (DAD) および文書アクセス定義拡張 (DADX)

文書アクセス定義 (DAD) ファイルは XML 文書で、保管および検索の際に、XML 文書の DB2 データベースへのマッピングを制御します。 DADX ファイルは XML エクステンダー DAD ファイルの拡張機能で、 ここには、XML エクステンダーを使用しない標準の SQL 機能も組み込まれています。 DADX によって、XML エクステンダーが管理する XML 文書を保管し、検索する Web サービスが作成できるようになります。 DADX ファイルは、SQL ステートメント、および DAD ファイル (オプション) が定義する一連の操作を使用する Web サービスの作成方法を指定します。

DB2 バージョン 8.2 では、Web サービスを実装するデータベース操作をアプリケーション・サーバーに静的に保管したり、実行するデータベース操作をクライアントに動的に決定させたりする可能性があります。 クライアントによるデータベース操作の動的な実行は、動的照会サービス (DQS) と呼ばれます。 DQS サービスでは、DADX ファイルは DQS タグのみを含み、その他の操作は含みません。使用するデータベースにかかわらず、すべての DQS サービスについて WSDL は同じです。 このサービスによって、JDBC や ODBC に似たデータベースへのより低いレベルでのアクセスが提供されます。 このサービスの操作は、メタデータの入手、選択、挿入、更新と削除、およびストアード・プロシージャーの実行です。

静的 DADX ファイルについて、サポートされている Web サービス操作のタイプは次のとおりです。

XML ベースの操作には次のものが含まれます。

  • 照会
  • 保管

XML ベースの照会を使用すると、関係データから XML 文書を構成することができます。 XML 文書はコンポーネントに分解されて、関係テーブルに保管されます。 マッピング・ファイル (DAD ファイルと呼ばれます) は、関係データと XML 文書構造間の関連付けを行います。 SQL データの XML エレメントおよび属性へのユーザー定義マッピングを行う場合は、DB2 XML エクステンダーが必要です。

SQL ベースの操作には次のものが含まれます。

  • ストアード・プロシージャーの呼び出し
  • 挿入
  • 更新
  • 削除
  • 照会

SQL ベースの照会を使用すると、SQL ステートメント (ストアード・プロシージャー呼び出しを含む) を DB2 に送信し、 結果をデフォルトのタグを付けて戻すことができます。 SQL ベースの操作では、DB2 XML エクステンダーは必要ありません。 SQL データの XML エレメントおよび属性へのユーザー定義マッピングがないからです。 データは、SQL データ型の簡単なマッピングだけを使用して (エレメントには列名を使用して) 戻されます。

XML ベースの操作も SQL ベースの操作も、DADX と呼ばれるファイルによって制御されます。 DADX は、Web サービスが実行できる操作を定義します。

DADX Web サービス

次のダイアグラムは、XML エクステンダーと DAD と DADX の関係を示すものです。

  1. Web サービスのクライアントが Web サービスに要求を送信する。DQS では、 この要求には例えば SELECT ステートメントやストアード・プロシージャー呼び出しが含まれることがあります。
  2. 実行時に DADX ランタイム環境が、DADX グループ、DADX ファイル、 および DADX ファイルに必要な任意のパラメーターの名前を解決する。 DADX グループには、グループ内の DADX ファイル間で共有される接続 (JDBC および JNDI) とその他の情報が含まれています。
  3. DADX ファイルに、DAD ファイルへの参照が含まれている場合、 その DAD ファイルは DADX ランタイム環境によってロードされる。DAD ファイルは、 XML 要求のデータベースへのマッピングを指定します。
  4. DADX ランタイム環境は、DADX グループおよび DADX ファイルを探し出してから、要求をデータベースに送信する。 XML エクステンダーによって、DB2 を使用して XML データを保管および検索できるようになります。静的 DADX ファイルでは SQL 要求が DADX で検出され、DQS では要求がクライアントによって決定されました。
  5. その後、DADX ランタイム環境は、HTTP GET、HTTP POST、または SOAP プロトコルを使用して、結果を XML 文書として戻す。

図 1. XML エクステンダーと DAD と DADX の関係

図 1 は、XML エクステンダーと DAD と DADX の関連を表しています。

ご利用条件 | フィードバック
(C) Copyright IBM Corporation 1999, 2005. All Rights Reserved.