ColdFusion
Adobe ColdFusion
ColdFusionは、ソフトウェア全般(特に動的ウェブサイト)の開発に使われるアプリケーションフレームワークであり、アプリケーションサーバである。Webサイト開発フレームワークという意味では、ASP.NETやJakarta EE(旧・Java EE)などの製品と同等である。
ColdFusionの第一の機能はそのマークアップ言語 ColdFusion Markup Language (CFML) であり、スクリプト言語 CFScriptと一緒に使われる。CFMLは文法的にはHTMLに似ており、JSP、C#、PHPに比肩する。ColdFusionとCFMLは同一視されることが多いが、ColdFusion以外にもCFMLを採用したアプリケーションサーバは存在する。ColdFusionはCFScript以外のプログラミング言語もサポートしている(サーバサイドActionScriptなど)。
元々の開発会社はAllaireだが、2001年にマクロメディアに買収され、2005年にはマクロメディアごとアドビシステムズ(現・アドビ)に買収された。
ColdFusion はデータ駆動型のウェブサイトやイントラネットに使われることが多い。あるいはJakarta EEの上位層としてColdFusionを活用したり、サービス指向アーキテクチャ (SOA) のミドルウェアとして活用したり、SOAP やRESTfulなWebサービス生成、Flashリモーティングといった使い方がある。
ColdFusion は他にも次のような付加価値サービスを提供する。
HTML から高品位なPDF 出力。
datagrid や date picker といった GUI ウィジェット
Active Directory、LDAP、POP、HTTP、 といったエンタープライズシステムからのデータ収集・検索
セッション、クライアント、アプリケーション管理
Apache Solr によるファイルインデックスおよび検索サービス
XMLの構文解析、クエリ、検証
Adobe Acrobatフォームとの統合
.NET Frameworkとの連携
(Enterpriseのみ)ColdFusionサーバ内部の監視を行うサーバモニター機能
AtomとRSSフィード、JSON、XMLとの連携
オブジェクト関係マッピング (ORM) を用いたデータベース処理。
Excelファイルのセルの読み込みや Excel書き出し
HTML5 Webソケットのサポート(Standard版では配信先のクライアント数に制限あり)
RESTful Webサービス、Axis 2
Hotfixのインストーラーと通知。
1995年: Allaire Cold Fusion 1.0
1996年: Allaire Cold Fusion 1.5
1996年: Allaire Cold Fusion 2.0
1997年6月: Allaire Cold Fusion 3.0
1998年1月: Allaire Cold Fusion 3.1
1999年6月: Allaire ColdFusion Server 4.0J (英語版4.0.1ベース)
2000年5月: Allaire ColdFusion Server 4.5J (英語版4.5.1ベース)
2001年6月: Macromedia ColdFusion Server 5 日本語版
2002年6月: Macromedia ColdFusion MX 日本語版 (build 6,0,0,48097), Updater 1 (build 6,0,0,52311), Updater 2 (build 6,0,0,55693), Updater 3 (build 6,0,0,58500)
2003年7月: Macromedia ColdFusion MX 6.1 日本語版 (build 6,1,0,63958)
2004年9月10日: Macromedia ColdFusion MX 6.1 アップデータ1 (build 6,1,0,83762)
2005年3月18日: Macromedia ColdFusion MX 7 日本語版 (build 7,0,0,91690)
2005年10月5日: Macromedia ColdFusion MX 7 アップデータ1 (7.0.1) (build 7,0,1,116466)
2006年6月28日: Macromedia ColdFusion MX 7 アップデータ2 (7.0.2) (build 7,0,2,142559)
2007年9月21日: Adobe ColdFusion 8 日本語版 (build 8,0,0,180580)
2008年4月3日: Adobe ColdFusion 8 アップデート1 (8.0.1) (build 8,0,1,196224)
2009年11月4日: Adobe ColdFusion 9 日本語版 (build 9,0,0,256061)
2010年7月13日: Adobe ColdFusion 9 アップデート1 (9.0.1) (build 9,0,1,274733)
2012年5月16日: Adobe ColdFusion 10 日本語版 (build 10,282462)
2012年6月1日: Adobe ColdFusion 9.0.2 (build 9,0,2,282541)
2014年4月30日: Adobe ColdFusion 11 日本語版 (build 11,0,0,289822)
2014年5月13日: Adobe ColdFusion 11 日本語版 (build 11,0,0,289974) ※同梱のJREを1.7.0_55に更新&(Linux)PDFサービスマネージャーのサポート
2014年12月10日: Adobe ColdFusion 11 アップデート 3 (11.0.03)(build 11,0,03,292480)
2014年12月11日: Adobe ColdFusion 11 日本語版新インストーラー(build 11,0,03,292480) ※インストーラーに問題があり下に差し替えられた
2015年1月21日: Adobe ColdFusion 11 日本語版新インストーラー・修正版(build 11,0,03,292866)
2016年2月16日: Adobe ColdFusion 2016 (12.0) 日本語版(build 2016.0.0.297996)
2016年2月26日: Adobe ColdFusion 2016 (12.0) 日本語版(build 2016.0.0.298074) ※一部アセットのみ更新を行ったインストーラー
2016年10月4日: Adobe ColdFusion 2016 アップデート 3 (2016.0.3)(build 2016.0.03.300357 → 2016.0.03.300466)
2016年12月14日: Adobe ColdFusion 2016 日本語版 新インストーラー(build 2016.0.03.301771)
2017年4月25日: Adobe ColdFusion 10 アップデート 23 (10.0.23)(build 10,0,23,302580) ※ColdFusion 10最終アップデート
2017年4月28日: Adobe ColdFusion 2016 日本語版 新インストーラー(Windows Server 2016対応、64bitのみ)
2018年7月12日: Adobe ColdFusion 2018 リリース 日本語版
2019年2月12日: Adobe ColdFusion 2018 リリース アップデート 2
2019年2月12日: Adobe ColdFusion 2018 リリース 日本語版 新インストーラー
2019年6月11日: Adobe ColdFusion 11 アップデート 19 (11.0.19)(build 11,0,19,314546) ※ColdFusion 11最終アップデート
2020年11月11日: Adobe ColdFusion 2021 リリース 日本語版
2021年3月22日: Adobe ColdFusion 2016 アップデート 17 (2016.0.17)(build 2016,0,17,325979) ※ColdFusion 2016最終アップデート
2021年9月15日: Adobe ColdFusion 2021 リリース アップデート 2
2021年9月15日: Adobe ColdFusion 2021 リリース 日本語版 新インストーラー
2022年5月10日: Adobe ColdFusion 2018 リリース アップデート 14
2022年5月10日: Adobe ColdFusion 2021 リリース アップデート 4
1995年、JJ Allaire という個人がほぼ1人で開発した最初の ColdFusion(当初の名称は Cold Fusion)がリリースされた(Allaire Corporation より)。非常に基本的なシステムであり、データベースアクセス以上の機能はほとんど備わっていなかった。
バージョン 3.1 からサン・マイクロシステムズの Solaris に ColdFusion を移植した(日本語版は4.0Jより)。あわせて Allaire HomeSite をベースとした ColdFusion 専用開発エディタとして ColdFusion Studioをリリースし(日本語版は4.5Jより)、HTMLシンタックスチェックとライブページプレビュー・デバッギング機能を実装した。
このバージョンより日本語版がリリースされる。また、それまで製品名が"Cold Fusion"だったのを"ColdFusion"に変更した(常温核融合という一般の用語と製品名とを区別するためだと思われる)。このバージョンから、エンタープライズレベルのデータベースへのネイティブ接続やロードバランシングなど、より大規模なWebアプリケーションの動作に向けた Enterprise 版が投入された。
バージョン4.5では、Javaオブジェクトの呼び出しや、OSのシステムコマンドの実行、Java EEサーバとの連携を行う機能が実装された。また、ColdFusion Server 4.5 for Linux 英語版が新たにリリース。Linux用は英語版のみの提供だったが、日本語に対応しないタグ・関数を補うカスタムタグ集「CFTagPac-L」がリリースされ、ColdFusion Server 4.5 for Linux 英語版とバンドルされる形で国内向けにリリースされた。開発は、株式会社ワイスリー(現・デフィデ株式会社)。
2001年1月16日、Allaire はマクロメディアとの合併を発表した。マクロメディアとの合併後も製品開発を続け、マクロメディアから最初のリリースとなるColdFusion5.0を2001年6月に発売した。このバージョンまでの ColdFusion は Microsoft Visual C++ を使って書かれていたため、特定のOSごとにコーディングが行われた最後のバージョンでもある。
バージョン 5では、ユーザー定義関数やクエリ結果に対するクエリ(クエリ・オブ・クエリ)、グラフ機能などの新機能が追加されたほか、メモリ管理の最適化やマルチプロセスサポートなどパフォーマンスの向上も行われた。
2000年になる前に、Allaireは ColdFusionをJavaで書き直すプロジェクト(コードネーム "Neo")を開始。のちにこのプロジェクトはColdFusion Serverを完全にJavaを使用する形にリファクタリングされることが明らかになった。ColdFusionがJavaランタイム環境の内部で実行されることにより、プラットフォームごとの移植性が容易になりサポートOSが格段に広がるとともに、セキュリティも向上した。
2002年6月にマクロメディアはバージョン6.0をリリースした。マクロメディアの製品名の体系に合わせて Macromedia ColdFusion MX としてリリースされた、Java EEベースの製品の最初のバージョンであり、JSPやASP.NETのようにバイトコードにコンパイルされるようになった。JSP のように、.class ファイルにコンパイルされるとそれがキャッシュされ、ソースが変更されるまで保持される。Macromedia Flashとも連携できるよう設計されていた。
ColdFusion MX のリリースと共に、CFML もオブジェクト指向プログラミングをサポートするよう拡張された。タグベースの CFML 文法とは別に、CFScript と呼ばれる JavaScript風の埋め込み型スクリプト言語もサポートしている。
2003年8月には、ColdFusion MXのメンテナンスアップグレードの位置づけとして ColdFusion MX 6.1 がリリース。
2005年2月7日、ColdFusion7.0(正式名は Macromedia ColdFusion MX 7)がリリースされた。 CFMX7は、Macromedia Flex 1.5のエンジンを内包し、Flashベースのフォームが出力できるようになった。また、既存のHTMLベースのフォームの機能拡張、及び、XFormsのサポートなど、Webフォーム機能が充実した。また、フリーのレポートツールであるReport builderも提供され、Adobe PDF、FlashPaperなどの出力に対応した。また、任意のHTMLページをPDF形式に変換して高品質な印刷可能文書にする機能もある。Enterprise 版ではGateways機能も追加された。これにより、HTTP以外のサービス要求も扱えるようになった(IMサービス、SMS、ディレクトリウォッチャーなど)。XMLサポートも強化され、このバージョンではネイティブスキーマのチェックなどが行える。
後にリリースされたColdFusion MX 7.0.2(コードネーム "Mystic")は、Adobe Flex 2との連携を行うための機能が備わっている。
2007年7月30日(日本語版は9月21日)に、アドビシステムズはColdFusion 8(コードネーム "Scorpio")をリリースした。事前に公開されたベータ版では、アドビの予想である5000名を超える世界中の14,000名以上のデベロッパーがベータテストを行った。この頃のColdFusionの開発チームは、ニュートン/ボストン、バンガロール、インドのマサチューセッツ州といくつかのオフショアからなりたっていた。
新機能の一部には、Adobe Acrobatフォームとの統合を行えるcfpdfformタグ、画像操作機能、.NET Frameworkとの連携、およびAdobe Acrobat Connectでも用いられているWebベースのプレゼンテーション機能であるcfpresentationタグなどがある。加えて、Enterprise版にはColdFusionサーバ内部の監視を行うサーバモニター機能が追加された。ColdFusion 8は、Linux、Mac OS XおよびWindows Server 2003を始めとした複数のオペレーティングシステムをサポートしている。
その他のColdFusion 8新機能としては、ビルトインAjaxウィジェット、ファイルのアーカイブ操作 (CFZIP)、Microsoft Exchangeサーバ統合(CFEXCHANGE)、画像認証で用いられるcaptchaの生成 (CFIMAGE)、ページ処理中に別のスレッドをマルチで生成、AtomとRSSフィードの読み込み、従来の機能も拡張され、強力な暗号化ライブラリ、配列および構造体の改良、データベースドライバの改善、MX 7と比較しての大規模なパフォーマンスの向上、PDF操作およびマージ機能 (CFPDF)、インタラクティブなデバッグ機能、組み込みデータベースのApache Derbyのサポート、さらには、一部のタグ・関数についてはECMAScript準拠の記述にも対応した。
また、ColdFusionアプリケーションの開発のための、いくつかの開発ツールにも対応した。主にAdobe Dreamweaver CS4、Macromedia HomeSite 5.x、CFEclipse、Eclipseなどである。一部のエディタでは、ColdFusion8で追加されたタグ・関数をサポートするためにアップデータ (Extension) が提供された。
ColdFusion 9(コードネーム "Centaur")は2009年10月5日(日本語版は11月4日)にリリースされた。CF9の新機能は次のとおりである。
CFScriptベースで記述が可能になったColdFusionコンポーネント (CFC)。
ユーザー定義関数、または、CFC内でのみ有効なスコープを持つ "local" 変数(従来は var ヘッダ)。
CFCでの暗黙のgetter/setter。
CFCの暗黙のコンストラクタとしての "init"メソッド、または、CFC名と同じ名前のメソッド。
例外処理に対する新しいCFFinalyタグ、及び、ループ処理の制御用の新しいCFContinueタグ。
Hibernateを内包し、オブジェクト関係マッピング (ORM) を用いたデータベース処理。
onServerStartとonServerEndメソッドを持つServer.cfc。
Adobe FlexおよびAdobe AIRとの連携の強化。
WordやExcel、PowerPointなどのドキュメント変換(OpenOfficeベース)、及びSharePoint、Exchangeなどの主要なMicrosoft製品との統合。
メモリ内の仮想ファイルシステム - メモリ内に仮想のファイルシステムを構築し、ファイル操作が可能。
ColdFusion 9.0.2は2012年6月1日にリリースされた。ColdFusion 9.0.2はフルインストーラーのみの提供であり、ColdFusion 9.0.0や9.0.1からのアップデータモジュールは提供されていない。ColdFusion 9.0.2はColdFusion 9.0.1に累積ホットフィックスと2012年6月までに公開されたセキュリティホットフィックスが含まれたものであるが、全文検索エンジンのVerityは含まれていない。また、ColdFusion 9.0.2の公開にともない、ColdFusion 9.0.0の公開は終了した。
ColdFusion 10は、Adobe MAX2010で開発中であることが確認された。次期ColdFusionバージョン(コードネーム "Zeus")は、ブログやTwitterなどで、ColdFusion Xとも呼ばれ、当時のColdFusionプロダクトマネージャーである Adam Lehman によって、米国内の顧客や開発者、ユーザーグループなどと数え切れないほどのミーティングを設定し、次期バージョンに追加する機能などの青写真を策定した。2010年9月にアドビの経営上層部による完全なサポートと承認を与えられた。Adobe MAX2011にて次期ColdFusionバージョン"Zeus"に関するセッションが行われ、2012年2月16日にColdFusion 10のベータ版が公開され、2012年5月15日に ColdFusion 10 International English版・日本語版が同時リリースされた(日本時間では時差の関係で2012年5月16日)。
ColdFusion10の新機能は次のとおりである。
HTML5 Webソケットのサポート(Standard版では配信先のクライアント数に制限あり)。
動的でインタラクティブなHTML5チャート作成(Standard版では未対応)。
HTML5 ビデオプレーヤーのサポート 。
RESTful Webサービスのサポート。Axis 2にバージョンアップ。
Hotfixのインストーラーと通知。
Tomcatの採用によるパフォーマンスの向上(旧バージョンではJRun4が採用されていた)。
キャッシュ機能の強化。
仮想ファイルシステムの強化。
Java™との連携の強化。
ユーザー定義関数のクロージャーのサポート。
CFSCRIPTの強化。
Exchange Web Services(EWS)を利用して、Exchange Server 2010との接続をサポート。
尚、2013年3月6日に、Windows 8、Windows Server 2012 + IIS 8 をサポートする新しいColdFusion10インストーラーが公開された。新しいインストーラーは、より体験版をダウンロードすることで入手できる。
ColdFusion 11は、次期ColdFusionバージョン(コードネーム "Splendor")として2013年10月24日・25日にアメリカのラスベガスで開催されたColdFusion Summit2013の中で正式に発表が行われ、新機能に関する情報が数多く紹介された。国内では2013年12月10日に東京で開催されたColdFusion Day 2013イベントで紹介された。2014年2月20日にColdFusion Splendorのパブリック・ベータ版が公開され、2014年4月29日にColdFusion 11のリリースがアナウンスされた(日本は祝日のため2014年4月30日)。
ColdFusion 11の新機能は次のとおりである。
新しいPDF生成エンジンによる、高品質な HTM⇒PDF 変換
PDF/A-1bへの変換や電子署名の付与・除去
同梱されている各種ライブラリ・ドライバのバージョンアップ
尚、2014年12月11日に、同梱のJREを1.7から1.8 (1.8.0_25) に変更し、最新の Update 3 も含む新しいColdFusion11インストーラーが公開された。ただし、このインストーラーを利用した際、インストール時に日本語ロケールを認識できずに英語版としてインストールされてしまう問題と、J2EE(現・Jakarta EE)セッション変数を有効にした際の問題が確認されたため、2015年1月21日に修正版の新インストーラーが公開された。該当ユーザーは、製品版、または、体験版を再ダウンロードすることで新しいインストーラーを入手できる。
ColdFusion 2016 (12.0)は、2015年にコードネーム "Raijin(雷神)"として発表され、2015年11月9日・10日にラスベガスで開催されたColdFusion Summit 2015で新機能に関する情報が数多く紹介された。その後、日本でも2015年11月20日に東京で開催されたColdFusion Day 2015イベントでも紹介された。日本時間2016年2月16日の夜にメーカーの公式ブログでColdFusion 2016のリリースに関する投稿が行われ、同日深夜に米国Adobe Systems社のニュースリリースで発表された。翌17日に日本での販売が開始された。
ColdFusion 2016 リリース (12.0) の新機能は次のとおり
CLI(コマンドラインインタフェース)からの実行
PDF機能強化(サニタイズ、スタンプ、アーカイブ機能強化)
APIマネージャー(Enterprise限定)
コード・セキュリティ・チェック(Enterprise限定)
2016年12月14日に、最新のUpdate 3を含み、同梱のServer JRE  1.8.0_112にリビジョンアップした新しいColdFusion2016インストーラーが公開された。このインストーラーには、Enterprise版で利用可能な APIマネージャーのインストーラーと、古いライブラリ (Portlets, YUI, Spry) は同梱されなくなり、必要に応じて別途ダウンロードを行う必要がある。
2017年4月28日に、Windows Server 2016をサポートする新しいColdFusion2016インストーラーが公開された。このインストーラーは上記と同様にUpdate 3を含み、 Enterprise版で利用可能な APIマネージャーのインストーラーと、古いライブラリ (Portlets, YUI, Spry) は同梱されなくなっている。
ColdFusion 2018 リリース (13.0)は、Aetherというコードネームで開発が進められ、2018年7月12日にリリースされた。
ColdFusion 2018 リリース (13.0) の新機能は次のとおり
言語の強化 (NULL、抽象クラスとメソッド、共変と終末、タグのクロージャなど)
非同期プログラミング、先物の使用[はいきょうほうほうきプログラミング、さきょうごうせい]
CLI(コマンドラインインタフェース)の REPL
分散キャッシュのサポート (Redis、memcached、JCS) ※一部はEnterpriseのみ
REST Playground
ColdFusion Administratorの UI の刷新
パフォーマンス監視ツールセット PMT インストーラーの提供
2019年2月12日に、Update 2を含み、同梱のJVMを 11.0.01に変更した新しいColdFusion2018インストーラーが公開された。このインストーラー(及び Update 2)に合わせてExtJSなどのライブラリもバージョンアップされた。
ColdFusion 2021 リリース (14.0)は、Project Stratus というコードネームで開発が進められ、2020年11月11日にリリースされた。
ColdFusion 2021 リリース (14.0) の新機能は次のとおり
ColdFusion パッケージマネージャ
メッセージング・サービス
No SQL データベース
2021年9月15日に、Update 2を含み、同梱のJVMを 11.0.11に変更した新しいColdFusion2021インストーラーが公開された。
Adobe ColdFusion Builderは、Eclipseベースの総合開発環境であり ColdFusionアプリケーションを構築するための開発エディタである。開発時のコードネームは "Bolt"。
ColdFusion Builderは、2010年3月22日にAdobe Flash Builder 4 とともに発売が開始された。
主な機能:
Object Relational Mapping設定の自動化
CFML, HTML, Javascript, CSSシンタックス
タグ・関数・変数・コンポーネントのコードアシスト機能
スニペットの作成、及び管理
ファイル、及び、データベースに対するRDSエクスプローラー
ColdFusion Builder 2.0(コードネーム "Storm")は、Adobe MAX 2010で発表された。主な機能として、コードナビゲーションの改良、検索機能の強化、コードフォーマットの改良など。2011年5月3日にリリースされた。
新機能:
CFタグの属性を自動補完。
コード・アシストを介した引数のコンテキスト情報。
カスタムおよび永続的なコードの折りたたみ。
タグのショートカット。
CFタグ、関数、およびUDFのポップアップヘルプ。
コードの書式設定が保持されます。
カスタマイズされたCFMLコードに対する高度な検索/置換。
エクステンションの機能強化とIDEを拡張するためのコールバック。
TODOとFIXMEノートを持つタスク・タグ。
ColdFusion Builder 2.0 Updater 1(コードネーム "Twister")は、ColdFusion 10のリリースと同日の2012年5月16日に発表と同時に発売が開始された。
主な強化として、
ColdFusion 10で追加されるCFタグ・関数のコードヒント機能