ColdFusion 9でRIA開発をもっと簡単に!
今月号の記事
- ColdFusion 9でRIA開発をもっと簡単に!
- SEOの視点で見るFlashの使い方・使いどころ
- ワンパクの「もっと使いこなしてみよう!Dreamweaver」
最終回 拡張機能でDreamweaverパワーアップ! - 大重美幸の「これ見落としてませんか?ActionScript 3.0」
第6回柔軟・多彩・高速な画像処理を実現するシェーダーフィルタ - 小野田智の「世界の制作会社からコンニチハ!」
オーストラリア&アラブ首長国連邦 - モバイル向けAdobe AIR発表!
日本発のPackager for iPhoneアプリも続々登場 - 2010年1月注目記事
- サービス & サポート情報
- イベント/セミナー情報
昨年秋に発表されたColdFusionの最新バージョンであるColdFusion 9をご存知ですか?
ColdFusionは少ないコードでJavaアプリケーションを開発することができるアプリケーションサーバーで、その生産性の高さやメンテナンスの容易さから数多くのWebアプリケーションに利用されています。アドビ社の資料によれば、ColdFusionを利用する企業は今までに全世界で1万2千社を超え(2007年から20%の新規顧客増加)、開発者も80万人近く(2007年から60%の増加)に達しています。
このようにColdFusionの導入が増え続けている理由としては、生産性だけでなくFlashとの親和性の高さも大きな要素であるとのことで、実際ColdFusion 9ではRIA開発のための機能強化が大きな柱の1つになっています。そこで、ColdFusion 9が提供するRIA開発者にとっての利点を具体的にいくつかご紹介したいと思います。
ColdFusion 9とRIA
1.Flexアプリケーションとの連携
ColdFusion 9にはOfficeファイルをPDFに変換する機能があります。下はPowerPointファイルをPDFに変換するコードと実行例です。
ColdFusion 9から、このPDF変換を含め6つの機能がWebサービスとして公開できるようになりました。公開できる機能にはそれぞれWSDLが提供されていてSOAPを使ってアクセスします。
さて、ColdFusion 9では、これらのサービスを利用するためのAS3/MXML用ライブラリが提供されます。Flexアプリケーションは、このライブラリを使うと、例えばPDF変換であれば<cf:Document action="generate" format="pdf" ...>のようなタグの記述によりColdFusion 9の機能を呼び出すことができるようになります。また、通信にAMFを使うためSOAPよりも高速な処理が期待されます。
Flash Remotingについては前バージョンに比べ9倍の高速化が実現されているとのことで、アドビ史上最速かもしれません。
2.AIRアプリケーションのローカルDB同期
ColdFusion 9から追加された新機能の1つにORM (オブジェクト–RDB間のマッピングを行う)があります。ORMを利用すると、SQL文を使うことなく少ない行数でオブジェクトをデータベースに保存する機能を記述できます。また、ORMには特定のデータベースに依存しないアプリケーションを作成できるという利点もあります。ORMはJavaのHibernateフレームワークをベースに実装されています。
左は実際にORMを使ってコード生成を行っているデモビデオへのリンクです。テーブルの情報をもとにCFCファイルが生成される様子を捉えたものです。
この機能をAIRアプリケーションからも活用できるよう、ColdFusion 9のORMとAIRのローカルDBであるSQLiteを連携させるAS3ライブラリが提供されています。このライブラリでは、AIRアプリケーションがオフラインからオンラインになったときのサーバー側へのデータ同期機能が提供されたり、オフライン中のローカルデータ更新によるサーバーとの競合の検出がサポートされたりします。
その際、AIRアプリケーション開発者はデータベースやテーブルを意識する必要がありません。そのため、オンライン/オフラインどちらでも利用できるAIRアプリケーションの開発がより効率的になることが期待されます。
3.開発環境の連携
ColdFusion 9の開発と並行して、Eclipseベースの新しいIDEであるColdFusion Builderが開発されています。

