Force.comには、独自のユーザーインタフェースを構築できる「Visualforce」と呼ぶ機能があります。JSP(JavaServer Pages)のようなタグベースの言語を用いて、柔軟にWebページを作成できます。Force.comには、Webブラウザーからの設定だけで、一般的なデータの入力・検索・出力画面を作成できる機能が備わっています。Visualforceは、そうした標準機能では作成できない、独自画面を作るために用意された機能です。

 Visualforceで複雑な画面を作成したシステムでは、Webページの表示や画面遷移に予想外に長い時間がかかることがあります。これは、セッション管理に使う情報の持ち方が、物理サーバー上に構築した一般的なWebシステムとは異なるからです。

 Force.comでは、物理サーバーのメモリー上にセッション情報を置くのではなく、Webブラウザーとサーバーの通信でセッション情報を毎回やり取りします。複数のサーバーがセッション情報にアクセスできるようにするためです。それにより、複数ページにまたがる一連の処理を複数のサーバーに割り振れるようになります。こうした配慮をしている点は、Google App EngineやWindows Azure Platformなど他のPaaSも同じです(ただし、実装方法には違いがあります)。

 VisualforceではWebブラウザーとサーバーの通信で、すべてのセッション情報が毎回やり取りされます。サーバーはセッション情報を暗号化してWebページに埋め込み、Webブラウザーに送信します。また、WebブラウザーはそのデータをHTTPのPOSTメソッドでサーバーに返すのです。Force.comでは、このように相互にやり取りされるセッション情報をView Stateと呼びます。

 第4回では、画面表示を高速化する設計を取り上げます。具体的には、View Stateに含める変数を減らしてサイズを抑える方法と、View Sateをやり取りしない方法を解説します。