アプリケーションの設計


エージェント、サーブレット、CGI プログラムを比較する
エージェント、サーブレット、および CGI プログラムはすべて、IBM(R) Lotus Domino(R) Web アプリケーションの機能を拡張できます。 エージェントは、フォーム WebQueryOpen および WebQuerySave イベントを介して Web アプリケーションと緊密に統合できます。サーブレットは、session や cookie management のような、サーブレット API クラスを介して使用できる、特別な機能を備えています。Java の急激な普及により、今日、新しい開発には CGI プログラムよりもサーブレットを使用することが主流になっています。しかしすでに、すぐに入手できる CGI プログラムもたくさん揃っていますので、これらを流用してもよいでしょう。

独自のアプリケーションを記述していて、サーバー上でいくつかの機能をプログラミングする必要がある場合は、使用するプログラムの種類を選択することになります。プログラムは種類ごとにそれぞれ利点があるので、特定の状況に合わせて選択するのが最も良いでしょう。お勧めする使い方をプログラムの種類ごとに示します。
プログラムの種類最適の用途
Agent文書を読んだりポストしたりするときに Lotus Domino アクションを実行するプログラムに使用します。

スケジュールに従って実行される必要のあるプログラム、または新しいメールの到着などのデータベースアクションの発生に応じて実行されるプログラムに使用します。

サーブレットJDBC のような標準 Java インターフェースを使用するプログラムに使用します。

HTTP セッション管理または Cookies を使用するプログラムに使用します。

複雑な Java プログラム、またはリソース中心の Java プログラムに使用します。

CGI プログラムシステムへの低レベルアクセス権限を必要とするプログラムに使用します。

非 Java API を介して他のプロダクトへのインターフェースを持つプログラムに使用します。

これらのプログラムのプロパティを比較すると、次のようになります。

プログラムを記述できる言語エージェント:Java、LotusScript、Lotus Notes 式言語で記述できます。すべてクロスプラットフォーム言語です。


プログラムが格納される場所エージェント:Lotus Domino データベースに格納されます。これは、エージェントがデータベースの複製とサーバーのクラスタリングを活用することを意味します。
Web ユーザーがプログラムを起動する方法についてエージェント:WebQueryOpen または WebQuerySave イベントによって自動的に起動されるか、OpenAgent URL によって直接起動されます (例: http://acme.com/sales.nsf/results?OpenAgent)。エージェントは、新しいメールの到着またはスケジュールなどのサーバーイベントによっても起動できます。
プログラムがサーバーによってロードまたはアンロードされるときエージェント:起動時にロードされ、終了時にアンロードされます。
プログラムと Lotus Domino の対話方法についてエージェント:LotusScript と Java エージェントは、Lotus Domino のオブジェクトクラスを使用できます。式エージェントは、ほとんどの@関数を使用できます。
プログラムで使用可能なセキュリティエージェント:Web ユーザーがエージェントを起動するには、エージェントを含むデータベースへのアクセス権が [投稿者] 以上でなくてはなりません。エージェントは、その作成者またはユーザーの識別情報を使うことで動作できます。Lotus Domino 全体のセキュリティ機能は、エージェントが実行する操作に適用されます。
関連項目