Webアプリケーションフレームワーク
Webサービスの作成と提供を行うツールを提供するツールを備えたフレームワークもある。 これらのユーティリティは、その他のWebアプリケーションと同様の機能を提供する。
動的なWebページは通常静的な部分 (HTML) とHTMLを生成するコードである動的な部分からなる。HTMLを生成するコードはテンプレート上の変数あるいはコードから生成を行う。生成されるテキストをデータベースから取得することで、サイト内のページの数を劇的に少なくすることができる。
例として 500軒の家を扱う不動産会社を考える。静的なWebサイトでは、不動産会社は500ページ作成する必要があるが、動的なWebサイトでは、不動産会社はただ動的なページを500レコードを持つデータベースに接続するだけでよい。
テンプレートでは、プログラミング言語由来の変数を、コードを使わずに挿入することができるため、Webサイト内のページを更新するためにプログラミングの知識が必要なくなる。 HTMLと変数を区別するための記述方法が定義されており、たとえばJSPでは <c:out> タグが変数を出力するために使用され、Smartyでは{$variable} が用いられる。
多数のテンプレートエンジンはIFやFOREACHといった若干の論理タグをサポートしている。 これらはビジネスロジック層ないしMVCパターンにおけるM(モデル)との明確な分離を行うため、プレゼンテーション層に必要な決定を行うためだけに用いられる。