技術解説
Office 2003のXMLスキーマ・サポートがもたらすインパクト

2.Excel/InfoPathとXML

Greg DeMichillie
2003/10/03
Copyright (C) 2003, Redmond Communications Inc. and Mediaselect Inc.

Excelを使ったデータ分析

 Excelはビジネス/財務分析ツールとして広く採用されており、XMLデータのインポート先としては筆頭の候補だ。Excel 2003では、ローカル・システムのXMLファイルから、Webサービスによって提供されるXMLデータまで、各種のXMLソースからデータをインポートできる。

導入が容易、使い慣れたインターフェース

 Excelではリスト機能にXMLが組み込まれる。リスト機能は、ユーザーがデータのリストを構築、ソーティング、フィルタリングするためのもの。XMLデータはXMLデータ・ソースからドラッグ&ドロップするだけで、リストに追加できる(画面「ExcelにXMLをインポートする」を参照)。Microsoftは、すでに広く利用されている機能を土台にすることで、ExcelのXML機能の使い勝手を良くすることに成功している。

ExcelにXMLをインポートする
 この画面ショットは、カスタム・スキーマによってXMLデータに接続されたExcelワークシートを表している。メイン・ウィンドウには日付や説明などのデータが表示されており、ユーザーはExcelで使い慣れたリスト機能のドロップダウン・メニューを使って、データのフィルタリングやソーティングを実行できる。
 右側のXML Sourceペインには、このワークシートに使われているスキーマが表示されている。この例では、Descriptionエレメントが選択されているため、ワークシートでは対応する列が強調表示されている。

 ExcelがXMLのカスタム・スキーマをサポートすることで、ユーザーには以下のようなメリットがもたらされる。

●ODBCよりも導入がシンプルに
 Excelの現行バージョンではMicrosoft Open Database Connectivity(ODBC)APIを介して、データベース・システムからデータを引き出せる。XMLベースのソリューションがODBCベースのソリューションに取って代わることで、導入は簡略化されるはずだ。使用するデータベース・システムの種類に応じでクライアントに特定のドライバをインストールする必要があるODBCとは異なり(例えば、SQL Server向けのドライバとOracle向けのドライバなど)、XMLの採用が広まれば、XMLが「普遍的なドライバ」の役割を果たすことになるからだ。Webサービスを介してデータベース・システムにアクセスし、データをXMLとして戻せる限り、新規にクライアント・ソフトウェアを用意しなくても新しいデータベースを簡単にソリューションに組み込める。

●使い慣れた方法で利用できる
 Excelは分析ツールとして広く使用されているため、バックエンド・システムからデータを取り出してExcelに読み込むといった使い方をしているパワー・ユーザーは多い。新しいXML機能はそうした使い慣れた機能を土台としているため、ユーザーにとって使いやすいものになるはずだ。また、ExcelとODBCをベースとするカスタム・ソリューションについても、エンド・ユーザーの体験を変えることなく、Webサービスに変換できるため、Webサービスへの移行を検討している企業はユーザー・トレーニングの手間を軽減できる。

サポートされないスキーマも

 ExcelではXMLデータを分析するための多数のツールを利用できるが、XMLスキーマの中には一部、Excelがサポートしないものもある。Excelは最も目立ったところでは、あるデータ型が同一のデータ型の別のインスタンスにも含まれるような再帰的スキーマをサポートしないほか、「any」型(任意のデータを扱うことを表す総称的なプレースホールダ)を使用するスキーマもサポートしない。こうした制限ゆえに企業がExcelを有効に使えないといったことはないだろう。ただし、ITプランナーは自分のデータやスキーマにこうした制限が当てはまる場合は、そのデータをExcelユーザーに提供する前に追加の作業が必要となることに留意すべきだ。

InfoPathとXMLフォーム

 InfoPathは、XMLデータを表示、キャプチャするフォームを構築するための新しいOfficeアプリケーションだ。XMLを既存のアーキテクチャや機能にどのように統合するかが大きな問題となったWordやExcelとは異なり、InfoPathはXMLを念頭にゼロから構築されている。

 InfoPathのフォーム・テンプレートは、フォームの表示に必要となる以下のようなコンポーネントをすべて含む1つのファイルで構成される。

  • フォームが使用するスキーマ

  • XMLに含まれるデータを表示するためのスタイル・シート

  • グラフィック要素(JPEGファイルやGIFファイルなど)

  • 空のフォームが作成された場合に表示されるデフォルトのデータ

  • カスタムな妥当性検証やそのほかのローカルなデータ処理の実行に用いるビジネス・ロジック(カスタム・コードの形で)

 さらに、開発者はInfoPathのフォーム・テンプレートにカスタマイズしたバイナリのCOMオブジェクトを含めることで、InfoPathの機能を拡張できる。

