レベル: 中級 Susan Malaika (malaika@us.ibm.com), Senior Technical Staff Member, IBM Japan Christian Pichler (cpichle@us.ibm.com), Data Server Solutions (Co-op), IBM
2008年 5月 01日 Universal Services は、挿入、更新、削除、クエリーの実行などを含む、Web サービス操作として公開されるデータベース操作の一式です。DB2® データベースに pureXML™ 列が含まれる場合、Universal Services を例えばプロトタイプとして使えば、データベースの Web サービス操作を簡単にセットアップすることができます。その上 Universal Services は、pureXML 列に保管された XML データに対してユーザーが REST または SOAP によるクエリーの実行や変更を行えるようにするので、フォームや SOA アプリケーションなどの多種多様なアプリケーションを今後開発する際の基盤として使用することができます。この記事で説明するのは、この Universal Services を構成、テスト、変更する際の基本的な方法です。さらに詳しい情報が必要な場合は、Universal Services ダウンロードに付属の README ファイルを参照してください。このファイルに、ステップバイステップで手順が記載されています。
はじめに
Universal Services は単純ながらも、DB2 データベースの pureXML 列に保管された XML データに対する、クエリーの実行や、変更を可能にするデータベース操作の確固たるセットです。これらのデータベース操作には、Data Web Service メカニズムにより Web Services として公開されたデータに対する挿入、更新、削除、クエリーの実行などが含まれます。
Data Web Services では、挿入、更新などのデータベース操作をコーディングせずに Web Services として公開することができます。さらに、ストアード・プロシージャーやユーザー定義関数を Web Services として公開することも可能です。Data Web Services の開発については、すでに developerWorks の他の記事とチュートリアルで説明しています。関連するチュートリアルおよび記事は「参考文献」セクションに記載してあるので参照してください。
図 1 に、Universal Services 全体のアーキテクチャーを記載します。
図 1. Universal Services 全体のアーキテクチャー
Universal Services の目的は、Web サービスの操作によって DB2 データベースのあらゆる pureXML 列に対してクエリーを実行したり、変更を行ったりできるようにすることです。これらの Web サービス操作は、わかりやすい構成とデプロイメントの手順によって利用できるようになります。この記事の以降のセクションでは、この一連の手順を説明します。ここに記載する手順について、さらに詳しい説明が必要な場合には、Universal Services ダウンロード・パッケージに含まれる README ファイルを参照してください。このファイルに、詳細なステップバイステップの手順が記載されています。
この記事では、サンプル・データベースに対して Universal Services を構成、デプロイ、変更する方法を説明します。そのため、記事は以下の 3 つのセクションに分かれています。
-
サンプル・データベースのセットアップ: サンプル・データベースのセットアップ方法を説明します。この記事ではさらにサンプル・データベースを例として用いて、Universal Services の構成方法を説明します。
-
Universal Services のインストール: Universal Services を構成し、デプロイする方法を説明します。
-
Universal Services の変更: 必要に応じて環境に適合させるために Universal Services を変更する場合の方法を説明します。
各ステップに必要なダウンロードの入手先については、該当するセクションにその詳細を記載します。
前提条件
Universal Services をインストールして実行するには、お使いのシステムに DB2 9.x、Java Runtime Environment 1.5.0、および Web サーバー (例えば WebSphere Application Server V6.x または Apache Tomcat V6.x) がインストールされている必要があります。Java Runtime は DB2 システムの一部であることに注意してください。
さらに 2 つのダウンロードを入手する必要があります。1 つは IRS e-File 1120 パッケージ (Industry Formats and Services オンライン・デモの一部として)、もう 1 つは Universal Services パッケージそのものです。ダウンロードへのリンクは「ダウンロード」セクションに記載しています。この記事の手順に従うには、この 2 つのダウンロードが必要になります。
サンプル・データベースのセットアップ
Universal Services は DB2 データベースのどの pureXML 列にでもセットアップすることができます。Universal Services の構成およびインストールについて説明する準備として、このセクションでは記事全体を通して使用するサンプル・データベースをセットアップする方法を説明します。ここで作成するサンプル・データベースは、DB2 pureXML オンライン・デモである Industry Formats and Services with pureXML の一部として一般公開されている無料のダウンロードをベースとしたものです。
ダウンロードのそれぞれに、ユーザーが特定の業界 (金融、医療など) を対象にしたデータベースを簡単にセットアップできるようにする一連のスクリプトが含まれています。この記事で使用するスクリプトでは、サンプル・データベース、そして pureXML 列が含まれるテーブルを作成した後、データベースにサンプル・データをロードします。ダウンロードにはその他にも、XML スキーマの登録、登録した XML スキーマに対する XML インスタンス文書の検証、XQuery または SQL/XML による XML データへのクエリーの実行など、興味の対象となりそうなスクリプトが含まれていますが、この記事では取り上げません。これらの業界固有のダウンロードに関する詳しい情報が必要な場合は、この記事の「参考文献」セクションを参照してください。
サンプル・データベースを作成する
この記事がベースとする IRS e-File 1120 ダウンロードは、IRS Tax Form 1120 の電子版です。このセクションでは、IRS e-File 1120 パッケージをダウンロードして、ローカルの一時作業ディレクトリーに解凍してあることを前提とします。この記事では全体を通して、データベース・スクリプトのローカル一時作業ディレクトリーとして c:\temp\irs1120 を使用します。
図 2. ローカル一時作業ディレクトリーに解凍された IRS e-File 1120 ダウンロードの内容
システムでサンプル・データベースのセットアップを実行するスクリプトは「start.bat」(Linux を使用している場合は「start.sh」) です。このスクリプトを実行するには、DB2 コマンドライン・プロセッサーを開き、ディレクトリーを変更して、ダウンロードしたファイルの内容が含まれる現行作業ディレクトリーに進みます。このディレクトリーには、これから実行しようとしている start.bat ファイルも含まれているので、早速 start.bat スクリプトを実行してください。
スクリプトの実行が終了すると、データベースのセットアップが完了したことを示すメッセージが表示されます。メッセージにそれ以外の内容が示されている場合は、IRS e-File 1120 ダウンロードに付属の README ファイルを調べてください。セットアップが正常に完了すれば、pureXML 列が含まれる DB2 サンプル・データベースがシステムにセットアップされ、この pureXML 列にサンプル・データがロードされた状態になっているはずです。具体的には、pureXML 列が含まれるデータベースのテーブルは以下の構造になります。
表 1. サンプル・テーブル IRS1120 の概要
| 列名 | 列の型 | 説明 |
|---|
| ID | INTEGER | テーブルに挿入された各レコードに固有の ID を表します。 |
|---|
| COMMENT | VARCHAR(1000) | テーブルの各レコードに対するコメントを保管するために使用します。 |
|---|
| DOCUMENT | XML | このテーブルの 3 列目は XML型の列です。この列は、XML データを保管するために使用します。具体的に言うと、ここにすべての IRS e-File 1120 XML 文書が含まれます。 |
|---|
これでサンプル・データベースの準備ができたので、以降のセクションではこのサンプル・データベースを使って、特定の pureXML 列に対して Universal Services を構成し、インストールする方法を説明します。
Universal Services のインストール
このセクションでは、Universal Services パッケージをダウンロードしてローカルの一時作業ディレクトリーに解凍済みであることを前提とします。この記事で使用する Universal Services のローカル一時作業ディレクトリーは、c:\temp\UniversalServices です。
図 3. ローカルの一時作業ディレクトリーに解凍された Universal Services ダウンロード・パッケージの内容
必要なファイルとスクリプトがシステムで使用できるようになったら、Universal Services のインストール作業に進みます。この作業は基本的に、以下の 3 つのステップからなります。この 3 つのステップについてこれから詳細を説明しますが、その内容は以下のとおりです。
- ローカル・システムの設定に合わせて Universal Services を構成する
- Universal Services をアプリケーション・サーバーにデプロイする
- 組み込みテスト・ページを使用して Universal Services をテストする
Universal Services を構成する
Universal Services の構成は、ダウンロードに付属のスクリプト、「configure.bat」(Linux を使用している場合は「configure.sh」) によって行います。ただしスクリプトを実行する前に、表 2 に記載するローカル・システムの設定に合わせて、このスクリプトを調整する必要があります。
表 2. 構成スクリプトで使用するパラメーターの概要
| パラメーター名 | 説明 | 値 (サンプル・データベースに準拠) |
|---|
| DB2INSTALLDIR | DB2 システムのディレクトリー・パス | C:\Program Files\IBM\SQLLIB |
|---|
| DBSCHEMA | XML 列を含むテーブルが属するデータベース・スキーマの名前 | IRS1120ADMIN |
|---|
| DBNAME | Universal Services と共に使用するデータベースの名前 | IRS1120 |
|---|
| DBTABLE | XML 列が含まれるテーブルの名前 | IRS1120 |
|---|
| DBPRIMARY | DBTABLE に指定されたテーブルの主キーが設定された列の名前。この列の型は INTEGER または VARCHAR のいずれかになります。 | ID |
|---|
| DBCOMMENT | DBTABLE に指定されたテーブルのコメント列の名前 | COMMENT |
|---|
| DBXML | DBTABLE に指定されたテーブルの XML 列の名前。これは、XML データが含まれる列です。 | DOCUMENT |
|---|
表 2 に記載した 3 つのパラメーター、DBPRIMARY、DBCOMMENT、DBXML は表 1 と同じパラメーターであることに注意してください。
表 2 の情報に合わせて Universal Services 構成ファイルを編集してください。例えば、set DBNAME=SAMPLEDB は set DBNAME=IRS1120 に変更する必要があります。図 4 に、表 2 に記載した値に従って編集した後の構成ファイルを示します。
図 4. 構成ファイル configure.bat の編集
configure.bat (Linux を使用している場合は configure.sh) の編集が終わったら、このスクリプトを実行してください。スクリプトは Universal Services の実際の構成 (列名の変更など) を行った後、Universal Services Web アプリケーションに必要なすべてのファイルが含まれる WAR (Web Application Archive) ファイルを作成します。アプリケーション・サーバーには、このファイルをデプロイすることができます。注意する点として、スクリプトは DB2 コマンドライン・プロセッサーで実行してください。そうでないと、スクリプトの実行に失敗します。
Universal Services をデプロイする
前のセクションの説明に従って configure.bat スクリプトを編集し、実行すると、WAR ファイルが作成されるので、今度はこの WAR ファイルをアプリケーション・サーバーにデプロイします。WAR ファイルをアプリケーション・サーバーにデプロイする前に必要な作業として、アプリケーション・サーバー上にデータ・ソースを構成してください。これによって、Universal Services が DB2 データベースにアクセスできるようになります。
データ・ソースをセットアップするには、アプリケーション・サーバーの標準構成プロセスに従ってください。セットアップする際に唯一考慮しなければならないことは、データ・ソースの名前です。この名前は、jdbc/[database name] のパターンに一致させる必要があります。この記事の例で使用するデータ・ソース名は、jdbc/irs1120 です。データ・ソースのセットアップ方法に関する詳細は、お使いのアプリケーション・サーバーのマニュアルを参照するか、Universal Services ダウンロード・パッケージに付属の README ファイルを読んでください。
次のステップは、実際の WAR ファイルをアプリケーション・サーバーにデプロイすることです。ただし注意する点として、WebSphere Application Server V6.x と Apache Tomcat V6.x に必要な Web サービス成果物には違いがあるため、構成スクリプトが作成した WAR ファイルは 2 つとなっています。つまり、アプリケーション・サーバーごとに固有の WAR ファイルがあるということです。
作成された WAR ファイルが配置されるのは、Universal Services の作業ディレクトリー、c:\temp\UniversalServices に含まれる war サブディレクトリーです。具体的に言うと、war ディレクトリーには 2 つのサブディレクトリー、tomcat と was があり、tomcat ディレクトリーには Apache Tomcat V6.x にインストールする WAR ファイル、was ディレクトリーには WebSphere Application Server V6.x にインストールする WAR ファイルが配置されています。WAR ファイルをアプリケーション・サーバーにインストールするには、標準手順に従います。詳細な手順については、アプリケーション・サーバーのマニュアルまたは Universal Services ダウンロード・パッケージに付属の README ファイルを参照してください。
これで、セットアップした Universal Services をテストする準備が整いました。テストに使用する Universal Services テスト・ページはすでに、WAR ファイルをデプロイしたことによって利用可能になっています。次のセクションに進んで、テストに取り掛かってください。
Universal Services をテストする
ローカル・システムで Universal Services が正常にセットアップおよび構成されていることを確実にするには、Universal Services をテストする必要があります。最も簡単なテスト方法は、単純な HTML ページを使用することです。このページはすでに Universal Services のデプロイメントの一部としてアプリケーション・サーバーに用意されています。
ブラウザーを URL、http://localhost:8080/UniversalServices/testServices.html にリダイレクトすると、Universal Services テスト・ページにアクセスすることができます。ローカル・システムの設定に応じたホスト名やポート番号を適用しなければならないことに注意してください。
図 5. 組み込みテスト・ページのスクリーンショット
この単純なテスト・ページでは、Universal Services を介してお使いの独自のデータベースで XML データの挿入、更新、削除、そして XML データに対するクエリーの実行ができます。これらの Web サービスは、テスト・ページに提供されているボタンによって呼び出されます。図 6 に、Web サービスの応答を示します。これは、Web サービス操作の後にテスト・ページのボタンで getPrimaryKeys を呼び出した場合の応答です。
図 6. Web サービス操作、getPrimaryKeys を呼び出した後の応答
Universal Services の変更
例えば新しいパラメーターを導入するなど、Universal Services の変更が必要になった場合は、Universal Services Data Project ダウンロードと一緒に提供される Universal Services Data Development Project を Data Studio にインポートしてください。Data Development Project をインポートする方法は、Data Studio の File プルダウン・メニューから Import オプションを選択するだけです。
これで、変更した Universal Services を Data Studio を使用してデプロイすることが可能になります。
まとめと今後の見通し
この記事では、Web サービス操作によって DB2 データベースの pureXML 列を公開する手順の単純さと手軽さを説明しました。この手順ではスクリプトを使用し、別のツールを起動する必要はありません。インストールした Universal Services システムは、独自のプロトタイプやアプリケーションをビルドするために使用することができます。
以下に示すのは、すでに Universal Services を作業の基盤として使用している 3 つの実例です。
- Industry Formats and Services with pureXML のインタラクティブなオンライン・デモ
- WebSphere ESB および DB2 Version 9 pureXML での業界標準のデータ・フォーマットの使用
- WebSphere Integration Developer を使用した DB2 pureXML の公開
Universal Services、そしてこの記事に記載した情報が、読者それぞれの DB2 pureXML プロジェクトを推進するのに役立つことを願っています。
ダウンロード | 内容 | ファイル名 | サイズ | ダウンロード形式 |
|---|
| Universal Services package | UniversalServices.zip | 3.87MB | HTTP |
|---|
More downloads 注 - Industry Formats and Services with pureXML オンライン・デモの一部として入手できます。Download now を選択してください。
参考文献 学ぶために
製品や技術を入手するために
-
IBM Data Studio: Data Web Services の開発に使用する無料の開発環境をダウンロードしてください。
-
DB2 Express-C: DB2 の無料バージョンをダウンロードしてください。pureXML 技術をはじめ、他の Data Servers と同じ機能が組み込まれた DB2 Express-C は自由に開発、デプロイ、配布できます。
- 次期開発プロジェクトの構築に、developerWorks から直接ダウンロードできる IBM の試用版ソフトウェアをご利用ください。
議論するために
著者について  | 
|  | Susan Malaika は、IBM Information Management Group (IBM Software Group の一部) のシニア・テクニカル・スタッフです。専門分野は XML、Web、データベースで、Global Grid Forum ではグリッド環境でデータをサポートする標準を開発しました。Web に関する共著作があり、トランザクション処理と XML を取り上げた記事も発表しています。彼女は IBM Academy of Technology の一員でもあります。 |
 | 
|  | Christian Pichler は、オーストリアの Technical University of Vienna からの協力者です。彼は現在、コンピューター・エンジニアリングとコンピューター・サイエンスでのダブル修士号の取得を目指し、医療を焦点とした論文に取り組んでいます。また、IBM 向けに DB2 に保管した XML を Web サービス、フィード、そして XForms を介してアクセスするための技術を研究しています。彼の専門は、医療を対象とした XML 標準です。 |
記事の評価
|