特集

InfoPathの衝撃
―― マイクロソフトの新しい戦略Officeスイート「InfoPath」によって、XML技術は新時代を迎える ――

吉松史彰
2003/03/26


ベールを脱いだInfoPath

 2003年3月10日、MicrosoftはOfficeスイートの新版「Office System 2003 Beta 2」(以下Office 2003)のダウンロード公開を開始した。このOffice 2003の最も重要な特徴は、広範囲に及ぶXMLのサポートである。このOffice 2003のXML対応には、どういう意味合いがあるのか。そしてエンドユーザーと開発者に、それぞれどんな影響があるのだろうか。

 例えば筆者のようにごく細々と生活している人間でも、日々かかった交通費をExcelに入力し、確定申告のときにはExcelの計算結果を国税庁のWebシステムに転記し、そこから出力された計算結果をさらに申告書に手書きするという作業を行っている。会社員ならなおさら、交通費や営業日報、出張予定書に仮払い申請書と、ありとあらゆる「定形フォーム」に日々データを入力しているはずだ。

 この「定形フォーム」に入力されたデータというのが、意外にタチが悪い。というのも、基本的にある単一の目的で利用することを前提に記入させられるので、その目的が達せられた後で、データだけを再利用するようなことが考慮されていないからだ。このため出張予定書と仮払い申請書に書いたものと全く同じ内容を、出張から戻ってから出張報告書に記入させられるようなことが起こる。

 そういうわけで、少し腕に覚えのある開発者は、入力用のExcelシートにせっせとマクロを記述して、予定書の内容が報告書に自動転記されるように工夫する。ところが実は、報告書を受け取った経理の担当者は、Excelシートの内容を目で追いながら、さらに別のシステムにせっせと入力しなおしていたりするものだ。報告書がマクロで自動記入されるようになったくらいでは、全体の生産性はちっとも効率化しないのである。

 この問題のポイントは、従来のExcelやWordが保持しているデータは、ExcelやWordを使わなければほとんど入手不可能だったということだ。Excelに入力されたデータは、単なるデータではなく「Excelのデータ」である。経理のシステムは「経理システムのデータ」を扱うのであって、Excelのデータは扱えない。だとすれば、「データ」とそれを利用する「ツール」を明確に分離して、データだけをさまざまなツールやシステムで使いまわせれば、このような転記作業の問題はなくなるはずだし、転記されなかったために重要なデータが埋もれてしまうのも防げるはずだ。

 さまざまなツールやシステムで使いまわすためのデータの形式として、XMLが選択されたのは当然だろう。Office 2003のExcelやWordは、従来にも増してXMLの読み書きの機能が向上している。しかし、WordやExcelではいわゆる「フォーム」は作りづらい。Wordはあまりにもフリー・フォーマットだし、Excelでは表形式にうまくマッチしないデータは入力しづらい。そこで、定形フォームを作成する専用ツールとしてMicrosoftが開発したのが、コードネーム「xDocs」と呼ばれていた、「InfoPath 2003」(以下InfoPath)だ。InfoPathは、定形フォームを使ったデータ入力の支援ツールだといえる。InfoPathで作成した「フォーム」にデータを入力し、そのデータをのちにさまざまな場面で使いまわすというのが、Microsoftが描くOffice 2003の利用法であるようだ。

開発者とエンドユーザーに与えるインパクト

 InfoPathは、大きく以下の3つの機能を備えている。

  • フォームの作成機能
  • フォームの入力機能
  • 作成されたデータを操作する機能

 さて、ここで開発者である読者に考えてほしい。従来、上記で挙げたような問題が情報システム部門に持ち込まれた場合、開発者はそれにどう対処していただろうか。最もありがちな対処法が、データの保管場所を統一したシステムを構築し、すべての「書類」はそのシステムのアウトプットとして自動生成されるようにすることではないだろうか。今どきだと、たいていこのようなシステムはWebベースで開発されることになる。しかしこの場合でも、エンドユーザーはExcelや従来のVisual Basic製クライアント・アプリケーションが持っていたような操作性を期待するため、集計処理を柔軟に行いたいとか、入力チェックを厳密にとか、結果をクライアント側のプリンタで印刷したいとかといった無理難題が積みあがることになる。きっと身に覚えのある開発者がたくさんいることだろう。こうした無理難題に応えることが、情報システム部門と開発者の存在意義であるといっても過言ではない。

 ところがInfoPathを使うと、これらは無理難題ではなくなってしまう。もともと集計処理が得意なExcelはユーザーの手元にある。印刷もクライアント上で動作するOfficeアプリケーションなら何の問題もない。エンドユーザーにとって難しかったのは、入力チェックなどのプレゼンテーション・ロジックの実装と、作成されたデータをファイルとして保存するだけではなく、部署のデータベースなどに格納する手順を実装することだろう。InfoPathは衝撃的なほど簡単に、これらの機能をエンドユーザーの手元に提供する。

 

 INDEX
[特集]InfoPathの衝撃
     1.衝撃 1: スキーマ・ベースの簡単なフォーム作成(1)
     2.衝撃 1: スキーマ・ベースの簡単なフォーム作成(2)
     3.衝撃 2: “100% Pure XML”のアウトプット
     4.衝撃 3: XML Webサービスとの連携
 


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間