ColdFusion 10は、1995年のリリース以来“Difficult Things Made Easy~難しいことを簡単に~”をコンセプトに、アジャイル型Webアプリケーションの開発を行う最も優れた機能を持つ製品として成長し続けてきました。
ColdFusion9のリリースから約3年ぶりとなる本バージョンでは、そのコンセプトを継承するとともに、最新のWeb体験であるHTML5やwebsocketなどに対応し、次世代のWebアプリケーションの構築を強力にサポートします。また、SOAPやREST Webサービス、Javaとの連携の強化など従来の機能も最新のバージョンになるほか、累積パッチや修正プログラムなどの自動適用などColdFusionのセキュリティ面も向上する機能も搭載されました。
スマートフォンやタブレットの普及やWebアプリケーションの進化によって近年急速な広がりを見せるHTML5。
ColdFusion10でもその進化に合わせてHTML5対応を強化しました。ColdFusion 10 でサポートされるHTML5機能には、websocketやクライアントベースのHTML5チャート、ビデオプレーヤーやGeo locationに対応したgoogle mapの表示、HTML5フォーム入力に対するColdFusion側での受信のサポートなどが新たに実装されています。
WebSocketプロトコルによって、サーバーから複数のクライアント、あるいは一人のクライアントから複数のクライアントへのデータのプッシュが可能となり、株式やチャートなど様々な目的のためのリアルタイムアプリケーションの開発が可能となります。ColdFusion10では、WebSocketプロトコルのメッセージングレイヤを供給するWebSocketを実装しており、CFMLとJavaScriptを用いて簡単に制御が行えます。
ColdFusion 10 では従来のサーバーサイドのチャート機能に加え、新たにクライアントサイドのチャートが実装されました。クライアントサイドのチャート機能によって、新たな種類のグラフがサポートされるほか、ユーザー操作によるダイナミックなグラフやwebsocket機能を組み合わせたインタラクティブチャートなど、ユーザーへの表現の幅が広がります。
ColdFusion10では<cfmediaplayer>タグが強化され、HTML5ベースのメディアプレーヤーが新たに搭載されました。従来のFlashベースに加えて、再生可能なプラットフォームが広がるとともに、プレーヤーの制御等も行うことが可能です。
従来の<cfmap>に、Geo-locationによるgooglemapの現在地点を表示する事が可能になりました。その他、HTML5フォームから送信されたデータをColdFusion10で扱う事ができるようになっています。
セキュリティ上の脆弱性、例えばXSSとCSRF攻撃によってもたらされる脅威を軽減する機能や、インストール時にセキュリティを強化した設定を行うセキュア・プロファイル機能、その他、セッションCookieなどの強化やセッションローテーションなどが行われています。
ColdFusionには、CFタグや関数を組み合わせてカプセル(Function)化するユーザー定義関数が用意されていますが、ColdFusion10からはユーザー定義関数に対してクロージャー機能が新たにサポートされました。関数の呼び出し結果を異なる処理を行う関数や変数を含んだ値(式)にすることができ、目的に応じてそれぞれ異なる値を持たせた処理を実行できるなど、関数の使い方の幅が大きく広がります。
ColdFusionで定時処理やバッチライクな処理として広くユーザーに使われている、スケジュールタスク機能がColdFusion 10より大幅に機能強化されました。新しいタスクエンジンを実装し、スケジュールタスクのグループ化やタスク間のチェーン機能、優先度の設定やエラーハンドリング機能など、これまで行うことが出来なかったさまざまな条件を踏まえたタスクの指定が可能となりました。
ColdFusionのメモリ内に構築される仮想ファイルシステムを活用する事で、処理における一時ファイルの配置を高速なメモリ内で行えるほか、動的プログラムを配置してインクルードや実行が可能になります。ColdFusion10では、アプリケーション単位での有効・無効の切り替えやメモリサイズの制限が設定でき、メンテナンス性が向上します。
Microsoft Exchange Server 2010 SP1を新たにサポートするほか、Microsoft Exchange web services(EWS)にも対応。EWSの機能を利用した各種処理をColdFusionから呼び出し処理を行うことが可能です。
ColdFusion MX から実装されたWebサービス機能について、ColdFusion 10 より含まれるWebサービスフレームワークが Axis 2 になりました。Axisエンジンのバージョンアップによって、WSDL 2 、SOAP 1.2 プロトコルなどをColdFusion10で対応できるようになりました。
ColdFusionにはXMLに関する様々な処理が含まれています。ColdFusion 10では、XPathおよびXSLT が 2.0に対応し、XML ドキュメントオブジェクトの検索やXMLドキュメントの変換処理の処理がより向上されました。
ColdFusion10では従来のSOAP形式に加え、REST (Representational State Transfer)形式のサービスもサポートします。近年採用が増えているREST形式のWebサービスを呼び出せるだけでなく、CFCで作成したプログラムをRESTサービスとしてパブリッシュも行えます。
ColdFusion 10 からパッチや修正プログラムのリリース確認をColdFusion Administratorで行うことが可能となりました。ColdFusion Administratorの画面上でパッチの確認やダウンロード・インストールを行うことができます。これまでの手動での操作に比べて、メンテナンス性が大幅に向上し、最新の状態でColdFusionを動かし続けることが可能です。
プログラムの動作などを確認する際、現在の処理ポイントがどのような階層を辿って呼び出されたか階層(コールスタック)のスナップショットを取得する機能が追加されます。予期しない動作を起こした場合などの原因調査に活用できます。
ColdFusion10では、任意のディレクトリにJavaライブラリを配置し、ColdFusionからそれらライブラリを呼び出し使用することができます。またCFC Proxyを使用することで、ColdFusionコンポーネントをJavaクラスからアクセスすることができ、ColdFusionとJavaとの連携性がさらに向上します。
ColdFusion 9 から追加されたORM機能が強化され、ORMエンティティに対するLucene検索エンジンを用いたテキスト検索などが可能となりました。
ColdFusion 10のリリースに合わせ、ColdFusion Builder 2も機能強化を含む Updater1がリリース。ColdFusion10で追加されたCFタグ・関数のコードヒントや、ColdFusion Builder と ColdFusion 10サーバーへの接続がサポートされるなど、ColdFusion10をベースとしたプログラミングに威力を発揮します。