スクリーンショット:ColdFusion Builder
同じくEclipseベースであるFlash Builderと連携してサーバー側/クライアント側のコードを同一環境内で開発することが可能です。特に、ColdFusion BuilderのORMコード生成機能とFlash Builder 4のDCD機能を利用すると、コードを1行も書かずにアプリケーション開発ができてしまいます。この簡単さはちょっと感動的です。
なお、ColdFusion Builderは現在ベータ版がAdobe Labsに公開されている状態です。日本語版は英語版正式リリースのさらに先になるそうなので、残念ながら少し待つことになるかもしれません。
4.BlazeDSの統合
BlazeDSは、アドビからオープンソースとして公開されているサーバー側のメッセージング技術です。サーバーからFlashアプリケーションにデータをプッシュしたり、Flashアプリケーション同士でリアルタイムにデータを共有したりするのに使われています。
ColdFusion 9をインストールすると、同時にBlazeDSも構成済みの状態でインストールされます。つまり、Flashアプリケーションのためのメッセージング機能も別コンポーネントとしてですが付属しているわけです。
ColdFusionにはBlazeDSと連携する機能がありますので、ColdFusionからBlazeDS経由でFlashアプリケーションにメッセージをプッシュすることも可能です。
その他の新機能
さて、ColdFusion 9にはRIA開発用途以外にもまだまだ魅力的な新機能があります。以下簡単にご紹介します。
1.Officeファイルとの連携
ColdFusion 9はExcelファイルの読み込み・生成・セル内のデータ更新や、PowerPointプレゼンテーションの動的な作成が可能です。MS Office 97以降とOpenOffice.orgのフォーマットをサポートしています。
下は、Excelシート(左)とそれを読み込んでグラフ表示している画面の例(右)です。コード例にも記述されているように読み込む範囲を指定することもできます。
他にも、この記事の最初に紹介したとおり、WordやPowerPointのPDFへの変換機能もあります。
2.新しいAjaxコントロール
新しい10個のUIコントロールが追加されました。下の2つの画面は、それぞれファイルアップロードとGoogleマップのUIコントロールの使用例です。ファイルアップロードのUIコントロールでは一度に複数のファイルを選択してアップロードができます。どちらも簡単なコードで実現できていることが分かるかと思います。
![]() |
<cfmap name="gmap01"
centerlatitude="71.094224"
centerlongitude="42.339641"
doubleclickzoom="true"
overview="true"
scrollwheelzoom="true"
showscale="true"
tip="My Map"
zoomlevel="4"/>
|
3.IMAPのサポート
IMAPを使いメッセージを読み込むことができるようになりました。ヘッダーのみを取得したり、添付ファイルをダウンロードしたりすることができます。また、フォルダ情報の取得や名前の変更、メッセージのフォルダ間での移動などの管理機能も提供されます。
4.Apache Solrの統合
Apache Solrの統合により、高速な全文テキスト検索が可能です。従来のVerityを使った検索より6倍高速、インデックスの作成も2.5倍高速です。
5.パフォーマンス
ColdFusion 8より40%高速、ColdFusion 7より6倍高速になりました。
ColdFusion in the Cloud
クラウドは最近よく使われるようになった言葉ですが、安いコストで俊敏性と柔軟性の高いサービスが利用可能という理由で広く使われるようになって来ています。
このような状況に対応すべく、ColdFusion 9では従来のCPUライセンスに加えてクラウド環境で利用できるライセンス提供が予定されています。ライセンスを持っていないユーザーでも手軽にColdFusionを使える環境が提供されることになります。
まず、Amazon EC2向けに2010年前半に提供予定でサービスの準備を進めているとのこと。次期バージョンはよりクラウドでの利用を想定した製品として見直される模様です。
よりパワフルに、より使いやすくなったColdFusion 9、お試しになりたい方は、アドビのColdFusionサポートセンターから体験版をダウンロードしてみてください。




