本文へジャンプ

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

送信されたすべての情報は安全です。

  • 閉じる [x]

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


送信されたすべての情報は安全です。

  • 閉じる [x]

XML Forms Generator と Data Studio との統合: 第 2 回 XFG での DB2 pureXML のサポート

pureXML インスタンスに対応する登録済み XML Schema のサポートによって、pureXML を Data Web Services の pureXML パラメーターに対応する XHTML/XForm に視覚化する

Xiao Feng Zhao, Staff Software Engineer, WSO2 Inc
Photo of Xiao Feng Zhao
Xiao Feng Zhao は、China Software Development Laboratory の China Emerging Technology Institute に勤務するスタッフ・ソフトウェア・エンジニアです。IBM インキュベーター・プロジェクトを専門とする彼は、Web 2.0、SOA、J2EE、そして Web 技術に関心を持っています。現在取り組んでいるのは、Ajax および SOA 標準に対応した PoCs 開発です。
Qiang Wang, Staff Software Engineer, WSO2 Inc
Qiang Wang photo
Qiang Wang は、China Software Development Laboratory の China Emerging Technology Institute でテクニカル・リーダーを務めています。専門は、IBM インキュベーター・プロジェクトと SOA 関連のトピックです。彼が関心を持っている分野には、J2EE、SOA、MDA/MDD、AOP、RUP、そしてプロジェクト管理があります。現在は、産業関連の SOA ソリューションのリーダーとして活躍しています。
Susan Malaika, Senior Technical Staff Member, WSO2 Inc
Photo of Susan Malaika
Susan Malaika は (IBM Software Group の一部である) IBM Information Management Groupのシニア・テクニカル・スタッフです。専門分野は XML、Web、データベースであり、Global Grid Forum ではグリッド環境でデータをサポートする標準を開発しました。彼女は IBM 製品のソフトウェア開発者としての経験の他に、インターネット・スペシャリスト、データ・アナリスト、アプリケーションの設計者および開発者としての経験もあります。また Web に関する共著作があり、トランザクション処理や XML に関する記事も執筆しています。彼女は IBM Academy of Technology の一員でもあります。
Keith Wells, Senior Software Engineer, WSO2 Inc
Keith Wells photo
Keith Wells は、ノースカロライナ州リサーチ・トライアングル・パークにある IBM のソフトウェア・エンジニアです。この数年間、Emerging Technologies および Emerging Technologies Toolkit に取り組んできました。彼は現在、合成文書、モデル駆動開発、ソフトウェア標準、XML ベース技術でのさまざまな可能性を調査しています。

概要: IBM® DB2® 9 の pureXML® フィーチャーは、XML データのサポートに革命をもたらしました。pureXML では、XML を本来の階層のまま保管し、リレーショナル・データとも違う新しいデータ型として扱うことができるようになっています。IBM Data Studio では、複数の pureXML パラメーターを持つ Data Web Services を作成し、データベース内の pureXML インスタンスを操作することができます。XFG (XML Forms Generator) では、pureXML のサポートを利用して pureXML を XHTML ベースの XForm としてユーザーに表示することができます。さらに、pureXML インスタンスに関連する登録済み XML Schema を取得して、型情報と妥当性検査制約をターゲット pureXML XHTML/XForm の中に生成することもできます。このように XFG の pureXML サポートは、pureXML で保管された XML インスタンスのフォーム・インターフェースを簡単に作成できるようにします。

このシリーズの他の記事を見る

日付:  2009年 1月 20日
レベル:  中級 この記事の原文:  英語
アクティビティー: 3265 ビュー
お気軽にご意見・ご感想をお寄せください: 


pureXML と Data Web Services

XML データを CLOB として保管したり、リレーショナル・テーブルにシュレッドしたりする時代は、もう過ぎ去りました。DB2 9 の pureXML フィーチャーは、XML データのサポートに革命をもたらしました。pureXML では、XML を本来の階層のまま保管し、リレーショナル・データとも違う新しいデータ型として扱うことができるようになっています。pureXML によって XML データとリレーショナル・データをシームレスに統合できるおかげで、アプリケーション開発が迅速に行えるようになり、非常に最適化が進んだ XML 索引を利用して検索パフォーマンスを改善することができ、さらに XML データに対して SQL と XQuery の両方を使ってクエリーを実行できるという柔軟性がもたらされます。また、XML データを pureXML で保管すると、Data Web Service のメカニズムを利用して Web Services として公開することが可能になります (この連載の第 1 回を参照)。

