IBM®
本文へジャンプ
    Japan [変更]    ご利用条件
 
 
検索範囲検索:    
    ホーム    製品    サービス & ソリューション    サポート & ダウンロード    マイアカウント    
skip to main content

developerWorks Japan  >  Information Management | XML  >

XForms と DB2 pureXML

XForms および DB2 pureXML による、IRS e-File Form 1120 対応のエンドツーエンド XML データ交換

developerWorks
ページオプション

JavaScript を要するドキュメントオプションは表示されません

サンプルコード

原文はこちら

原文はこちら


レベル: 中級

Keith Wells (wellsk@us.ibm.com), Advisory Software Engineer, IBM 
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月 08日

XForms で作成したページを表示しているブラウザーと、完全な XML サポートを備えた IBM® DB2® データベースとの間で、エンドツーエンドでの XML データの交換をする方法を理解してください。この記事を読めば、XForms を作成し、DB2 データベースとやり取りさせて XML データを保管、取得、削除する手順がいかに簡単かがわかります。さらに、Universal Services を使用して DB2 pureXML にアクセスする XForms を作成する方法も学べます。

はじめに

XML が現在、多くのソフトウェア・システム間でメッセージを交換する手段として広く使われているのは、そのわかりやすさ、読みやすさ、そして IT 業界全体での支持が理由となっています。XML 技術はこのように有効に機能することが実証されているため、銀行、保険、医療、小売といったその他の業界でもシステム間の通信を簡易化し、相互運用を可能にして煩雑さを軽減させるために XML 標準を開発しています。

ソフトウェア業界もまた、それぞれに規則の異なるアプリケーションの間で XML によるメッセージとドキュメントを作成して交換するアプリケーションを構築するための XML 標準とツールの改善に取り組んでいるところです。

Data Web Services を使用した pureXML のための Universal Services」(developerWorks、2008年5月) は、この記事の XForms をベースにした手法を補足説明します。要チェックです。

この記事では、XML メッセージ対応の pureXML データベースを簡単に作成するための技術、このような pureXML データベースを操作する Universal Web Services、そして保管された XML メッセージに問い合わせを行い、その結果をクライアントのブラウザーでユーザーに表示するために使用する XForms を紹介します。

最終目標

この記事の最終目標は、読者が XML ベースのアプリケーションを素早く作成できるようにすることです。XML 標準が役立つように、XForms で作成したページを表示しているブラウザーと XML データをネイティブに保管する DB2 pureXML データベースとの間で XML 文書を交換するようにします。




上に戻る


舞台の設定

このセクションでは、この記事を通して紹介する手法を理解する上で知っておくべき背景について説明します。


図 1. 舞台の設定
 舞台の設定


IRS e-File 1120 メッセージ

IRS (Internal Revenue Service) は米国財務省の一部門で、個人および企業が収入や貸付金額などの情報を申告するための支援を提供します。そのために IRS が定義しているのが XML (Extensible Markup Language) ベースの電子申告 (e-file) メッセージです。電子申告メッセージは紙による申告書提出に代わる手段で、そのうちの IRS e-File 1120 メッセージは、企業がその課税金額を知ることができるように設計されています。

XForms

XForms はフォーム・ベースのデータを表示、収集するための W3C による XML 標準です。XForms では表示用コントロールとデータとを厳格に分離しており、XForms で扱うデータは XML 形式になっています。XForms に関する developerWorks の記事やその他の資料については、この記事の「参考文献」セクションを参照してください。

XML Forms Generator

無料の XML Forms Generator をダウンロードしてください!

無料の XFG (XML Forms Generator) をダウンロードして、機能的な標準準拠のフォームを作成するのに使ってください。

XML Forms Generator ツールは、XForms 開発の活性化を目的とした IBM alphaWorks のパッケージ (Eclipse プラグイン) です。このツールは、XHTML 文書に XForms マークアップを組み込んだ有効かつ機能的なフォームを生成します。フォーム生成の入力には、XML スキーマが適用された XML メッセージ (オプション)、または WSDL 文書を使用することができます。WSDL 文書からは、応答処理テンプレート、要求/応答フォームの組み合わせを生成することも可能です。

