News Hot Line

[シンプルなタグでRIA、PDF、.NET/JavaにもアクセスできるのがColdFusionの最大の利点]ColdFusion 8スペシャリスト/マネージャインタビュー

この記事を読むのに必要な時間:およそ 2 分

9月21日にリリースされたColdFusion 8について,Adobe SystemsのSr. Product Marketing Manager,Tim Buntel氏とColdFuion Specialist,Adam Lehman氏にインタビューした。

最初にColdFusionのしくみを確認させてください

ColdFusionのアプリケーションは,WebSphere,WebLogicやJBossといったJ2EEアプリケーションサーバ上で稼働します。もしJ2EEサーバがない場合は,ColdFusionではJRunというJ2EEサーバが提供(同梱)されているので,それを使うことができます。私たちはColdFusionを,J2EEサーバ上でJ2EEやWebの開発生産性を上げるためのレイヤと位置づけています注1⁠。

また最近ではColdFusionは,RIA(Rich Internet Application)に対してサーバ側の情報を提供するという使われ方も増えています。ColdFusion 8では,Flash/Flex,AIR,PDF,Ajaxなどに対してデータベースからデータを渡すことが,より容易になっています。

注1)
リリース当初,ColdFusionはスクリプト言語(CFML)とアプリケーションサーバを含む製品だったが,ColdFusion MX(6.0)以降,ほかのJ2EEアプリケーションサーバ上で動くしくみになった。
ColdFusionの開発ツールはどんなものが用意されていますか?

ColdFusionのアプリケーションを開発する際は,基本的にはどんなテキストエディタを使ってもらってもかまいません。ユーザ側はあくまで(CFML形式の)テキストの中にシンプルなタグを書くだけです。記述したテキストは,サーバ側でJavaのバイトコードにコンパイルされます。開発環境としてはユーザの多くはDreamweaverやEclipse上でFlexBuilderを使ったり,Adobe以外で提供するEclipseプラグインを使っていますので,ColdFusion 8ではそれらのツールでコードを書く上で生産性を向上させる多くの機能を追加しました。

Flash/Flex,AIR,PDFなど他のAdobe製品とのエコシステムにおけるColdFusion 8のポジション,役割を教えてください。

すべてのクライアントテクノロジはなんらかのサーバ側のリソースを取得する必要があります。それが場合によって.NETのオブジェクトだったりWebサービスだったりするわけですが,ColdFusionはRIAとサーバの間で,リソース同士をうまく繋げる役割を果たします。Adobeのプラットフォーム内の位置づけとしては,ColdFusionはサーバ側の生産性を向上することができる製品といえます。

Adobe製品群におけるColdFusion 8の位置づけ

Adobe製品群におけるColdFusion 8の位置づけ

ColdFusionを使うことで,シンプルなタグであらゆるサーバ側のリソースにアクセスすることが可能になります。クライアント側はそれぞれ,どういうテクノロジを採用しているかによって,そこで必要となるフォーマットが異なりますが,ColdFusionを使うと,ColdFusion側でデータを,クライアントサイドで必要とするデータタイプに変換してくれますので,ColdFusionのコードをクライアント側に合わせて書き換える必要がありません。

またクライアント側との通信という点でも,ColdFusionを使うと非常に高いパフォーマンスを得ることができます。たとえばColdFusion以外の(非J2EE)サーバテクノロジを使ったFlexアプリケーションでは,おそらくWebサービスを使っていると思いますが,ColdFusionにはバイナリプロトコルがあるので,それを使ったほうが速いというメリットがあります。

ただ,そうは言っても開発者にとってColdFusionはとてもシンプルなものですし,実体はあくまでピュアなJavaですので,当然,Javaが持っている拡張性やセキュリティ,高速性といった性質がそのままColdFusionの特徴にもなっています。

とくにどんなユーザ層にColdFusion 8を使ってほしいでしょうか。

どんなスクリプト言語を使っている方でも,Webアプリケーションを作っている方であればターゲットになりますが,ColdFusionはとても学習・習得がしやすいので,とくにこれまでサーバサイドプログラミングの経験がない方,たとえばFlashやFlex開発経験者,あるいはJavaやC#などのオブジェクト指向言語の経験がない方には非常に良い選択肢になると思います。

もちろんそうはいっても,ColdFusionにはコンポーネントモデルやフレームワークがあるので,オブジェクト指向言語で多くの経験を積んでいる開発者にとってもとても使いやすいでしょう。また,たとえば常にパフォーマンスをモニタリングしながらサーバを管理しなければいけないシステム管理者にも使っていただくことができます。

またよくあるシナリオとして,小さな会社で一人で何役もこなすような場合,たとえばあるときにはHTMLデザインをし,あるときはSQLを書かなければいけないといったいろいろな役割をこなさないといけないときにも,使いやすく学びやすいのでぴったりだと思います。

従来からのユーザにとくに使ってもらいたい機能は?

ColdFusion 8の目玉としては3つのカテゴリがあります。第1は,アプリケーションがよりリッチで,よりパーソナライズされたものになるということ。Ajaxの利用や,RIAの開発,そしてPDFの生成やPDFフォームを使ったアプリケーション開発ができるようになっています。マルチメディアコンテンツに対応した機能も追加されました。たとえばビデオ,オーディオやテキストなどが入ったマルチメディア対応のコンテンツが作れる機能が追加されています。こういった機能を駆使して,よりリッチな経験をユーザに提供することができます。

第2は,企業の環境内でアプリケーションが統合しやすくなる機能です。その1つは.NET対応で,.NETのオブジェクトをColdFusionのアプリケーションの中で使うことができる(ネイティブ対応)ようになっています。また多くの企業ではExchange Serverを使っていると思いますが,Exchange Serverとやりとりできる幅広いツールを用意しています。既存のJava機能を使っている場合は,Javaと.NETの世界を橋渡しする機能も提供されています。さらに,パフォーマンスも大きく改善されました。また,今までのユーザが移行するにあたってはコードの変更の必要がないことも大きなメリットです。

第3には生産性がより高くなる機能が挙げられます。とくに重要なのがサーバモニタリングで,ColdFusionがアプリケーションとして現在どう稼働しているかを常にモニタリングできるようになりました。これは先ほども述べたように,開発者だけでなくシステム管理者にもとても有用です。開発者はタグレベルで,ColdFusionがどのように実行されているか確認することができるようになりました。開発者は自分たちが作っているコードが一番効率よく稼働できるように細部に渡ってチューニングできます。いったんアプリケーションがカットオーバしたら,管理者がサーバモニタリングツールを使って,健全に動いているか確認できます。メモリ使用率,データベースパフォーマンスなども見ることができますし,起こりうる問題を予期することもできるので実際に問題が発生する前にそれを直してしまうことが可能です。

ビジネス面での変化はありますか。

日本国内の商流・チャネルも今回新しくしました。1つはより手軽に購入できるように,ライセンス販売以外にスタンダード版に限って,パッケージ販売,ダウンロード販売も追加しました。もう1つ,エンタープライズ版では従来,ColdFusion MX 6/7が120万円(税込み126万円)でしたが,今回,98万円(2物理CPU,税込み102万9,000円)と大幅に価格を下げているのも大きな変化です(いずれも参考価格⁠⁠。

Adobe Systems ColdFuion Specialist,Adam Lehman氏(左⁠⁠,
同 Sr. Product Marketing Manager,Tim Buntel氏

Adobe Systems ColdFuion Specialist,Adam Lehman氏(左),同 Sr. Product Marketing Manager,Tim Buntel氏

バックナンバー

News Hot Line

バックナンバー一覧