XFG における pureXML のサポート

よく使われる頭字語

  • CLOB: Character Large Object
  • SOAP: Simple Object Access Protocol
  • UI: User interface
  • WSDL: Web Services Description Language
  • XHTML: Extensible Hypertext Markup Language
  • XML: Extensible Markup Language

XFG での pureXML サポートについて詳しいステップを説明するために、まずは DB2 に定義されたテーブルをベースとするミニ pureXML アプリケーションを作成するところから取り掛かります。このテーブルの構造は、表 1 に記載するとおりです。説明の前に、サンプル・レコードを pureXML 参照インスタンスとして挿入します。このレコードの XML1 列はどのスキーマにもバインドされていません。一方、XML2 列はリスト 1 に示す Express スキーマという登録済みスキーマにバインドされています。注: pureXML 参照インスタンスとは、XFG で XHTML/XForm を生成するために使用する XML テンプレートのことです。ご存知の通り、XFG は XML と WSDL のどちらからでもフォームを生成することができます。


表 1. テーブル構造の概要


リスト 1. Express スキーマ


Data Web Services を作成する

DB2 データベースにテーブルを作成したら、Data Studio を使用して、以下の SQL 文が含まれる SQL ファイルを作成します。

INSERT INTO XFGDEMO (ID, NAME, XML1, XML2) VALUES (:id, :name, :purexml1, :purexml2)

次に、Data Web Services を作成します。SQL ファイルから Data Web Services を作成する方法については、「参考文献」を参照してください。サンプル Web サービスを作成する際には、リスト 2 に示すような内容の insertRecord.wsdl という WSDL ファイルを生成します。ご覧のように、生成される WSDL ファイルには、PUREXML1PUREXML2 という 2 つの pureXML パラメーターが含まれ、どちらも xsd:anyType にバインドされています。以降のステップでは、XFG を使用して、この 2 つの pureXML フィールドを XHTML/XForm の一部として視覚化します。


リスト 2. WSDL ファイルに含まれる pureXML パラメーター


XHTML/XForm を生成する

Data Studio を使用して Data Web Services を作成してデプロイし終わったら、今度はこのサービスとの間でデータの受け渡しをするための XHTML/XForm と、それに対応する XML ファイルを、XFG を使用して生成します。

insertRecord.wsdl ファイルを選択し、この WSDL ファイルを右クリックして XForms Generator メニューから Generate XHTML/XForms ウィザードを選択します。図 1 に、このウィザードの最初のステップを示します。


図 1. XFG ウィザードの最初のステップ

妥当性検査情報を生成する

XFG では、pureXML フィールドに妥当性検査制約を追加することができます。「Generate validation information (妥当性検査情報を生成する)」オプションを選択すると、妥当性検査エディター・ウィザード・ページが表示されるので、このページ以降のステップに従って妥当性検査のルールを追加で構成します。

データベースから pureXML インスタンスを取得する

XFG では、WSDL の pureXML フィールドを視覚化する上で、2 つの方法をサポートします。1 つは、ローカル・ファイル・システムで pureXML インスタンスを使用し、ローカル・ファイル・システムからバインディング・スキーマを読み取るという方法で、もう 1 つは pureXML インスタンスをデータベース内で使用し、XSR (XML Schema Repository) から登録済みスキーマを取得するという方法です。この 2 つの方法を両方とも使用できるようにするには、「Retrieve PureXML instance from Database (データベースから pureXML インスタンスを取得する)」チェック・ボックスを選択します。選択しない場合は、ファイル・システム内のスキーマしか使用することができません。このチェック・ボックスにチェック・マークを付けてから、Next をクリックしてください。

次に表示される画面では、insertRecord 操作を選択して Next をクリックします。すると、図 2Configure PureXML ウィザード・ページが表示されます。この図に示されているように、XFG はすべての pureXML パラメーターを認識します。XHTML/XForm を生成して表示するためには、pureXML インスタンスを参照として指定した上で、データベースから pureXML インスタンスを取得する必要があります。参照 pureXML インスタンスのうち、PUREXML1 はどのスキーマにもバインドされていない一方、PUREXML2 はリスト 1 に示した登録済みスキーマにバインドされていることに注意してください。