XML Forms Generator が生成する文書はいずれも、フォーム、レイアウト、スタイルをカスタマイズする出発点として使用することができます。そして拡張ポイントが、フォームの生成中に後処理を行う可能性を提供します。

DB2 pureXML

無料の DB2 Express-C をダウンロードしてください!

完全な機能を備えた、リレーショナル・データと XML データのサーバーを無料でダウンロードして使用してください。

IBM DB2 では、XML 文書全体、または XML 文書のフラグメントを保管したり、管理したり、あるいはこれらの文書に対してクエリーを実行したりすることができます。アプリケーション開発者は今では DB2 データベース内部に直接 XML データを保管し、トランザクション、高度なデータ回復性、セキュア・アクセス、そして XQuery による大量の XML データ検索といった機能のメリットを活用できるようになっています。

DB2 pureXML では、リレーショナル・データでは当然とされるレベルと同じセキュリティー・レベル、保全性レベル、回復性レベルで簡単かつ効率的に XML にアクセスすることができます。

DB2 pureXML 業種別バンドル

業種別にバンドルされたサンプル・パッケージおよびデモには、XML 文書の業種別サンプル、関連 XML スキーマへのリンク、そして各業種のデータベース管理者、ソフトウェア開発者、アーキテクトが DB2 9.x pureXML の機能を使い始める際に役立つサンプル・コードが含まれています。詳細を調べたり、これらのサンプルをダウンロードするには、「参考文献」セクションを参照してください。この記事で使用するのは、IRS e-File 1120 用 pureXML バンドルです。

Universal Services

Universal Services を使うと、pureXML データベースを対象に決められたデータベース操作のセットを短時間で設定することができます。これらのデータベース操作はさらに Web サービス操作としても公開されます。ユーザーは公開された Web サービス操作を使用して、DB2 データベースの pureXML 列に保管された XML データに対して挿入、更新、削除などの操作、そしてクエリーの実行をすることができます。

Universal Services がベースとする Data Web Services は、データベース操作、ストアード・プロシージャー、ユーザー定義関数を Web サービスとして公開できるようにするためのメカニズムです。




上に戻る


シナリオ

このセクションでは、シナリオ全体の設定について概説した後、シナリオの中で事前に設定しておかなければならない部分について説明します。図 2 に示すように、この記事で説明する手法はデータ、Universal Services、ユーザー操作という 3 つの層からなります。図 2 にはさらに、この手法の利点の 1 つとなっているエンドツーエンドでの XML データ交換についても示してあります。つまり、データは XML として保管され、XML として交換され、ユーザーにも XML として表示されます。

図 1 に示されているように、XForms を使った表示の基礎として 1 つの IRS e-File 1120 XML メッセージが一貫して保管、交換、使用されます。


図 2. 全体的なアーキテクチャー
全体的なアーキテクチャー


各層の目的は以下のとおりです。

  • データ: データ層によって表される DB2 pureXML データベースには XML 型の列を持つテーブルが含まれます。このデータベースは、pureXML 列を使用して XML メッセージをネイティブ・フォーマットで保管します。この記事では、このデータベースに保管されたデータを対象に、IRS 1120 e-File メッセージの XForms を設計します。XML ベースのさまざまな業界標準に対応したサンプル・データベースをセットアップするには、DB2 pureXML 業種別バンドルを使用するのが手っ取り早い方法です。このシナリオでは、IRS e-File Form 1120 用に作成されたバンドルを使用します。

  • Universal Services: Universal Services 層では、データ層の DB2 pureXML データベースに含まれる XML 型の列に Web サービス操作を使ってアクセスし、その内容を変更することができます。

  • ユーザー操作: このユーザー操作層が、この記事の第一の目的となります。この層によって表されるのは、XForms を介したユーザー操作です。XForms を使うことで、DB2 pureXML データベースのデータを取得、変更、更新することが可能になります。XForms が pureXML データベースのデータにアクセスするために使う手段は、Universal Services です。

    IRS e-File 1120 XML メッセージを保管するように DB2 pureXML データベースをセットアップする方法、および Universal Services のセットアップについては、記事「Data Web Services を使用した pureXML のための Universal Services」に記載されています。



上に戻る


XForms

このセクションでは、DB2 pureXML データベースとのエンドツーエンドの XML 交換が可能な XForms を作成する基本的な手順を説明します。この手順は、以下のステップで構成されます。



