技術解説

Office 2003で変わる業務アプリケーション
―― .NET Frameworkテクノロジを使ったスマートな展開 ――

1.業務アプリケーションとOffice 2003ソリューション

一色 政彦
2003/11/27

 現在、多くの業務がコンピュータ上の業務アプリケーションを利用して進められるようになってきた。おそらくあなたの会社でも、販売管理/在庫管理/財務会計などの基幹系業務から、顧客管理/業務報告/営業支援システム(SFA)/社内情報システム(グループウェア)などの情報系業務まで、多くの業務がコンピュータ上の業務アプリケーションで行われるようになってきたのではないだろうか。

業務アプリケーションのフロントエンド

 この中でも特に、情報系の業務システムでは、社員全員や部署全員などの大量のクライアントに対して、アプリケーションを展開しなければならない場合が多い。そのため、サーバにインストールするだけで、各クライアントにはインストールする必要がない「Webアプリケーション」が採用されることが多くなっている。しかしこのWebアプリケーションは、Webブラウザのユーザー・インターフェイスをフロントエンドにしているため、「表現力が乏しい」「Webブラウザ間で表示や動作が異なる」などの、Webブラウザの制約を受けてしまう。

 こうしたWebアプリケーションへの反動として、リッチ・クライアント(マイクロソフトは「スマート・クライアント」と呼んでいる)への注目が高まっている。リッチ・クライアントとは、ユーザー・インターフェイスなどのプレゼンテーション処理をクライアント側コンピュータで実行するもので、何のことはない、従来の慣れ親しんだWindowsアプリケーションや、Visual Basicアプリケーションなどを利用したクライアント/サーバ・システム(以降、C/Sシステム)はこの形式になる。

 クライアント/サーバ型コンピューティングの問題点は、クライアント・アプリケーションのバージョン管理が煩雑になることだ。従来型C/Sシステムの問題点は、インターフェイスの制御だけでなく、ビジネス・ロジックの処理(業務アプリケーションの本質であるさまざまな情報処理)も含んでいるため、システムの仕様変更が必要になると、クライアント・アプリケーションのバージョンアップが避けられないということだ。そしてクライアント・アプリケーションをバージョンアップしたら、それらのクライアントへの再配布を徹底しなければならない。さもなければ、バージョンの不整合などが発生し、システムを正しく運用できないからだ。しかしこの作業は容易ではなく、TCO増大の大きな要因になってしまった。このことは、すべてのシステム管理をサーバ側で集中的に行えるWebアプリケーションの台頭を許した背景にもなった。

 これに対し昨今では、C/Sシステムのクライアントへの展開の問題を克服しながら、リッチなユーザー・インターフェイスを実現する方法がいくつか考案されている。例えば、ユーザー・インターフェイスの部分をMacromedia Flash(以降、Flash)で構築して、Webブラウザ自体の表現力を向上させる方法がある。FlashはWebブラウザで実行可能なコンポーネントで、Webブラウザ内での自由な描画と操作が実現できる。また、Flashで記述されたプログラムを実行するFlash Playerは、Webブラウザの95%以上にインストールされており(参考:Macromedia Flash Player Statistics)、WebページにアクセスするだけでActiveXコントロールとして自動的にインストールすることが可能なので、各クライアントへの展開の問題も少ない。Flashを使った例については、「@IT FYI―FlashとColdFusion MXによるエンタープライズアプリケーション構築セミナー」などを参考にしていただきたい。

 別の方法として、.NET Frameworkの「ノータッチ デプロイメント」機能を使って、リッチクライアント・アプリケーションをWebアプリケーションのように展開するという方法もある。特に、ノータッチ・デプロイメントは、表現力が豊かなWindowsのユーザー・インターフェイスをそのまま使えるので、今後の発展と普及が期待される(ノータッチ・デプロイメントについては「Insider.NET:特集 ノータッチ・デプロイメント」を参照されたい)。

 以上のように、Webアプリケーションの表現力の問題点を回避するための方法として、Flashを使ってWebブラウザ自体の表現力を向上させる方法と、.NET Frameworkのノータッチ・デプロイメントによって、リッチなユーザー・インターフェイスのWindowsアプリケーションをWebアプリケーションのように展開するという方法がすでにある。さらにこれらに加えて、Office 2003の登場によって、Webアプリケーションの表現力を克服する新たな方法も出てきた。それが、今回ご紹介する「Office 2003をフロントエンド・コンポーネントとして利用するソリューション」だ。

