ColdFusion

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
Adobe ColdFusion
作者 Jeremy Allaire, JJ Allaire
開発元 アドビシステムズ
初版 1995年
最新版 11,0,02,291681 / 2014年10月15日
対応OS Windows, Linux, Unix, Mac OS X
対応言語 International English, 日本語版
種別 アプリケーションサーバ
ライセンス プロプライエタリ・ソフトウェア
公式サイト Adobe ColdFusion ファミリー
テンプレートを表示

ColdFusion は、ソフトウェア全般(特に動的ウェブサイト)の開発に使われるアプリケーションフレームワークであり、アプリケーションサーバである。Webサイト開発フレームワークという意味では、マイクロソフトASP.NETJava Platform, Enterprise Editionなどの製品と同等である。

概要[編集]

ColdFusion の第一の機能はそのスクリプト言語 ColdFusion Markup Language (CFML) であり、文法的にはHTMLに似ており、JSPC#PHP に比肩する。ColdFusion と CFML は同一視されることが多いが、ColdFusion 以外にも CFML を採用したアプリケーションサーバは存在するし、ColdFusion は CFML 以外のプログラミング言語もサポートしている(サーバサイドActionScriptなど)。

元々の開発会社は Allaire だが、2001年にマクロメディアに買収され、2005年にはマクロメディアごとアドビシステムズに買収された。

ColdFusion はデータ駆動型のウェブサイトイントラネットに使われることが多い。あるいは、Java EEの上位層としてColdFusionを活用したり、サービス指向アーキテクチャ(SOA)のミドルウェアとして活用したり、SOAPRESTfulWebサービス生成、Flashリモーティングといった使い方がある。

ColdFusion は他にも次のような付加価値サービスを提供する。

  • HTML から高品位なPDF 出力。
  • datagrid や date picker といった GUI ウィジェット
  • ODBCJDBC によるプラットフォーム独立なデータベースクエリ
  • Active DirectoryLDAPPOPHTTPFTP といったエンタープライズシステムからのデータ収集・検索
  • クライアントおよびサーバでのキャッシュ管理
  • セッション、クライアント、アプリケーション管理
  • Apache Solr によるファイルインデックスおよび検索サービス
  • XMLの構文解析、クエリ、検証
  • Adobe Acrobatフォームとの統合
  • 画像ファイル操作
  • .NET Frameworkとの連携
  • (Enterpriseのみ)ColdFusionサーバー内部の監視を行うサーバーモニター機能
  • ビルトインAjaxウィジェット
  • AtomRSSフィード、JSON、XMLとの連携
  • オブジェクト関係マッピング(ORM)を用いたデータベース処理。
  • Excelファイルのセルの読み込みや Excel書き出し
  • メモリ内仮想ファイルシステム
  • HTML5 Webソケットのサポート(Standard版では配信先のクライアント数に制限あり)
  • HTML5チャート
  • 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)
  • 2012年9月1日: Adobe ColdFusion 10 アップデート 1 (build 10,282462)
  • 2012年9月12日: Adobe ColdFusion 10 アップデート 2 (build 10,282462)
  • 2012年9月27日: Adobe ColdFusion 10 必須アップデート (build 10,283111)
  • 2012年10月17日: Adobe ColdFusion 10 アップデート 3 (build 10,0,3,283145)
  • 2012年11月3日: Adobe ColdFusion 10 アップデート 4 (10.0.4) (build 10,0,4,283281)
  • 2012年11月20日: Adobe ColdFusion 10 アップデート 5 (10.0.5) (build 10,0,5,283319)
  • 2012年12月12日: Adobe ColdFusion 10 アップデート 6 (10.0.6) (build 10,0,6,274733)
  • 2013年1月16日: Adobe ColdFusion 10 アップデート 7 (10.0.7) (build 10,0,7,283435)
  • 2013年2月28日: Adobe ColdFusion 10 アップデート 8 (10.0.8) (build 10,0,8,284032)
  • 2013年4月10日: Adobe ColdFusion 10 アップデート 9 (10.0.9) (build 10,0,9,284568)
  • 2013年5月15日: Adobe ColdFusion 10 アップデート 10 (10.0.10) (build 10,0,10,284825)
  • 2013年7月10日: Adobe ColdFusion 10 アップデート 11 (10.0.11) (build 10,0,11,285437)
  • 2013年11月13日: Adobe ColdFusion 10 アップデート 12 (10.0.12) (build 10,0,12,286680)
  • 2014年1月11日: Adobe ColdFusion 10 アップデート 13 (10.0.13) (build 10,0,13,287689)
  • 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年9月22日: Adobe ColdFusion 11 アップデート 1 (11.0.01)(build 11,0,01,291346)
  • 2014年10月15日: Adobe ColdFusion 10 アップデート 14 (10.0.14) (build 10,0,14,291703)
  • 2014年10月15日: Adobe ColdFusion 11 アップデート 2 (11.0.02)(build 11,0,02,291681)