ステップ 1: WSDL ファイルの入手

XForms を設計する際の最初のステップは、Universal Services 用の WSDL ファイルを生成することです。それには、「Data Web Services を使用した pureXML のための Universal Services」で説明しているように、URL http://localhost:8080/UniversalServices/wsdl にアクセスします。このとき URL にはローカル・システムの設定に応じた、ホスト名、ポート、あるいはその両方を適用する必要があります。このファイルをローカルに保存したら、.wsdl ファイルとして Eclipse プロジェクトにインポートまたはコピー・アンド・ペーストします。この記事では、WSDL ファイルに universalservices.wsdl という名前を付けて保存します。

ステップ 2: Universal Services と対話動作をする XForms の作成

pureXML のソリューションとして Universal Web Services と通信するための対話 (リクエストとレスポンス) 用の XForms とそれに対応する XML ファイルを生成するには、XFG (XML Forms Generator) ツールを使用することができます。Eclipse プラグインの 1 つである XML Forms Generator が、前のステップで Eclipse プロジェクトにインポートした Universal Services の Web サービス記述を処理します。

  1. universalservices.wsdl ファイルを選択し、選択状態になったこの WSDL ファイルを右クリックして、 XML Forms Generator メニュー項目から Generate Request/Response XHTML/XForms ウィザードを選択します (図 3 を参照)。

    図 3. WSDL ファイルからリクエスト/レスポンス用 XHTML/XForms を生成するオプション
    WSDL ファイルからリクエスト/レスポンス用 XHTML/XForms を生成するオプション



  2. ウィザードでは、生成している XForms の Web サービス操作を選択します。

XML Forms Generator ウィザードは、選択された Web サービス操作ごとに 2 つのファイルを生成します。操作の 1 つ、getXMLDocumentByKey 操作に対してウィザードが生成するファイルは getXMLDocumentByKey.xhtml と getXMLDocumentByKey.xml の 2 つです。以下のリスト 1 を見るとわかるように、getXMLDocumentByKey.xml は SOAP メッセージで、IRS e-File 1120 アプリケーションではこのメッセージがサブミットされることになります。


リスト 1. 生成された SOAP メッセージ
                
<?xml version="1.0" encoding="ASCII"?>
<soapenv:Envelope
	soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
	xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema">

	<soapenv:Header
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
	<soapenv:Body
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
		<UniversalServices:getXMLDocumentByKey
			xmlns:UniversalServices="UniversalServices">
			<id xsi:type="xsd:string" />
		</UniversalServices:getXMLDocumentByKey>
	</soapenv:Body>
</soapenv:Envelope>

生成されるもう一方のファイル、つまり getXMLDocumentByKey.xhtml は対話用 XForms です。生成された対話用 XForms をブラウザーでレンダリングすると、図 4 のように表示されます。


図 4. レンダリングされた getXMLDocumentByKey Web サービスの表示
レンダリングされた getXMLDocumentByKey Web サービスの表示


この対話用 XForms の部品をリスト 2 に記載します。この部品は後で使用することになります。


リスト 2. Universal Services に対する XForms のサブミット
                
<xforms:submission id="submit_model_Envelope" 
         action="http://localhost:8080/UniversalServices/services/UniversalServices"
         method="post" 
         mediatype="text/xml" 
         replace="instance">
  <xforms:toggle ev:event="xforms-submit-done" case="response"/>
</xforms:submission>

ステップ 3: IRS e-File Form 1120 の XML メッセージを表示する XForms の作成

業種別バンドルに含まれる IRS 1120 e-File XML メッセージをプロジェクトにインポートしてください (手順は記事、「Data Web Services を使用した pureXML のための Universal Services」に記載してあります) 。次に、XML Forms Generator の「Generate XHTML/XForms」ウィザードを使って表示用 XForms を生成します。このウィザードは IRS 1120 e-File XML メッセージのデータを使用して XHTML/XForms ファイル (表示用 XForms) を生成します。生成された表示用 XForms をカスタマイズして Firefox にレンダリングすると、図 5 のような表示になります。


図 5. レンダリングされた IRS e-File 1120 XML サンプル・メッセージの表示
Rendered view of the IRS e-File 1120 XML sample message