Office 2003で追加されたアプリケーション・デプロイメント機能

 Office 2003では、.NET Frameworkのテクノロジ(詳細は後述)を使用して、アプリケーションの展開を行う機能が新たに追加された。これには、Office 2003アドイン(Office 2003を拡張するプログラム)用の.NETアセンブリを実装する。.NETアセンブリとはMicrosoft .NET Framework上で動作するプログラムのことで、独自のセキュリティ機能や前述したノータッチ・デプロイメント機能など、.NET Frameworkのテクノロジを利用できる。Office 2003 アドイン用の.NETアセンブリは、この.NET Frameworkのテクノロジが利用できるという点で、従来のOfficeマネージCOMアドインとは異なるものである。Office 2003用の.NETアセンブリを作成するには、Visual Studio .NET 2003用のプロジェクト・テンプレートである「Visual Studio Tools for the Microsoft Office System(以降、VSTO)」を使う必要がある。ただし、.NET Frameworkのテクノロジを使わずに、従来どおりのOffice 2003マネージ COMアドインを実装する場合は、Visual Studio .NET だけでも開発はできる(詳細はMicrosoftのサイトを参照していただきたい)。

VSTOによって構築できる業務ソリューションの可能性について

 本稿は、VSTOを利用したフロントエンド・アプリケーションの具体的な開発方法ではなく、.NET Frameworkテクノロジ+VSTOによって構築できる業務ソリューションの可能性について、主にITプロフェッショナル向けに解説することを主眼としている。開発者向けのVSTOの解説は、追ってInsider.NETフォーラムの記事として公開する予定だ。VSTOによるアプリケーション開発に興味のある開発者や、Officeをコンポーネントとして活用したシステムの開発を従来のVBA(Visual Basic for Applications)からC#/VB.NETに切り替えたい開発者は、本稿でVSTOを利用したソリューションの概要と機能について理解したうえで、Insider.NETの記事をお読みいただきたい。

 なお、Office 2003には、業務アプリケーション開発を円滑化/効率化させる新機能がいくつか追加されている。代表的なものでは、XMLスキーマで基幹システムと連携できるようになる「XML機能の追加と拡張」、自動認識などの機能が追加された「スマート タグ(Smart Tags) 2.0」、作業ウィンドウ(Task Pane)上にコンテキスト依存の情報を表示できる「スマート ドキュメント(Smart Document)」、作業ウィンドウ(リサーチ)上にWebサービスを使って取得した情報を表示できる「リサーチ&リファレンス(Research & Reference)」などがある。ただし今回は、リッチ・クライアント・ソリューションで最も気になるアプリケーションのデプロイメントに注目し、これらの機能に関しては触れない。ご了承いただきたい。

 それでは、Office 2003をフロントエンド・コンポーネントとして活用することで、業務アプリケーション環境がどのように変わるのかを解説していこう。

 

 INDEX
  [技術解説]Office 2003で変わる業務アプリケーション
  1.業務アプリケーションとOffice 2003ソリューション
    2.Office 2003をフロントエンドにした業務アプリケーション
    3..NET Frameworkテクノロジの利用
    4.Office 2003 業務アプリケーションの展開
 
 技術解説
Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

スキルアップ/キャリアアップ

.NET管理者虎の巻

- PR -
- PR -