ColdFusionはWebアプリケーションサーバーの一種です。Webサーバーと連携し、その機能を拡張するもので、呼び出し元(クライアント)はブラウザベースを用い、HTTPの仕組みを利用してWebアプリケーションサーバーでデータベースや各種サーバー側(バックエンド側)のシステムと連携して処理を行います。
Webサーバーは、特定の拡張子(CFの場合、既定は .cfm)という拡張子のページに対するリクエストを受けると、それをColdFusionに送ります。ColdFusionにはCFMLという言語を持っており、リクエストのあったページに書かれているCFMLの内容に従って処理を行います。
Webアプリケーションサーバーと呼ばれる製品には、言語を持っており、その言語を用いて動的なWebアプリケーションを構築していきます。ColdFusionはHTMLをベースにしたCFMLっていうタグ言語を使っています。CFML(ColdFusionマークアップ言語)は、ColdFusionで定められたCFタグや関数が用意されており、ページの中に記述することで動的な処理を行うWebページを作成できます。
他のWebアプリケーションサーバーの言語は、非Web言語やスクリプトをベースに発展してきたものが多いですが、ColdFusionはWebサイトを作る人が目にする事が多いHTMLを拡張した形で言語が作られたという他には無いユニークな特徴があります。これは、HTMLを覚えた人がその次のステップアップとしてColdFusionを触っていき、他の言語に比べて開発効率の高いプログラミングがしていけます。
ページの中にはCFMLだけではなく、HTMLやブラウザ側で動作するJavaScriptなども含めて記載ができますので、サーバー側の処理の結果をHTMLベースで組み立てて、ブラウザに結果が戻った時にHTMLで成形された内容を表示することができます(タグによっては結果を画像やPDFで返 すことなども可能です)。
ColdFusionは、企業で数多く採用されている大規模システム向けのJavaをベースとしています。一般的なJavaのイメージといえば、フレームワークやライブラリの充実により複雑度が緩和されているとはいえ、Javaをベースとした開発にあたって必要なスキルレベルや、開発に掛かる人件コスト面の負担は大きくなりがちです。
前述の通り、ColdFusionはHTMLに似たタグ言語を採用しているため、Javaのパワーを最大限享受しつつ、難しさを感じる事が少ない直観的なプログラミングを行えます。これは生産性の高さだけでなく、開発に着手するためのスキルも他の言語と比較して有利です。
ColdFusionは、Webアプリケーションサーバーのため、Webサーバーと連携して動作するのが前提です。ColdFusionがサポートするWebサーバーは、ApacheやIISと言った企業で一般的に使用されているものに対応していますが、ColdFusionのインストール前にそれらWebサーバーを準備する必要があります。評価・テストを目的にColdFusionを使用する場合は、開発用途に限定されたWebサーバーを使用する 事も可能です。
開発用Webサーバーは、デフォルトポートが 8500のもので、ColdFusionに同梱されているため、事前にWebサーバーを用意することなく、インストール後すぐに利用が可能です。
(開発用 webサーバールートは<cf_install>/cfusion/wwwroot です)