ステップ 4: エンドツーエンドの対話型 XML アプリケーションを作成するための 2 つの XForms (ステップ 2 と 3 で作成したもの) のマージ

対話用 XForms と表示用 XForms をマージすることで (リスト 3 を参照)、pureXML DB2 データベースに IRS e-File 1120 XML メッセージを問い合わせ、異なるメッセージを選択し、そして選択したメッセージを XForms の表示用コントロールを使用して表示するアプリケーションを組み立てることができます。対話用 XForms と表示用 XForms をマージするには、以下のステップに従ってください。

  1. すべての名前空間が正しく設定されていることを確認します。
  2. ステップ 3 で作成した XForms モデルを、返されるデータを表すように設定します。
  3. 関連する XPath 参照を変更して SOAP エンベロープのデータにアクセスするようにします。

リスト 3. 結合された XForms の基本構造
                
<xforms:switch>
  <xforms:case id="request" selected="true">
    <!-- Start Page for XForms demo -->
    <!-- Create Trigger to get all IRS e-File 1120 messages -->
  </xforms:case>
  <xforms:case id="primaryKeys">  
    <!-- Select from list of documents -->
    <!-- Copy/Paste from the XForms generated for the 
    getXMLDocumentByKey web service -->
  </xforms:case>       
  <xforms:case id="request_xforms"> 
    <!-- Form and data of an IRS e-File 1120 message -->
    <!-- Copy/Paste from the XForms generated from the 
    IRS e-File 1120 XML Document -->
  </xforms:case>   
</xforms:switch>

この記事の「ダウンロード」セクションに、対話用 XForms と表示用 XForms をマージする方法を詳しく説明した例があります。




上に戻る


まとめ

記事「Data Web Services を使用した pureXML のための Universal Services」の手順に沿って、データベースを作成し、そのデータベースと Universal Services を通じて対話動作する Web サービスをインストールした後、この記事の手順に従って、Web サービス・インターフェースを利用して DB2 データベースの XML 文書の取得、保管、削除を行う XForms をビルドしました。

XForms から DB2 pureXML にアクセスするこのソリューションは、XForms 対応ブラウザーとデータベースとの間のエンドツーエンドの XML データ交換を実現します (図 1図 2 を参照)。XForms の XML データを SOA インターフェースによってデータベースに統合、サブミットするということは、ユーザーとデータベースとの間の操作手順が少なくなること、サーバー処理が少なくなること、さらに XForms 対応ブラウザーの XML データを取得して処理するための開発時間が短くなることを意味します。





上に戻る


ダウンロード

内容ファイル名サイズダウンロード形式
XForms examplexforms_example.zip4.9KBHTTP
ダウンロード形式について


参考文献

学ぶために
  • Data Web Services を使用した pureXML のための Universal Services」(developerWorks、2008年5月): Universal Services を構成、テスト、変更する手順を学んでください。この一定のデータベース操作のセットによって、XML データをクエリーし、変更することが可能になります。

  • W3C XForms: 正式な XForms 仕様、そして各種の XForms レンダリング・オプションへのリンクが記載されています。

  • W3C サイト: XHTML、CSS (Cascading Style Sheets)、XML、XML Events、XPath、そして関連するその他の標準の詳細を調べてください。

  • Internal Revenue Service - United States Department of the Treasury: IRS (Internal Revenue Service) と各種のレポートを提出するためのフォーム、そして e-File フォームと呼ばれるこれらのフォームの電子バージョンについて調べてください。

  • IBM Data Studio: Get Started with Data Web Services」(developerWorks、2007年11月): 初めて Data Web Service を開発する人のために、その方法を極めて詳細かつ分かりやすく紹介しています。

  • Data Web Services: Build Web Services the new way to access IBM database servers」(developerWorks、2007年12月): Data Web Service を作成してカスタマイズしてください。この記事では Data Web Services のアーキテクチャー概要をはじめ、Data Web Services の理解に役立つ理論的背景を説明しています。また、セキュリティーをはじめとした Data Web Services のさまざまな側面についても取り上げています。

  • Exposing DB2 Version 9 pureXML using WebSphere Integration Developer」(developerWorks、2007年9月): Universal Services にアクセスするクライアントをビルドしてください。この記事では、WebSphere Integration Developer モジュールを使って整形式 XML モジュールを DB2 XML 列に保管できるメディエーション・モジュールをビルド、テスト、デプロイする方法をステップバイステップで案内しています。

  • developerWorks Information Management ゾーン: 情報管理について詳しく学んでください。このゾーンには、技術文書やハウツー記事、教育資料、ダウンロード、製品情報その他が豊富に用意されています。

  • developerWorks XForms space: XForms に関する情報を見つけると同時に、皆さんの経験を他の XForms ユーザーと共有してください。

  • developerWorks technical events and webcasts で最新情報を入手してください。

  • テクノロジー・ブックストア: この記事で紹介した技術やその他の技術に関する本を参照してください。


