(Bill Sheldon)

 「Microsoft Office 2003」と「同Office SharePoint Portal Server 2003」は同時にリリースされた製品である。SharePoint Portal Server 2003は,ポータル・サイト構築ソフトで,その機能は前のバージョンを遥かにしのいでおり,Office 2003と緊密に連携する。ここではOffice 2003のInfoPath 2003をSharePoint Portal Serverと連携させる方法などを解説しよう。

 InfoPathは,Office 2003を構成する製品の1つだが,Microsoftはこの製品をパッケージとして市販しなかった。InfoPathを入手するにはボリューム・ライセンス契約で「Office Professional 2003 Enterprise Edition」を購入する必要がある。ボリューム・ライセンスによる購入以外にも,MSDN(Microsoft Developer Network)の会員になる,単品で購入するという方法しかないのである。

 Microsoftは恐らく2つの理由でInfoPathの購入方法を制限している。1つはInfoPathが開発ツールであることだ。そしてより重要なもう1つの理由は,同製品に課題が山積していることだろう。問題を抱えているのに,なぜMicrosoftは企業ユーザーにInfoPathを提供したのか。企業システムの開発は大きく分けて,必要な機能がある既存製品を使うか,ゼロから開発するか,――の2通りがある。Microsoftはこのうち後者の市場に向けてInfoPathの最初のバージョンを提供したのだ。InfoPathはフォームを作成して利用するソフトなので,一般消費者が同製品を活用するのは難しいが,企業ならフォームを開発して,従業員に配布するだけの力がある。

SharePointのカスタム・フォーム作成に便利
 InfoPathが特に活躍するのは,SharePoint Portal Server 2003のカスタム・フォームを作る場面である。SharePoint Portal Server 2003はWebパーツという独特の仕様の部品ソフトを利用すると簡単にカスタマイズできるが,Webパーツの開発そのものは難しい。Microsoftはこの問題に対処すべくInfoPathを設計した(Webパーツ開発のしやすさは次期開発ツールVisual Studio 2005で変わるだろう)。

 InfoPathはハイレベルのXML(拡張可能なマークアップ言語)オーサリング・ツールとして設計されている。Webベースのカスタム・フォームが,詳しい専門知識なしで作成可能になっており,作成したフォームをSharePoint Portal Server 2003のサイトで利用したり,電子メールで送信したりできる。

 しかし,同製品には印刷機能がないといった,いくつかの重要な機能が欠けているほか,1つ重大な制限がある。InfoPathで作ったWebベースのフォームを開くには,InfoPathクライアントを使わなければならないのだ。Microsoftは現在,Office 2003用のサービス・パックを準備しており,その一環としてInfoPathを大幅に改良する予定だ。そのときはInfoPathが大きな注目を浴びるだろう。

より進んだ連携方法が可能になっている
 InfoPathで設計したフォームは.xsn拡張子のファイルとして保存される。実はこのときInfoPathはXMLベースのアプリケーション・インターフェースを作成している。つまり,InfoPathが保存した.xsnファイルには,フォームの表示に必要なXSLT(エクステンシブル・スタイル・ランゲージ・トランスフォーメーションズ)とXMLがすべて入っている。

 あまり知られていないが,.xsnファイルの実体は標準的な圧縮形式の.cabファイルである。例えば,.xsnという拡張子を.cabに変えると,Windowsの標準機能であなたが作ったフォームのXMLファイルとXSLTファイルのソースを調べられる。これは公式にはサポートされていない方法だが,これによって自分がコンパイルしたフォームの構成要素に直接アクセスして,コードを修正できる。

 そして,この仕組みを活用すれば,InfoPathを使って作成したフォームはSharePoint Portal Server 2003のサイトに直接公開できる。他のOfficeアプリケーションでそのデータを使えるようにもできる。

 また,InfoPathはデータをADO(ActiveXデータ・オブジェクツ)インターフェース経由でデータベースに書き込んだり,XMLファイルに書き出したりする機能をサポートしている。私が「Collaborating at the Office(Officeによるコラボレーション)」(該当サイト)という記事で論じたように,データベースに取り込んだデータをVisual Studio Tools for the Microsoft Office Systemという開発ツールでも利用できる。

 ただし,Office 2003のXMLサポート機能は非常に強力である。そのため,InfoPathは主にデータを入力してXMLファイルに保存する役割を担い,保存されたXMLデータの表示にはWord 2003やExcel 2003の機能を使うことになるだろう。

 以上のような使い方は,一見すると地味だが,動的に変化するデータを扱うシステムがOfficeで開発可能になるという点で画期的だ。ビジネス・プロセスとワークフロー関連製品のベンダー2社が,具体例を示している。1つはSourceCode Technology Holdingの「K2.net」(該当サイト)で,もう1つはCaptarisの「Teamplate Workflow Wizard」(該当サイト)である。これらには,比較的大きな企業のワークフロー・ソリューションの一部としてInfoPathを使えるようにするロジックが組み込まれている。いずれも緊密なチーム・コラボレーション環境をInfoPathとSharePoint Portal Server 2003をベースに構築するための製品だ。

参考になる数々の情報が公開に
 InfoPathとSharePoint Portal Server 2003でカスタム・ソリューションを構築する方法をさらに詳しく知りたい人は下記のサイトをチェックするとよいだろう。

・InfoPath SP1プレビュー版の入手先(英語版)
・InfoPathのトレーニング用情報(英語)
・InfoPathの開発者向け情報(英語)
・InfoPathの製品情報(日本語)
・InfoPathのアーキテクチャに関する情報(英語)