図 2. Configure PureXML ウィザード・ページ

Next をクリックすると妥当性検査エディター画面が表示されます。このエディターで、スキーマにバインドされていない PUREXML1 に妥当性検査ルールを追加します。


図 3. 妥当性検査エディター

ウィザードに従ってステップを進め、最後に Finish をクリックすると XHTML/XForm が生成されます。生成される XHTML ファイルは insertRecord.xhtml です。図 4 に、生成されたフォームを示します (図 4 の拡大版を参照してください)。


図 4. Firefox にレンダリングされた生成後の XHTML/XForm


分析

生成された XHTML フォームのフラグメントをリスト 3 に示します。このフラグメントには、2 つの fieldset タグがあります。それぞれのタグは、データベース内の指定されたインスタンスから生成されたもので、リスト 2 の WSDL ファイルに含まれる pureXML パラメーターに対応します。


リスト 3. pureXML XForm のフラグメント

XFG は、登録済みスキーマ (リスト 1 に示したスキーマ) に対するバインド情報を生成します。この情報は、リスト 4 のとおりです。


リスト 4. 登録済みスキーマから生成された pureXML バインド情報

その一方で、XFG はウィザードで設定された PUREXML1 妥当性検査ルールに対するバインド情報も生成します。このバインド情報はリスト 5 のとおりです。


リスト 5. 妥当性検査ルールから生成された pureXML バインド情報


複数のモデルをマージしてサブミットする

生成された XHTML/XForm には、以下の 3 つの XForm モデルが含まれます。

  • 最初のモデルは、WSDL 操作、insertRecord に対応するグローバル・モデルです。このモデルに含まれる要素は、IDNAMEPUREXML1PUREXML2 の 4 つだけです。これらの要素は、Data Web Services の 4 つのパラメーター名それぞれに対応します。
  • 2 番目と 3 番目のモデルは、データベースまたはローカル・ファイル・システムから取得した PUREXML1、PUREXML2 のパラメーターに対応する pureXML モデルです。XHTML/XForm の 2 つの pureXML fieldset でのデータ変更はすべて、この 2 つのモデルに適用されます。

XFG は 2 番目と 3 番目の pureXML モデルを最初のグローバル XForm モデルにマージした上で、Data Web Services にサブミットします。モデルをマージするために使用するのは、リスト 6 に示す、 XHTML で生成されたクライアント・スクリプトです。このスクリプトは、XHTML フォームがサブミットされるときに、フォームの一部としてクライアントで実行されます。


リスト 6. モデルをマージする XHTML スクリプト

マージ後のデータ・モデル (リスト 7 を参照) は完全な SOAP メッセージとなります。クライアントはこの SOAP メッセージを Web サービスに直接サブミットし、フォームのデータを使って新しいレコードをテーブルに挿入します。


リスト 7. マージ後のモデル


まとめ

この記事では、XFG での DB2 pureXML サポートについて簡単に説明しました。XFG (XML Forms Generator) の pureXML サポートによって pureXML を XHTML ベースの XForm としてユーザーに表示できるだけでなく、pureXML インスタンスに関連する登録済み XML Schema の取得、そして型情報の生成に関しても、XFG に依存することができます。また、妥当性検査制約をフェッチしてターゲット pureXML XHTML/XForm に追加することも可能です。このように、XFG が pureXML をサポートしているおかげで、明らかに、pureXML で保管された XML インスタンスのフォーム・インターフェースを簡単に作成できるようになります。この 2 回の連載記事では、XForms、XFG、Data Studio、Web サービス、そして pureXML フィーチャーのサポートを紹介しました。この連載を読み終えた今、XFG を使い始めるのに苦労はしないはずです。バックエンドの Data Web Services に代わって機能する XHTML/XForm の UI を生成して、完全なデータ・サービス・ソリューションを構築してください。



ダウンロード

内容ファイル名サイズダウンロード形式
Code sample for Listing 1 in articleListing1.zip1KBHTTP

ダウンロード形式について


参考文献

学ぶために

