この特集のトップページへ
Chapter 6:ビジネスロジックの設計



6.6.2 請求書の作成
●定期的に請求書を作成する
 では次に,定期的に請求書を作成する方法,すなわち,定期的にMakeBillsメソッド(List 6-174)を呼び出す方法について説明する。本来,MakeBillsメソッドを呼び出すプログラムはプレゼンテーション層になるので,体系的に見ればここで扱うべきではない。しかし,比較的簡単なプログラムであること,サーバー側で動作させるプログラムであること,ユーザーインタフェースを備えた一般的なプレゼンテーション層のプログラムとやや性質が異なることから,ここで説明することにした。

 定期的にMakeBillsメソッドを呼び出す方法は,いくつかある。最も手軽な方法は,ATコマンドを使う方法とタスクを使う方法である。それ以外にも,Windows NTやWindows 2000のサービスとして稼働するアプリケーションを作成する方法や,作成したプログラムをバックグラウンドで常に稼働させておき,たとえばVisual BasicのTimerコントロールを使って一定時間ごとにメソッドを呼び出すようにするという方法もある。しかし,前者はアプリケーションの構築が難しく,後者はユーザーによって突如終了させられたりサーバーを再起動したときにそのアプリケーションも再起動させなければならなかったりと考慮しなければならない点が多い。よって,簡便さとメンテナンス性の両面から見ても,ATコマンドかタスクを利用するのが適切だと思われる。

 ATコマンドは,Windows NT 3.51の時代から付属するコマンドラインユーティリティで,指定されたアプリケーションを指定された時刻に実行する機能を提供する。たとえば,コマンドラインから次のように実行しておくと,毎晩2時にc:\foobar.exeというアプリケーションが起動するようになる。ATコマンドは,定期的にバックアップをとったりするときによく用いられる。

at 2:00 /every: c:\foobar.exe

 一方のタスクは,Internet Explorer 4.0のシェル統合モードから提供されるようになった機能であり,Windows 2000ではデフォルトで利用可能になっている。タスクを利用するには,[コントロールパネル]−[タスク]のなかに,アプリケーションをスケジュールとして実行する時刻,実行するユーザーなどを含めて登録する。すると,登録されたスケジュールに従って任意のアプリケーションが実行できる。いわば,タスクはATコマンドをGUI操作でわかりやすく設定できるようにしたものと考えることができる。

 なお,ATコマンドもタスクも実行にはTask Schedulerサービスを利用する。そのため,ATコマンドやタスクを使うためには,Task Schedulerサービスを起動させておかなければならない(Fig.6-93)。

 今回は,MakeBillsメソッドを定期的に呼び出すためにWindows Scripting Hostとタスクの機能を組み合わせて利用することにする。

Fig.6-93 Task Schedulerサービス
fig6_93

prevpg.gif Chapter 6 81/92 nextpg.gif