CodeZine(コードジン)

特集ページ一覧

Adobe開発者が教えてくれた「ColdFusionとFlexの違い」

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2007/11/09 12:00

目次

ColdFusionとFlexは何が違う?

 実は「違いがよくわからない」という声はたくさん聞きます。私どもとしては大変残念なんですが、私たちの伝え方が悪かったと反省もしているところです。

ColdFusionとFlexは、お互い「違う領域」で機能する技術なんですね。

 ColdFusionが対象とする問題は「ビジネスロジックの統合」なんです。ColdFusionがハブとなり、どんなDBとも接続できるし、COMや.NETなどのバックエンドアプリケーションとも接続できる。そして結果を、クライアント側にWebコンテンツとして提供します。HTMLやJavaScript、CSSといったお決まりのソースを出力するわけです。

 一方、Flexはクライアントサイドの仕事をします。ですからFlexというのはHTMLやJavaScript、CSSを置き換えるための仕組みなんです。具体的にはこれをFlashに置き換えます。Flexがビジネスロジックとできるやりとりは「データ」だけです。それをFlashプレイヤーで実行できるアプリケーションとしてクライアント側に返す仕組みなんですね。

 だからFlexはバックエンドとのつなぎは全くできません。DBとの連携はもちろん、.NETやCOMとの連携はできない。Eメールなどの送受信もできません。Flexはバックエンドでどうなっているのか知ることはできないんです。

 そのため、Flexを使うためにはバックエンドとつないでくれる「何か」が必要なわけです。それがASPだったりPHPだったり、ColdFusionでもいいんですが、とにかくそのつなぎの部分が何か無いとFlexは機能しないんです。

担当しているレイヤーが違うということですね。

 こう見てもらうとわかると思います。ColdFusionはサーバ上にあり、バックエンドと接続しています。Webからリクエストを立てて、それをHTMLやCSS、JavaScriptという形で戻します。

ColdFusionとFlexの役割
ColdFusionとFlexの役割

 一方、FlexというのはFlashプレイヤー上で起動するアプリケーションを返す仕組みです。ColdFusionとはUIではなくデータという意味でつながることができます。ですからFlexというのはプレゼンテーション部分での「レンダリング作業」という点ではColdFusionと競合する関係かもしれませんが、コアのエンジンは全く違うんです。

ColdFusionはサーバということでしょうか?

 ColdFusionはサーバではないんです。サーバだと思われている人が多いんですが、その正体はJavaのアプリケーションです。J2EEサーバ上で動作するものなんです。

ColdFusionはJ2EEサーバ上で動作する
ColdFusionはJ2EEサーバ上で動作する

 手軽に使いたい方にColdFusionをJ2EEサーバにビルトインした状態で提供することもできます。もちろん、ColdFusionはJBOSSやWebsphere、WebLogic、その他のJ2EEサーバにデプロイすることができます。そして、WebブラウザからColdFusionにアクセスがあった場合、まず、IISやApacehなどWebサーバにアクセスすることになります。その後、ColdFusionにつながるのです。

 また、ColdFusionはJavaアプリケーションですが、開発時は「CFML」と呼ばれるXMLを拡張した言語でコーディングします。タグを書きつつ、その中にパラメータを設定します。タグ言語ですので、そのままHTMLと同様のレイアウトにもなります。

 これらのコードは開発時にしか存在しません。開発し終わったあとはソースコードを変換し、最終的にはJavaのクラスファイルになるんですね。つまりJavaアプリケーションになるんです。ColdFusionの開発コードは開発時にしか存在しないんです。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:話題のあの人にインタビュー!

もっと読む

著者プロフィール

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5