テンプレート・プログラミングモデルに基づく自動ウェブ・クライアント・サーバ分割

書誌事項

タイトル別名
  • テンプレート ・ プログラミングモデル ニ モトズク ジドウ ウェブ ・ クライアント ・ サーバ ブンカツ
  • Automatic Web Client-Server Partitioning Based on the Template Programming Model

この論文をさがす

抄録

ウェブ・アプリケーション開発では,通常 HTML テンプレートを用いてウェブページの表現部を背後にあるビジネスロジックやオブジェクトから分離するのが事実上の標準プログラミングモデルとなりつつある.本稿では,このテンプレートに基づくプログラミングにおける典型的な慣習に着目し,従来の実装形態とは大きく異なる実装を施したサーバ側テンプレート・エンジンである FlyingTemplate について述べる.FlyingTemplate では,既存のウェブ・アプリケーションのテンプレート・エンジンを置き換えることにより,ウェブサーバの負荷を,自動的に,かつ従来の自動分散機構より安全にクライアントに分担させることができる.FlyingTemplate では,HTML 文書をまるまる生成する代わりに,テンプレートのパラメータ値とクライアント側で動作するブートストラップのコードのみを含む骨子文書を生成する.ブートストラップコードはクライアント側用のテンプレート・エンジンとウェブページのテンプレートをそれぞれサーバから取り寄せることにより,ウェブブラウザのキャッシュを有効利用できる.実験として,SPECweb2005 の Banking アプリケーションをそのまま,テンプレート・エンジンのみ FlyingTemplate で置き換えたところ,キャッシュがよく当たるケースでは,1.6 倍から 2 倍のスループット向上がみられた.

Web applications often use HTML template engines to separate the webpage presentation from its underlying business logic and objects. This is now the de facto standard programming model for Web application development. In this paper we proposes FlyingTemplate, which is a novel implementatoin of serverside template engines taking advantage of the nature of template-based Web programming convention. It can replace the template engine of an existing Web application for off-loading server loads on its clients automatically, and more safely than ordinary automatic distribution mechanisms. Instead of producing a fully-generated HTML page, FlyingTemplate produces a skeletal script which includes only the dynamic values of the template parameters and the bootstrap code that runs on a Web browser at the client side. It retrieves a client-side template engine and the payload templates, leveraging browser caches. In our experiment, we tested the SPECweb2005 banking application using Flying-Template without any other modifications and saw throughput improvements from 1.6x to 2.0x at its best mode.

収録刊行物

キーワード

詳細情報 詳細情報について

問題の指摘

ページトップへ