マイクロソフトの次期Officeは文書作成ソフトの枠を越え,業務システムのクライアントの座を狙う。Visual Studio .NETなどで開発したプログラムと連携できるようになり,新しくGUI開発ツール「InfoPath」を提供する。ただ,業務システムとの連携部分は弱く,作り込む必要がある。

図1●Office文書をプログラムで拡張できる
Visual Studio .NETなどで開発したプログラムと,Excel,Wordの文書が連動する。プログラムはOfficeソフト内で表示し,Office文書とデータのやり取りが可能
 現在の「Office XP」は「Office 2003」に変わり,Office 2003とポータル・ソフト「SharePoint Portal Server」などを含んだソフトやサービスの総称として,新たに「Office System」という名称が付けられる。製品出荷は2003年第3四半期を予定し,現在はベータ版を提供している(本記事はベータ版を基にしている)。

 Office Systemの目玉は,カスタマイズ機能の拡張である。具体的には,入力したデータをXML(Extensible Markup Language)文書の形式で取り出す機能や,Visual Studio .NET(VS.NET)などで開発したプログラムとの連携機能を,WordやExcelに加えた。さらに,GUI画面を簡単に開発する新ソフト「InfoPath」を提供する。

 マイクロソフトは,「使い慣れたOfficeが業務システムとつながれば,利用者にとってメリットがある」(製品マーケティング本部 オフィス製品部 シニアプロダクトマネージャ 細井智氏)とする。Webブラウザのように機能が制約されることはなく,操作法を教育する必要もない。また新ソフトのInfoPathによって,「デベロッパではなく,現場のOAリーダーが(クライアント・プログラムを)開発できるようになる」(細井氏)。業務システムの利用者が自ら作成すれば,使い勝手の良いプログラムになると見ている。

VS.NETで機能拡張

 これまで業務システムのデータベースにExcelなどからアクセスする例は多かった。しかし現在のOfficeをクライアント・プログラムとして見た場合,(1)機能を拡張しようにもマクロやスクリプトではできることが限られる,(2)入力したデータだけを簡単に取り出せない――といった弱点がある。

 Office Systemは(1)の機能拡張の問題を,VS.NETなどで開発したプログラムと連携する機能「XML拡張パック」で補う。この機能を使えば,例えばExcelのセルをヒットするとあらかじめセルと連携させておいたプログラムが起動し,セルに入力する候補をデータベースから参照して一覧表示することなどが可能になる。VS.NETなどで開発したプログラムはExcelの「作業ウインドウ」という領域に表示され,Excelとの間でデータのやり取りができる(図1[拡大表示])。このように拡張した文書を「スマート ドキュメント」と呼ぶ。

 VS.NETなどで開発したプログラムは,Excelなどの文書ファイル内に保存されない。プログラムとの対応関係は「マニフェスト ファイル」と呼ぶ別のファイルで管理し,その中にプログラムの保存場所などを記す。プログラムはサーバーで集中管理しておくことが可能で,必要な時にクライアントにダウンロードして実行できる。プログラムの明示的な配布は必要ない。

 (2)のデータの問題は,Office Systemでは「エクスポート」機能で解決した。あらかじめ指定しておいたスキーマに基づいて,入力したデータのみをXML文書形式で生成する。そのほか,スキーマの定義がないXML文書を読み込んで,その文書のスキーマを自動的に作成する機能を備える。

ノンプログラミングが基本

図2●新ソフトの「InfoPath」はデータ入力プログラムの開発,実行ソフト
業務システムのクライアント・プログラムを簡単に作ることを目指した。ノンプログラミング開発を基本とし,入力データはXML文書形式で保存可能である
 新ソフトのInfoPathは,クライアント・プログラムの開発機能と,開発したプログラムの実行機能を備える。InfoPathの開発機能は,Visual Basicなどの開発ツールより簡単にクライアント・プログラムが作成できることを目指している。ノンプログラミング開発が基本で,入力フィールドやボタンの配置といったユーザー・インタフェースの作成だけでなく,入力データの妥当性をチェックするルールなどもノンプログラミングで設定できる(図2[拡大表示])。基本はノンプログラミング開発なのだが,業務ロジックなどを組み込みたい場合は,VBScriptなどのスクリプト言語を利用することが可能である。InfoPathで入力したデータは,XML文書の形式で保存される。

 このようにOffice Systemのカスタマイズ機能は大幅に強化されている。だが,基本的にXML文書を作成する機能にとどまり,狙いとする業務システムとの連携機能はまだ弱い。Office SystemではWebサービスの利用を想定しており,業務システムとの連携部分を作り込む必要がある。

 また,開発者から見た場合,Office Systemのカスタマイズ機能は中途半端な印象である。Officeの文書に対してVS.NETで機能拡張するより,最初からVS.NETだけを使う方が開発は簡単だ。InfoPathの特徴を生かすには,プログラムの仕様が,ノンプログラミングで実現できる範囲に制約される。

(松山 貴之=matsuyam@nikkeibp.co.jp)