バージョン[編集]

Cold Fusion 1.0[編集]

1995年、JJ Allaire という個人がほぼ1人で開発した最初の ColdFusion(当初の名称は Cold Fusion)がリリースされた(Allaire Corporation より)。非常に基本的なシステムであり、データベースアクセス以上の機能はほとんど備わっていなかった[1]

Cold Fusion 3.1[編集]

バージョン 3.1 からサン・マイクロシステムズSolaris に ColdFusion を移植した(日本語版は4.0Jより)。あわせて Allaire HomeSite をベースとした ColdFusion 専用開発エディタとして ColdFusion Studioをリリースし(日本語版は4.5Jより)、HTMLシンタックスチェックとライブページプレビュー・デバッギング機能を実装した。

ColdFusion 4[編集]

このバージョンより日本語版がリリースされる。また、それまで製品名が"Cold Fusion"だったのを"ColdFusion"に変更した(常温核融合という一般の用語と製品名とを区別するためだと思われる)。このバージョンから、エンタープライズレベルのデータベースへのネイティブ接続やロードバランシングなど、より大規模なWebアプリケーションの動作に向けた Enterprise 版が投入された。

ColdFusion 4.5[編集]

バージョン4.5では、Javaオブジェクトの呼び出しや、OSのシステムコマンドの実行、Java EEサーバーとの連携を行う機能が実装された。また、ColdFusion Server 4.5 for Linux 英語版が新たにリリース。Linux用は英語版のみの提供だったが、日本語に対応しないタグ・関数を補うカスタムタグ集「CFTagPac-L」がリリースされ、ColdFusion Server 4.5 for Linux 英語版とバンドルされる形で国内向けにリリースされた。開発は、株式会社ワイスリー(現・デフィデ株式会社)[2]

ColdFusion 5[編集]

2001年1月16日、Allaire はマクロメディアとの合併を発表した。マクロメディアとの合併後も製品開発を続け、マクロメディアから最初のリリースとなるColdFusion5.0を2001年6月に発売した。このバージョンまでの ColdFusion は Microsoft Visual C++ を使って書かれていたため、特定のOSごとにコーディングが行われた最後のバージョンでもある。

バージョン 5では、ユーザー定義関数やクエリ結果に対するクエリ(クエリ・オブ・クエリ)、グラフ機能などの新機能が追加されたほか、メモリ管理の最適化やマルチプロセスサポートなどパフォーマンスの向上も行われた。

ColdFusion MX (6)[編集]

2000年になる前に、Allaireは ColdFusionをJavaで書き直すプロジェクト(コードネーム "Neo"[3])を開始。のちにこのプロジェクトは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 がリリース。

ColdFusion MX 7[編集]

2005年2月7日、ColdFusion7.0(正式名は Macromedia ColdFusion MX 7)がリリースされた。 CFMX7は、Macromedia Flex 1.5のエンジンを内包し、Flashベースのフォームが出力できるようになった。また、既存のHTMLベースのフォームの機能拡張、及び、XFormsのサポートなど、Webフォーム機能が充実した。また、フリーのレポートツールであるReport builderも提供され、Adobe PDFFlashPaperなどの出力に対応した。また、任意のHTMLページをPDF形式に変換して高品質な印刷可能文書にする機能もある。Enterprise 版ではGateways機能も追加された。これにより、HTTP以外のサービス要求も扱えるようになった(IMサービス、SMS、ディレクトリウォッチャーなど)。XMLサポートも強化され、このバージョンではネイティブスキーマのチェックなどが行える。 後にリリースされたColdFusion MX 7.0.2(コードネーム "Mystic")は、Adobe Flex 2との連携を行うための機能が備わっている。

Adobe ColdFusion 8[編集]

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は、LinuxMac OS XおよびWindows Server 2003を始めとした複数のオペレーティングシステムをサポートしている。

その他のColdFusion 8新機能としては、ビルトインAjaxウィジェット、ファイルのアーカイブ操作 (CFZIP)、Microsoft Exchangeサーバー統合(CFEXCHANGE)、画像認証で用いられるcaptchaの生成 (CFIMAGE)、ページ処理中に別のスレッドをマルチで生成、AtomRSSフィードの読み込み、従来の機能も拡張され、強力な暗号化ライブラリ、配列および構造体の改良、データベースドライバの改善、MX 7と比較しての大規模なパフォーマンスの口上、PDF操作およびマージ機能 (CFPDF)、インタラクティブなデバッグ機能、組み込みデータベースのApache Derbyのサポート、さらには、一部のタグ・関数についてはECMAScript準拠の記述にも対応した。

また、ColdFusionアプリケーションの開発のための、いくつかの開発ツールにも対応した。主にAdobe Dreamweaver CS4、Macromedia HomeSite 5.x、CFEclipseEclipseなどである。一部のエディタでは、ColdFusion8で追加されたタグ・関数をサポートするためにアップデータ(Extension)が提供された。

