ColdFusion
ColdFusion は、ソフトウェア全般(特に動的ウェブサイト)の開発に使われるアプリケーションフレームワークであり、アプリケーションサーバである。Webサイト開発フレームワークという意味では、マイクロソフトのASP.NETやJava Platform, Enterprise Editionなどの製品と同等である。
目次 |
[編集] 概要
ColdFusion の第一の機能はそのスクリプト言語 ColdFusion Markup Language (CFML) であり、文法的にはHTMLに似ており、JSP、C#、PHP に比肩する。ColdFusion と CFML は同一視されることが多いが、ColdFusion 以外にも CFML を採用したアプリケーションサーバは存在するし、ColdFusion は CFML 以外のプログラミング言語もサポートしている(サーバサイドActionScriptなど)。
元々の開発会社は Allaire だが、2001年にマクロメディアに買収され、2005年にはマクロメディアごとアドビシステムズに買収された。
ColdFusion はデータ駆動型のウェブサイトやイントラネットに使われることが多い。あるいは、Java EEの上位層としてColdFusionを活用したり、サービス指向アーキテクチャ(SOA)のミドルウェアとして活用したり、SOAP やRESTfulなWebサービス生成、Flashリモーティングといった使い方がある。
ColdFusion は、SMSやインスタントメッセンジャーといった非同期イベントの制御も可能(ColdFusion MX 7 Enterprise Edition)。
ColdFusion は他にも次のような付加価値サービスを提供する。
- HTML から PDF や FlashPaper に変換する。
- Flash を使ったリッチな形式のクライアントの妥当性検証。
- datagrid や date picker といった GUI ウィジェット
- ODBC や JDBC によるプラットフォーム独立なデータベースクエリ
- Active Directory、LDAP、POP、HTTP、FTP といったエンタープライズシステムからのデータ収集・検索
- クライアントおよびサーバでのキャッシュ管理
- セッション、クライアント、アプリケーション管理
- Verity K2 によるファイルインデックスおよび検索サービス
- XMLの構文解析、クエリ、検証
- サーバクラスタリング
- GUI管理
- タスクスケジューリング
[編集] 歴史
1995年、JJ Allaire という個人がほぼ1人で開発した最初の ColdFusion(当初の名称は Cold Fusion)がリリースされた(Allaire Corporation より)。非常に基本的なシステムであり、データベースアクセス以上の機能はほとんど備わっていなかった[1]。
6.0 以前の ColdFusion は Microsoft Visual C++ を使って書かれていた。つまり、ColdFusion は当初、Microsoft Windows以外では動作できなかった。ただし、Allaire は バージョン 3.1 からサン・マイクロシステムズの Solaris に ColdFusion を移植した。
2000年になる前に、Allaire は ColdFusion をJavaで書き直すプロジェクトを開始し、これによって動作可能なプラットフォームが格段に広がった。
2001年1月16日、Allaire はマクロメディアとの合併を発表した。合併直後、マクロメディアから ColdFusion 5.00 がリリースされ(2001年6月)、2002年5月にはマクロメディアの製品名の体系に合わせて Macromedia ColdFusion MX (6.0) がリリースされた。ColdFusion MX はかねてから開発されていた Java Platform, Enterprise Edition(J2EE)ベースの製品である。ColdFusion MX は Macromedia Flash とも連携できるよう設計されていた。
MX (6.0) リリースから、ColdFusion は JSPやASP.NETのようにバイトコードにコンパイルされるようになった。JSP のように、.class ファイルにコンパイルされるとそれがキャッシュされ、ソースが変更されるまで保持される。
ColdFusion MX のリリースと共に、CFML もオブジェクト指向プログラミングをサポートするよう拡張された。タグベースの CFML 文法とは別に、CFScript と呼ばれる JavaScript風の埋め込み型スクリプト言語もサポートしている。
ColdFusion 7.0 (正式名は Macromedia ColdFusion MX 7)では、FlashベースとXFormsベースのウェブフォーム、Adobe PDF/FlashPaper/RTF/Excelといった形式で出力するリポートビルダーが追加された。任意のHTMLページをPDF形式にして高品質な印刷可能文書にする機能もある。Enterprise Edition ではゲートウェイ機能も追加された。これにより、HTTP以外のサービス要求も扱えるようになった(IMサービス、SMS、ディレクトリウォッチャーなど)。
[編集] 代替サーバ環境
ColdFusion は Web技術の業界標準に基づいた独自技術に発している。しかし、CFML をサポートした競合製品があるため、それほど閉じた技術にはなっていない。競合製品としては、Railo、BlueDragon、IgniteFusion、SmithProject、Coral Web Builder などがある。
ColdFusion はある意味で J2EE や .NET よりもプラットフォーム依存性が低いとも言われる。なぜなら、CFML は .NET のサーバ上(New Atlanta)でも動作するし、J2EE サーバ上(JRun、WebSphere、JBoss、Apache Geronimo、Apache Tomcat、Resin、Jetty など)でも動作する。理論上、ColdFusion アプリケーションは変更なしで J2EE サーバから .NETサーバに移行できる。
これら代替サーバ環境は、ColdFusion の最新の機能をサポートするには時間がかかることに注意されたい。
[編集] 批判
- ColdFusion は競合するスクリプト言語のほとんどが無料なのに対して高価である。マイクロソフトの ASP.NET でさえ(Microsoft Windowsを持っていれば)技術的には無料である。
- CFML は文書が整備されているが、ColdFusion のサーバコードは見ることも変更することもできない。
- ColdFusion のライブラリは少なく、無料であることもまれである。ただし、Java のライブラリを容易に利用できる。
- 一般的な画像ファイル形式を操作する機能やクライアントでのIMAタグ機能がない(次のバージョンで計画されている)。
- ColdFusion のオブジェクト指向機能は他のオブジェクト指向プログラミング言語に比べると劣っている。
- CFScript は ECMAScript仕様に似てはいるが非互換である。それとは別にサーバサイド ActionScript もあるが、こちらは CFML に比べて機能が限定されている。
[編集] 関連項目
[編集] 脚注
[編集] 外部リンク
- 公式サイト: ColdFusion
- ColdFusion at Open Directory Project
- CF-Talk at House of Fusion - ColdFusion に関する技術的メーリングリスト
- ColdFusionカフェテリア ColdFusionに関する技術情報を連載しているブログ
- ColdFusion-STYLE.jp ColdFusionのユーザグループ(JCFUG)公式サイト
- ColdFusion女史 ColdFusion初心者向けサイト
- ColdFusionアソシエイト ColdFusionに関連している企業の情報サイト
|
|||||||||||||||||||||||