レベル: 中級 Shweta Sinha (shwsinha@in.ibm.com), System Software Engineer, IBM Prasanna Alur Mathada (amprasanna@in.ibm.com), Informix-Interoperability Team, India Software Lab, IBM Amitava Chakraborty (amitacha@in.ibm.com), Informix-Interoperability Team, India Software Lab, IBM
2008年 2月 21日 IBM® Data Studio は IDS (Informix® Dynamic Server) の開発者に最新の Web サービス技術をもたらします。この新しいツール・セットによって、IDS アプリケーションの設計、開発、デプロイ、そして管理がいかに容易になるかを学びましょう。また、最新の手法を使って Web サービスの開発を開始し、Web サービスのレスポンスを表示可能な HTML フォーマットに変換することで、レスポンスをシミュレーションする方法を学びましょう。
はじめに
IBM Data Studio (Data Studio V1.1) は、データ駆動型アプリケーションの設計、開発、デプロイ、そして管理を行うための統合データ管理環境です。Data Studio には新しいバージョンの WORF (Web Services Object Runtime Framework) が含まれており、データベース操作を簡単かつ迅速に SOA 化することができます。Data Studio は高度なツールでありながら、使い方は簡単です。
Data Studio には通常のデータベース操作 (SQL の SELECT、UPDATE、INSERT、DELETE など) と互換の操作があります。また、Data Studio には Web サービスのための完全なインターフェース (SOAP over HTTP、HTTP GET/POST、WSDL など) や、REST スタイルのサービス・インターフェースも用意されています。Data Studio の利点として、Web サービスを迅速かつ容易に作成できること、デプロイメントする上でプログラミングが必要ないことが挙げられます。
Data Studio の設計アーキテクチャー
IBM Data Studio による Web サービスは、J2EE Web アプリケーションのインスタンスの中でホストされています。この Web サービスは 1 つのデータベース (1 つのデータ・ソース) に対して動作し、そして Web サービスの操作として公開される 1 つ以上のデータベース操作を含むことができます。クライアント・リクエストをリッスンするエントリー・ポイントとして動作するエンドポイント・インターフェースには、さまざまな種類があります。
図 1. IBM Data Studio の設計アーキテクチャー
コード全体は次の 2 つの部分に分けることができます。
- IBM Data Studio の共通ランタイム
- インターフェース専用のコード
Data Studio の実行時のアーキテクチャー
サービスの提供者は Data Studio のツール・セットを使って Web サービスを開発し、その結果生成されるランタイム成果物をデプロイし、そして WSDL ファイルを配布します。一方クライアントは SOAP プロキシー・クライアントを生成し、Web サービス・リクエストを実行します。
このツール・セットは、IBM Data Studio による Web アプリケーションの組み立てを行い、デプロイする準備を行うためのもので、データベース操作の生成には Data Studio の中にある Query Builder と Database Explorer が利用されます。またこのツール・セットは SQL 文の入力パラメーターと出力パラメーターとの間にデフォルトの型マッピングを生成し、作成される Web サービス操作の入力メッセージと出力メッセージを記述する適切な XML スキーマと WSDL 文書を生成します。
XML リクエスト文書は SOAP リクエスト・メッセージの SOAP ボディー要素の中に含まれます。IBM Data Studio は message part を 1 つ含む SOAP メッセージのみを処理することができます。デフォルトのタグが付けられた XML 入力文書は IBM Data Studio の共通コードに転送され、そこで実際のデータベース操作が用意され、実行されます。使用されるエンドポイント・インターフェースによっては、この XML 文書は、直接呼び出し側 (REST) に返送されるか、あるいは SOAP メッセージ (WAS/Axis SOAP エンジン) の中に入れられます。
下記の図 2 は実行時のアーキテクチャーを説明しています。
図 2. Data Studio の実行時のアーキテクチャー
入力と出力のフロー
- 入力
- URL にエンコードされたパラメーター
- Web サービスは不可、REST スタイルのアクセスのみ
- カスタマイズは不可
- XML リクエスト文書
- SOAP ボディーの中にある XML メッセージと XML POST (REST として公開される場合には) は、同じスキーマに従う必要があります。
- XSLT を使ったカスタマイズによって影響を受けます。
- 出力
- XML レスポンス・メッセージ
- SOAP レスポンス・ボディーの中、および HTTP XML レスポンスの中にあるメッセージは (REST として公開される場合には) 同じ XML スキーマに従います。
- XSLT を使ったカスタマイズによって影響を受けます。
- テキストまたは HTML
- Web サービスは不可、REST のみ
- XML 出力を HTML またはテキストに変換するために XSLT が必要です。
IDS に対してサポートされているデータベース操作
-
クエリー:
クエリー操作は入力パラメーターを持つことができ、この操作によって結果セットが返されます。
-
更新:
更新操作は INSERT、UPDATE、DELETE、または MERGE であり、入力パラメーターを持つことができ、そして整数 (影響を受ける行の数) を返します。
IDS を使えるように IBM Data Studio を構成する
このセクションでは、IDS に接続するための Data Studio の構成方法を説明します。サポートされている他のデータ・サーバーを構成するための詳細については、IBM Data Studio Information Center を参照してください。
Informix データベースに対するコネクション・プールを作成する
次の手順に従ってコネクション・プールを作成します。
-
Window -> Open Perspective -> Other -> Data の順にクリックして Database Explorer を開きます。
- Database Explorer ウィンドウの Connection ノードを右クリックして新しい接続ウィザードを開きます。
- IDS v9.x と v10 のユーザーの場合には、JDBC Driver というラベルの付いたドロップダウン・メニューから Informix JDBC Driver を選択します。また、Class location (クラスの場所) を参照する際には必ず jdbc.jar と jdbcx.jar の両方を指定するようにします。
- IDS v11 ユーザーの場合には、JDBC Driver というラベルの付いたドロップダウン・メニューから IBM Data Server Driver for JDBC and SQLJ を選択します。
図 3 はそれ以外の構成パラメーターを示しています。
図 3. JDBC の構成
図 3 に示す画面で Next をクリックすると新しいウィンドウが表示されるので、そのウィンドウで以下の図 4 に示す選択肢を指定します。このステップが完了したら Finish をクリックします。
図 4. フィルターの指定
Data Development Project を作成し、データベース接続を追加する
次の手順に従います。
-
File -> New -> Data Development Project の順にクリックします。プロジェクトの名前を入力し、そして Next をクリックします。
- そうすると新しいウィンドウが開き、このウィンドウで既存のデータベース接続または新しいデータベース接続をプロジェクトに追加することができます。データベースを選択し、Finish をクリックしてプロジェクトの作成を完了します。
新しいプロジェクトは Data Project Explorerウィンドウの中に表示されます (図 5)。Informix データベースとの接続の場合、このプロジェクトには SQL Scripts フォルダーと Web Services フォルダー、XML フォルダーしかありません。ストアード・プロシージャーのフォルダーやユーザー定義のフォルダーはありませんが、これはそうした機能が Informix データベースとの接続では利用できないためです。
図 5. IBM Data Studio での Informix プロジェクト
Data Studio フレームワークに Web サーバーを追加する
次の手順に従います。
-
File -> New -> Other -> Server -> Next の順に選択します。
- すると新しいウィンドウが開いて、デプロイ可能なすべての Web サーバーが表示されるので、適切な Web サーバーを選択します。IBM Data Studio は現在、アプリケーション・サーバーに直接 Web サービスをデプロイするために、WebSphere Application Server 6.1 と WebSphere Application Server Community Edition 1.1 をサポートしています。
このエクスプローラーを最初に開いたときには WebSphere Application Server Community Edition が表示されていません。Don't see your server listed? Click here (サーバーがリストされていない場合には、ここをクリック) というラベルの付いたリンクをクリックし、WebSphere Application Server Community Edition 用のプラグインを追加する必要があります。
-
Next ボタンをクリックすると新しいウィンドウが開くので、選択した Web サーバーに関して必要な情報をこのウィンドウで指定します。
-
Finish ボタンをクリックすると、必要な Web サーバーが追加されます。新しいサーバーは、この IDE の最下部にある Server タブの中に表示されるようになります。
- アプリケーション・サーバーを起動するためには、そのサーバーを右クリックした時に表示される Start ボタンを選択します。
SQL 文を作成する
次の手順に従ってアプリケーションの中で SQL 文を作成します。
- Data Project Explorer ウィンドウで、プロジェクトの下の SQL Scripts フォルダーを右クリックし、New オプションを選択します。
- すると新しいウィンドウが開くので、このウィンドウで SQL Builder または SQL Editor のいずれかを選択し、SQL スクリプトに名前を付けます。
- これらの作業が完了したら Finish ボタンを選択します。
- SQL Builder または SQL Editor のどちらを選択したかにより、IDE は必要なクエリーを作成するためのクエリー・ビルダー・ウィザード、または SQL エディターのいずれかを開きます。指示に従って SQL 文を作成します。この機能の中では、構文チェックをしたりサンプル実行したりすることもできます。
- SQL が完成したらそれを保存します。
Web サービスを作成する
次の手順に従って Web サービスを作成します。
- Data Project Explorer ウィンドウで、プロジェクトの下の Web Services フォルダーを右クリックし、New オプションを選択します。
- すると新しいウィンドウが開くので、このウィンドウで Web サービスに名前を付けます。名前を付けたら Finish を選択します。
- 今度は先ほど作成した SQL スクリプトを、Web Services フォルダーの下に作成された、この新しい Web サービスにドラッグします。この方法で、作成した Web サービスの下にすべての SQL スクリプトを追加することができます。
Web サーバーに Web サービスをデプロイする
次の手順に従って、先ほど作成した Web サービスをデプロイします。
- Data Project Explorer ウィンドウで、プロジェクトの下の Web Services フォルダーを右クリックし、Deploy オプションを選択します。すると新しいウィンドウが開くので、Web サービスがデプロイされる Web サーバーをこのウィンドウで指定します。
- Artifact.contextRoot の値を、作成した Web サービスと同じ値に変更します。
- また、Launch Web Services Explorer after deployment (デプロイ後にWeb Services Explorer を起動) オプションと Register Database Connection with Webserver (Web サーバーとのデータベース接続を登録) オプションも選択します。
- これが完了したら、Finish を選択します。これによって、指定した Web サーバーに Web サービスがデプロイされます。
- デプロイメントが適切に完了すると、任意の Web ブラウザーから次のような URL を指定することで Web サービスにアクセスすることができます。
http://<Host>:<port>/<Web Service name>/rest/<Web Service name>/<SQL Script Name>
注意: IBM Data Studio V 1.1 は Informix では SQL スクリプトのみをサポートしています。ストアード・プロシージャーやユーザー定義の関数はサポートしていません。IDS 接続用の Data Development Project では SQL Scripts オプションのみが表示されます。
デプロイされた Web サービスで XSLT を扱う
Web サーバー側で、あるいは Web サービスを呼び出す際に、Web サービスに XSLT 機能を追加し、XML データを XML 以外のフォーマット (HTML など) に変換することができます。
Web サービスをデプロイする際に Manage XSLT 機能を使うと、Web サービスに XSL を追加することができます。この機能を Data Project Explorer ウィンドウで利用するためには、Web Services の下にある操作を右クリックします。この機能は、その Web サービスに対する入力パラメーターとして XSL を追加する場合にも、出力変換として XSL を追加する場合にも利用することができます。図 6 と 7 はこのプロセスを示しています。
図 6. Manage XSLT 機能
図 7 XSL の追加
また、Web サービスの出力を XML フォーマットから HTML フォーマットに変換するために GET/POST メソッドから Web サービスを呼び出す際にも XSL を使用することができます。「ダウンロード」セクションには、そうしたアプリケーションの例も含まれています。
まとめ
この記事では、IDS を使えるように IBM Data Studio を構成するプロセスと、Java™ アプリケーションを Web サービスの形で容易に公開するためのプロセスを紹介しました。Data Studio をダウンロードしてここで説明した手法を試し、また皆さん自身の環境に実装してみてください。
ダウンロード | 内容 | ファイル名 | サイズ | ダウンロード形式 |
|---|
| HTML Form calling the Web Service1 | BYORDERNUM.html | 2KB | HTTP |
|---|
| StyleSheet which parse the XML2 | order.xsl | 3KB | HTTP |
|---|
| This file converts the XML output3 | BYORDERNUM.jsp | 2KB | HTTP |
|---|
注 - これは Web サービスを呼び出す HTML フォームです。
- Web サービスからの XML を構文解析するスタイルシートです。
- このファイルは XSL を使って内部的に XML 出力を構文解析し、そして HTML を返します。
参考文献 学ぶために
製品や技術を入手するために
議論するために
著者について  | 
|  | Shweta Sinha はインドの IBM Software Lab で、さまざまな IDS 製品を扱う IDSQA チームの QA エンジニアとして働いています。 |
 | 
|  | Prasanna Mathada は Informix Professional として認定されています。彼は現在、インドの ISL の Informix Interoperability チームで働いています。 |
 | 
|  | Amitava はさまざまな Informix 製品群に関して 8 年以上の経験を持っています。彼は現在 Informix Interoperability チームのリーダーとして、他の主な製品群にまで対応できるよう Informix を拡張するための業務を指揮しています。 |
記事の評価
|