Adobe ColdFusion 9[編集]

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の公開は終了した。

Adobe ColdFusion 10[編集]

ColdFusion 10は、Adobe MAX2010で開発中であることが確認された。次期ColdFusionバージョン(コードネーム "Zeus")は、ブログやTwitterなどで、ColdFusion Xとも呼ばれ、当時のColdFusionプロダクトマネージャーである Adam Lehman によって、米国内の顧客や開発者、ユーザーグループなどと数え切れないほどのミーティングを設定し、次期バージョンに追加する機能などの青写真を策定した。2010年9月にアドビの経営上層部による完全なサポートと承認を与えられた[4]。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インストーラーが公開された。新しいインストーラーは、アドビシステムズ社のColdFusion10製品ページより体験版をダウンロードすることで入手できる。


Adobe ColdFusion 11[編集]

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への変換や電子署名の付与・除去
  • モバイルアプリケーション生成のための総合的なソリューション
  • JSON機能の強化
  • メンバ関数のサポート
  • 新しいスクリプト記述式
  • クエリ系関数の強化
  • サーバーサイドのチャート生成エンジンの置き換え
  • 同梱されている各種ライブラリ・ドライバのバージョンアップ


Adobe ColdFusion Builder[編集]

Adobe ColdFusion Builder は、Eclipse ベースの総合開発環境であり ColdFusionアプリケーションを構築するための開発エディタである。開発時のコードネームは "Bolt"。

Adobe ColdFusion Builder 1.0[編集]

ColdFusion Builderは、2010年3月22日に Adobe Flash Builder 4 とともに発売が開始された[5]

主な機能:

  • Object Relational Mapping 設定の自動化
  • アプリケーションコード生成
  • サーバー管理
  • Eclipseフレームワークを介して容易に拡張可能
  • CFML, HTML, Javascript, CSS シンタックス
  • タグ・関数・変数・コンポーネントのコードアシスト機能
  • コードの折り畳み
  • スニペットの作成、及び管理
  • アウトラインビュー
  • ファイル、及び、データベースに対するRDSエクスプローラー
  • ラインデバッグ

Adobe ColdFusion Builder 2.0[編集]

ColdFusion Builder 2.0(コードネーム "Storm")は、Adobe MAX 2010で発表された。主な機能として、コードナビゲーションの改良、検索機能の強化、コードフォーマットの改良など。2011年5月3日にリリースされた[6]

新機能:

  • CFタグの属性を自動補完。
  • コード・アシストを介した引数のコンテキスト情報。
  • カスタムおよび永続的なコードの折りたたみ。
  • タグのショートカット。
  • CFタグ、関数、およびUDFのポップアップヘルプ。
  • コードの書式設定が保持されます。
  • カスタマイズされたCFMLコードに対する高度な検索/置換。
  • エクステンションの機能強化とIDEを拡張するためのコールバック。
  • TODOとFIXMEノートを持つタスク・タグ。

Adobe ColdFusion Builder 2.0 Updater 1[編集]

ColdFusion Builder 2.0 Updater 1(コードネーム "Twister")は、ColdFusion 10 のリリースと同日の2012年5月16日に発表と同時に発売が開始された。

主な強化として、

  • ColdFusion 10で追加されるCFタグ・関数のコードヒント機能
  • ColdFusion プロジェクト単位で接続先のColdFusionサーバーを指定可能
  • Eclipse が 3.7 ベースにアップグレード

Adobe ColdFusion Builder 3[編集]

ColdFusion Builder 3 は、次期 ColdFusion Splendor(コードネーム) のパブリックベータ版と同時に公開されたColdFusion専用エディタThundor(コードネーム)である。今回のバージョンでは、ColdFusion 11の新機能であるモバイル開発機能向けの機能強化が行われており、デバッグやリモートテスト機能の他、PhoneGap Buildと連携して、モバイルアプリ向けのパッケージの作成の操作を行うことができる。


代替サーバ環境[編集]

ColdFusion は Web技術の業界標準に基づいた独自技術に発している。しかし、CFML をサポートした競合製品があるため、それほど閉じた技術にはなっていない。競合製品としては、RailoOPENBDBlueDragon、などがある。

ColdFusion はある意味で J2EE や .NET よりもプラットフォーム依存性が低いとも言われる。なぜなら、CFML は .NET のサーバ上(New Atlanta)でも動作するし、J2EE サーバ上(JRunWebSphereJBossApache GeronimoApache Tomcat、Resin、Jetty など)でも動作する。理論上、ColdFusion アプリケーションは変更なしで J2EE サーバから .NETサーバに移行できる。

これら代替サーバ環境は、ColdFusion の最新の機能をサポートするには時間がかかることに注意されたい。

関連項目[編集]

脚注[編集]

[ヘルプ]

外部リンク[編集]