Domino HTTP サーバー上の Notes での XPages の実行

パフォーマンスを向上させるために、サーバーベースの XPages アプリケーションを Notes® クライアントで実行するのではなく、Domino HTTP サーバーで実行することができます。

Notes クライアントで実行するサーバーベースの XPages アプリケーションは、デフォルトでは、Notes プロトコルを使用してサーバーとクライアントの間で一連のデータ転送を介してクライアントで実行されます。代わりに、そのようなアプリケーションを HTTP プロトコルを使用して Domino サーバーで実行するように指定できます。

Notes の機能は、ネイティブの XPages モードで実行する場合と同様に機能します。例えば、コンテキストメニュー ([ファイル] > [保存][ファイル] > [複製][ファイル] > [開く] など)、文書のダーティー保存、クライアントサイド JavaScript などが同じ動作をします。例外が 1 つあり、複合アプリケーションは、サーバーでの実行時にクライアントのプロパティブローカー機能を使用できません。

Designer の要件

[アプリケーションプロパティ][開始] タブで、[指定された XPage を開く (Standard 版クライアント)] を有効にした状態で、[サーバーベースの XPage アプリケーションを Domino サーバー上で直接実行する] にチェックマークを付け、 アプリケーションを保存します。このプロパティは、アプリケーションのプロパティボックスを使用して Notes でも適用できます。
代わりに、IBM Notes の notes.ini ファイルに以下の行を挿入して Notes を再起動することにより、すべてのアプリケーションに対してサーバーでの実行を有効にすることができます。
XPagesRunRemoteAppsOnServer=1

Notes のランタイム要件

IBM Notes クライアントは、XPages アプリケーションを含むサーバーに対する HTTP アカウントを保有している必要があります。IBM Notes アカウントを作成または表示するには、[ファイル] > [プリファレンス] > [アカウント] をクリックします。詳しくは、Notes ヘルプの「IBM Notes 設定パネルからアカウントの作成と編集を行う」を参照してください。

アカウントは IBM Domino サーバーで設定し、Notes クライアントにプロビジョンできます。

サーバーベースの XPages アプリケーションを Notes クライアントで起動すると、XPages プロセッサが、 アプリケーションを含むサーバーの HTTP アカウントを検索し、アプリケーションをロードします。

IBM Notes アカウントのフレームワークと下位の XULRunner ブラウザにより、 自動的に認証のためのユーザー資格情報が Web サーバーに渡されます。名前とパスワードを要求するプロンプトがユーザーに出された場合は、IBM Notes が正しく設定されていません (SSO が誤っているなど)。この検査を単独で実行するには、IBM Notes ツールバーにある IBM Notes ブラウザのアドレスウィジェットにアプリケーションの URL を入力します。

一致する HTTP アカウントが存在しない場合は、 匿名アクセスが許可されていない限り、ユーザーは資格情報を要求されます。ただし、以下の notes.ini 変数によって HTTP アカウントの存在を必須にすることができます。
XPagesRunOnServerRequireAccount=1
一致するアカウントが必要であるが見つからない場合、またはアカウント情報が無効な場合は、アプリケーションのウィンドウを閉じるか、ローカルの Notes Web コンテナを使用したアプリケーションの実行に戻るように促すメッセージがユーザーに出されます。
以下の notes.ini 変数により、サーバー上の Notes での XPages の実行が無効になります。
XPagesRunOnServerDisable=1

パフォーマンスの背景

Notes クライアントで実行されるがリモートの IBM Domino サーバーに存在する XPages アプリケーションは、パフォーマンス上の課題に直面します。主な理由は、Notes クライアントで XPages アプリケーションを実行するときに多くのネットワークトランザクションが実行されるためです。XPages Notes アプリケーションはローカルの Notes XPD Web コンテナで実行されるため、XPages のすべての Java™ クラス (XPages とカスタムコントロール) を、ネットワーク経由でリモートサーバーから実行する IBM Notes クライアントにコピーする必要があることに注意してください。同様に、すべてのページリソース (CSS、JavaScript、GIF など) を、実際のデータとともにリモートサーバーから取得する必要があります。さらに、XPages アプリケーションが他の Notes 設計成果物を (computeWithForm 機能などを使用して) 利用する場合は、フォーム、サブフォーム、共有フィールドなどの大規模な設計要素も必要に応じてリモート側で取り出す必要があります。特に、アプリケーションが主に Web を対象として設計されており、Notes クライアント用に最適化されていないと、待ち時間が長いネットワークの場合にパフォーマンスに大きな影響が及ぶ可能性があります。