8.2 ファイル・データのロードを行うタイミング

Web アプリケーションの実行に必要となる HTML と JavaScript は、Web ページの起動時に自動的にダウンロードされますが、表示したり、アクセスしたりするアプリケーション・データはいつダウンロードするのでしょうか。クライアントへのデータの引き渡しの時期や量は、すべて自由に決定することができます。

少量のレコードまたは静的なテーブル・データの場合、ページの起動時にアプリケーション・サーバーへの非同期な要求を使って、先にロードすることが推奨されています。その後、このデータをクライアント側のグローバルなデータ・オブジェクトに保存することで、UI に表示が必要な時にすぐに利用することができます。

大きなファイルやトランザクション・データの場合は、表示する寸前にこのデータ、もしくはデータのサブセットを取得するまたは最新の情報に更新して、情報が最新であり、別のユーザーにより更新されていないことを確認します。

どの時点でデータを取得するにせよ、アプリケーション・サーバーへの非同期要求と同期要求の違いを理解しておくことが重要です。同期要求がクライアントのすべての処理に投入されると、アプリケーション・サーバーからの応答が得られまでアプリケーションが停止します。これに対し、非同期要求は、アプリケーション・サーバーへの要求が背景で処理されている間、ユーザーが Web アプリケーションとのやり取りを続けることができます。タイマーを利用して非同期要求を行う方法は、Web アプリケーション内の処理を停止させることなく情報を最新に更新できる良い手法です。

結局のところ、パフォーマンスと待ち時間は二律背反の関係にあり、開発者がアプリケーションにとっての適切な決断を下す必要があります。事前ロードか要求によるロードにするかは、開発者次第です。

詳細については、「19.3 同期と非同期データベース・アクセス」を参照してください。