技術解説
|
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向けの開発ツール | ||
技術解説 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|