製品や技術を入手するために
  • Industry Formats and Services with pureXML: 多彩に揃ったサンプルを無料でダウンロードできます。それぞれのサンプルが、XML ベースの Industry Formats と pureXML を操作する方法を説明します。XML スキーマの登録方法、XML インスタンス文書の検証方法、XQuery または SQL/XML を使用した XML データのクエリー方法なども分かるようになっています。

  • DB2 Express-C: pureXML 技術など、他の Data Servers と同じ機能が組み込まれた DB2 の無料バージョンをダウンロードしてください。DB2 Express-C は自由に開発、デプロイ、配布できます。

  • Mozilla XForms: このプラグインを使って、標準準拠のフォームを Mozilla Firefox でレンダリングしてください。

  • FormsPlayer: XForms を Internet Explorer でレンダリングするには、このプラグインを使用してください。

  • XML Forms Generator: alphaWorks が提供するこの Eclipse ベースのツールを使用して、マウスのクリック 1 つで機能的な標準準拠のフォームを作成してください。

  • Visual XForms Designer: 標準に基づく、この使いやすい Eclipse プラグインでは、XForms マークアップを使用した文書をビジュアル・ユーザー・インターフェースで簡単に開発できます。このプラグインのインストール手順、前提条件、フォーラムを調べてください。

  • Compound XML Document Toolkit: SVG (Scalable Vector Graphics)、MathML、SMIL (Synchronized Multimedia Integration Language) をはじめとする、オープン標準 XML マークアップを調べてください。

  • 次期開発プロジェクトの構築に、developerWorks から直接ダウンロードできる IBM の試用版ソフトウェアをご利用ください。


議論するために


著者について

Keith Wells photo

Keith Wells は、ノースカロライナ州所在の RTP、IBM Emerging Standards で XForms 開発のテクニカル・リーダー兼チーム・リーダーを務めています。現在彼は W3C Forms Working Group のメンバーとして、XForms、新たなソフトウェア標準、業界標準、そしてその他の XML ベースの技術での可能性を研究しています。


Susan Malaika photo

Susan Malaika は、IBM Information Management Group (IBM Software Group の一部) のシニア・テクニカル・スタッフです。専門分野は XML、Web、データベースで、Global Grid Forum ではグリッド環境でデータをサポートする標準を開発しました。Web に関する共著作があり、トランザクション処理と XML を取り上げた記事も発表しています。彼女は IBM Academy of Technology の一員でもあります。


Christian Pichler photo

Christian Pichler は、オーストリアの Technical University of Vienna からの協力者です。彼は現在、コンピューター・エンジニアリングとコンピューター・サイエンスでのダブル修士号の取得を目指し、医療を焦点とした論文に取り組んでいます。また、IBM 向けに DB2 に保管した XML を Web サービス、フィード、そして XForms を介してアクセスするための技術を研究しています。彼の専門は、医療を対象とした XML 標準です。




記事の評価


サイト改善のため、ご意見をお寄せください。こちらのフォームからお願いいたします。



 


 


不充分・不完全である大変素晴らしい
 


この記事を共有する

del.icio.us del.icio.us newsing newsing FC2ブックマーク FC2ブックマーク
Choix! Choix! ニフティクリップ ニフティクリップ Yahoo!ブックマーク Yahoo!ブックマーク
MM/memo MM/memo CZブックマーク CZブックマーク livedoorクリップ livedoorクリップ
はてなブックマーク はてなブックマーク Buzzurl(バザール) Buzzurl(バザール)




上に戻る


    日本IBMについて プライバシー お問い合わせ