製品や技術を入手するために

  • DB2 Express-C: DB2 Express 9 データベース・サーバーの試用版を無料でダウンロードしてください。

  • DB2 for Linux™, UNIX™, and Windows: DB2 のハイパフォーマンスと使い易さ、そして自己記述的な XML の利点を兼ね備えた対話型データ・サーバーの無料試用版をダウンロードしてください。

  • alphaWorks の XML Forms Generator: 標準ベースのデータ駆動型 Eclipse プラグインをダウンロードしてください。このプラグインは、XML データ・インスタンスまたは WSDL 文書から、XHTML 文書に XForms マークアップを組み込んだ機能的フォームを生成します。

  • IBM Data Studio: 統合データベース開発環境の無料の試用版をダウンロードしてください。データ・アクセスの効率性とパフォーマンスを向上させるこの環境では、アプリケーションを素早く設計、開発、デプロイメントできます。

  • IBM 製品評価用の試用版ソフトウェア: developerWorks から直接ダウンロードできる試用版ソフトウェアで、次のプロジェクトを構築してください。DB2®、Lotus®、Rational®、Tivoli®、および WebSphere® によるアプリケーション開発ツールおよびミドルウェア製品のトライアル版が揃っています。

議論するために

著者について

Photo of Xiao Feng Zhao

Xiao Feng Zhao は、China Software Development Laboratory の China Emerging Technology Institute に勤務するスタッフ・ソフトウェア・エンジニアです。IBM インキュベーター・プロジェクトを専門とする彼は、Web 2.0、SOA、J2EE、そして Web 技術に関心を持っています。現在取り組んでいるのは、Ajax および SOA 標準に対応した PoCs 開発です。

Qiang Wang photo

Qiang Wang は、China Software Development Laboratory の China Emerging Technology Institute でテクニカル・リーダーを務めています。専門は、IBM インキュベーター・プロジェクトと SOA 関連のトピックです。彼が関心を持っている分野には、J2EE、SOA、MDA/MDD、AOP、RUP、そしてプロジェクト管理があります。現在は、産業関連の SOA ソリューションのリーダーとして活躍しています。

Photo of Susan Malaika

Susan Malaika は (IBM Software Group の一部である) IBM Information Management Groupのシニア・テクニカル・スタッフです。専門分野は XML、Web、データベースであり、Global Grid Forum ではグリッド環境でデータをサポートする標準を開発しました。彼女は IBM 製品のソフトウェア開発者としての経験の他に、インターネット・スペシャリスト、データ・アナリスト、アプリケーションの設計者および開発者としての経験もあります。また Web に関する共著作があり、トランザクション処理や XML に関する記事も執筆しています。彼女は IBM Academy of Technology の一員でもあります。

Keith Wells photo

Keith Wells は、ノースカロライナ州リサーチ・トライアングル・パークにある IBM のソフトウェア・エンジニアです。この数年間、Emerging Technologies および Emerging Technologies Toolkit に取り組んできました。彼は現在、合成文書、モデル駆動開発、ソフトウェア標準、XML ベース技術でのさまざまな可能性を調査しています。

不正使用の報告のヘルプ

不正使用の報告

ありがとうございます。 このエントリーは、モデレーターの注目フラグが設定されました。


不正使用の報告のヘルプ

不正使用の報告

不正使用の報告の送信に失敗しました。


developerWorks: サイン・イン


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。 プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。 お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

表示名をお選びください

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

(半角英数字で3文字以上31文字以下にする必要があります)


「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


この記事を評価する

コメント

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=XML, Information Management, Web development
ArticleID=370286
ArticleTitle=XML Forms Generator と Data Studio との統合: 第 2 回 XFG での DB2 pureXML のサポート
publish-date=01202009
author1-email=zhaoxfbj@cn.ibm.com
author1-email-cc=
author2-email=wangq@cn.ibm.com
author2-email-cc=
author3-email=malaika@us.ibm.com
author3-email-cc=
author4-email=wellsk@us.ibm.com
author4-email-cc=

タグ

Help
このタグで、My developerWorks のすべてのタイプのコンテンツを見つけるために検索フィールドを使用します。

スライダーバーを使用することで、より多く(少なく)タグを表示します。

人気のタグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するトップのタグを表示します。

マイ・タグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するお客様ご自身のタグを表示します。

このタグで、My developerWorks のすべてのタイプのコンテンツを見つけるために検索フィールドを使用します。人気のタグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するトップのタグを表示します。マイ・タグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するお客様ご自身のタグを表示します。