.NETを使った場合よりもフォームの作成が容易

 InfoPathの主要な機能はXMLデータをキャプチャして表示するフォームを作成することであるため、Microsoftのそのほかのフォーム製品との比較は不可避だ。.NET Frameworkを構成する2つのフォーム技術(シック・クライアント・アプリケーション向けのWindows Formとシン・クライアント・アプリケーション向けのASP.NET Web Form)と比べて、InfoPathには以下のようなメリットがある。

●オーサリングが容易
 InfoPathでは、フォームを作成し、ユーザー・インターフェースの要素をXMLデータと接続させる作業が、Microsoftのほかのフォーム技術と比べて格段に簡略化される。Windows FormとASP.NET Web Formの場合はいずれも、ユーザー・インターフェースの要素をXMLデータの要素と接続させるにはコードを記述する必要がある。InfoPathでは、そうした接続はドラッグ&ドロップだけで済ませられる。実際、InfoPathを使ってXMLベースのフォームをオーサリングする作業は非常に簡単なため、多くの開発者はまず間違いなく、InfoPath技術の一部がVisual Studioの次期バージョンに組み込まれることを望むだろう。ただし、Microsoftはそうした計画については発表していない。

●オフライン機能を搭載
 InfoPathではオフラインのデータ・キャッシュを作成するプロセスの多くが自動化され、オフラインで作業するためのユーザー・インターフェースはそのほかのOfficeアプリケーションと同じだ。ユーザーはメニューから[保存]」を選び、ファイルの保存場所として自分のローカル・ディスクを選択するだけでよい。入力したデータはすべて、自動的にフォームおよび関連のビジネス・ロジックとともに保存される。

●妥当性の検証機能を搭載
 InfoPathには、Microsoftのそのほかのフォーム技術には搭載されない、妥当性検証のための数多くの自動機能が搭載される。InfoPathはフォームの基底のスキーマを認識するため、そのスキーマに対してユーザーのインプットを自動的に検証できる。例えば、テキスト・アイテムの長さがスキーマで定められている上限を超えているなど、無効なデータが入力された場合にはその旨をユーザーに通知できる。

採用を躊躇させる可能性とは?

 ただし、InfoPathにも欠点がないわけではない。その中には、採用を決める前に徹底的に検討すべき重要なものがある。

●製品の重複
 InfoPathはその性質からして、Microsoftのそのほかの製品と相当の部分で重複している。最も目立ったとことでは、.NET Frameworkに含まれるフォーム技術だ。こうしたことから、開発者がせっかく時間をかけてソリューションを開発しても、結局、別の製品や技術を使ったほうが良かったという結論に達するのではという懸念が生まれている。こうした混乱に対するMicrosoftの答えは、「InfoPathはOfficeユーザー向けに設計されており、Windows FormとWeb Formは開発者をターゲットにしている」というものだ。だがこの回答は、開発者にとってはInfoPathのオーサリングの容易さが魅力になるという点や、いずれにせよナレッジ・ワーカーがエンド・ユーザーであるという事実を無視している。

●スクリプティングへの依存
 InfoPathでは、VBScriptまたはJScriptのカスタム・コードをフォームに追加できる。だが、スクリプティング技術へのこうした排他的な依存は「VBScriptなどの古い技術から、Visual Basic .NETやC#といったプログラミング言語と.NET Frameworkにできる限り迅速に移行する」というMicrosoftの全体的な開発者戦略に反するものだ。このことは今後、InfoPathが.NET Frameworkを採用した場合に、ITプランナーにとってコード移行の問題をもたらす可能性がある(Office開発ツールの状況については、コラム「Office向けの開発ツール」を参照)。


 INDEX
  [技術解説]Office 2003のXMLスキーマ・サポートがもたらすインパクト
    1.スマート・クライアント向けプラットフォームの本命
         コラム:スキーマの役割とは
  2.Excel/InfoPathとXML
         コラム:オフラインのアプリケーション・サポートはなぜ難しいか
    3.Wordデータをビジネス・プロセスに認識させる
         コラム:Office向けの開発ツール
 
 技術解説


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間