ColdFusionカフェテリア
SAMURAIZ

 

Ajax、Flex、AIRとColdFusionの連携

作成日: 2008年12月3日
作成者:(株)エスアイヤ 代表取締役 河野俊之
CTO 木戸間 周平
チーフシステムエンジニア 江上 新一
最終更新日: 2008年12月3日

はじめに

 今回は、Ajax、Flex、AIRといったよりリッチなアプリケーション環境とColdFusionの連携について解説します。
 
 

◆ColdFusionとAjaxの連携

 ColdFusion8ではAjaxとの連携をサポートするようになり、Ajaxを用いたデータ連携やリッチなUI表現といったことが容易に実現できるようになりました。この連携機能により、ColdFusionコンポーネント(以降CFC)内で定義されたメソッドをJavascriptから呼び出すことができるため、既存のビジネスロジックを生かし、少ない工数でAjaxアプリケーションを作るといったことを実現することができます。また、ColdFusion8で追加されたいくつかのタグを利用することで、Ajaxを利用したリッチインターフェイスを非常に簡単に構築することができます。本来、Ajaxを使ったインターフェイスの構築はとても大変なものです。多くの場合、prototype.jsなどのAjaxフレームワークを使いリッチインターフェイスを構築することになりますが、Ajaxフレームワークにも様々なものがあるため、用途に応じて最適なものを選ぶ必要があります。しかし、ColdFusionのタグを利用したリッチインターフェイスの構築では、Ajaxのフレームワークすら意識することなく、なじみのあるCFからはじまるタグでリッチインターフェイスを使ったアプリケーションを構築することが出来ます。

 

◆ColdFusionとFlexの連携

 Adobe FlexはAdobe FlashをベースとしたRIA開発のフレームワークです。アニメーション制作ツールとしての位置づけから始まったFlashでの開発に比べ、Flexでの開発は一般的な開発者にとって馴染みやすいコード主体のものになっています。ColdFusionとFlexの連携ではFlashとの連携と同様にColdFusionに備わったRemotingゲートウェイを使うことで非常に簡単に高度なデータ連携を行うことができます。

 

◆ColdFusionとAIRの連携

 Adobe Integrated Runtime(以降AIR)はクロスプラットフォームのアプリケーション実行環境です。HTML、Javascript、Flash、Flex、など既存のWeb関連の技術を使ってデスクトップアプリケーションを作成できるといった特徴を持ち、サーバーサイドとの連携にもHTTP、Webサービス、Flash Remoting、ソケット通信など様々な通信手段を利用できる、現在とても注目されている技術です。AIRとColdFusionの連携でもFlexやFlashとの連携と同じように、Flash Remotingを利用した連携を行えるため、ColdFusionからはAIRアプリケーションとの連携ということを特別意識することなく、開発を行うことができます。

 

◆ColdFusionのタグで実現するリッチなUI

 ColdFusion8に追加されたタグを使うことで非常に簡単にリッチインターフェイスを実現できるということはすでに説明しました。ではどれほど簡単にリッチインターフェイスを実現できるのでしょうか、以下にColdFusionでAjaxを使ったリッチインターフェイスを実現するための簡単なコードを紹介します。
 
<cfwindow draggable="true” name="cfwindowObj” title="cfwindow”>
ウィンドウの中身
</cfwindow>
 
<input type=“button” name=“windowOpen” value=“Window Open” onclick=“javascript:ColdFusion.Window.show(’cfwindowObj’)”>
 
このコードは、ボタンを押すとページ中にポップアップウィンドウを表示するという動作をするものでcfwindowタグを使って書かれています。動作そのものはとても単純なものですが、cfwindowタグを使わずに書いた場合、このような単純な動作をさせるためであっても、もっと多くのコードを書かなくてはなりません。もちろん、Ajaxフレームワークを使う事でコード量を減らすことはできるでしょうが、それでも上記のコードよりコード量を減らすことは難しいのではないでしょうか。また、このコードでは、開発者がJavascriptを使っていることをほとんど意識する必要がないということが分かっていただけたかと思います。
 


 

◆まとめ

 今回はよりリッチなアプリケーション開発として非常に注目されているAjax、Flex、AIRといったアーキテクチャとColdFusionの連携について解説してきました。前回のFlashとの連携というものを含め、ColdFusionでは連携するアーキテクチャを意識することなく、どのアーキテクチャと連携する場合でも同じような方法で、とても簡単にそして強力に連携できることが分かっていただけたかと思います。このような異なるアーキテクチャとの強力な連携機能を使うことで、一つのビジネスロジックから様々な展開をしていけるのもColdFusionの優れたところといえるのかもしれません。
 

 今回扱った「Ajax、Flex、AIRとの連携」に関しては、ColdFusion 8プロフェッショナルガイドのChapter5にて、多くのサンプルコードを含めて詳しく解説しています。こちらも是非ご覧頂ければと思います。

ColdFusionの各種情報の配信


最新情報
■2017/3/27
ColdFusion 2016 対応
インストール セットアップ情報
CFサーバーのインストール
CFビルダーのインストール

■2016/9/20
『ColdFusion 2016 リリース
Enterprise Edition 活用資料』
記事一覧

■2016/3/30
『ColdFusion 実験室』
実験4、実験5

■2015/8/10 〜
『ColdFusion クリニック』
記事一覧(随時更新中)

■2015/4/8
『JasperReportsによる帳票出力』
2. JasperReportsによる帳票出力【後編】

■2015/3/12
アップクロス株式会社
西元 貞昭様
『JasperReportsによる帳票出力』
1. JasperReportsによる帳票出力【前編】


■2015/2/25
『ColdFusionでエクセルを使いこなそう!』
4. 【上級】ColdFusionのエクセル機能を利用したPDF帳票の紹介

ColdFusionトレーニング


ColdFusionユーザーグループ
ColdFusionユーザーグループ
Copyright 2012 Samuraiz Corporation. All Rights Reserved.