| 1. |
Macromedia ColdFusion MX for
J2EE |
| |
(1) |
製品概要 |
| |
|
「Macromedia ColdFusion MX for J2EE Application Servers」は、データベース接続やFlashとの連携でのリッチインターネットアプリケーション構築の中核を為すミドルウェア製品であり、HTMLタグライクなスクリプティング環境と、検索やグラフィカルなチャート機能などを提供するサーバ製品である。(図1)
既に2002年夏よりリリースされている、スタンドアローン「ColdFusion MX Server」の拡張バージョンであり、現在対応しているJ2EE
Application Serverには、IBMのWebSphereやMacromediaのJRun4がある。
前バージョンの「ColdFusion 5」と比較して、処理速度が5倍ほど向上していることに加え、J2EEサーバ上での動作環境を手に入れたことで、スケーラービリティと信頼性・サーバーメンテナンス性の向上・Java環境との統合を実現している。
クライアント環境で「Flash Player」を使用し、後ほど紹介する「Macromedia Flash Remoting MX」を介して、「Cold
Fusion MX」と連携させることにより、操作性の高いクライアント/サーバー型アプリケーションやデスクトップ型アプリケーションを構築可能となる。(図2)
また、多くの読書が利用している「Dreamweaver MX」によって、統合された開発環境が実現されることとなる。 |
| |
|
|
| |
|
図1:JRun4上でWebアプリケーションとして動作するColdFusion MX for JRun4

Windowsマシンへのインストール画面、ウィザード形式で簡単にインストールが可能。

図2:写真は当社開発のコミュニケーションウェア「PodPop/cw」で、Flash MX+CFMX+Flash
Remoting + Communication Serverを利用して、リッチインターネットアプリケーションを実現している。
|
 |
| |
(2) |
機能に関して |
| |
|
機能においては、以前のバージョンからの容易な開発スタイルは踏襲しつつも、さらに進化したといえるのではないだろうか。
カスタムタグなど、以前のバージョンでもCFML(注1)を使って独自にタグを拡張して再利用することは可能であったが、CFMXからはColdFusion
Components(CFCs)(図3)が利用できるようになった。これはカスタムタグと同様に、CFMLで自分自身のオリジナルの機能を作成できるということであるが、さらにオブジェクト指向ライクに開発できるため、ビジネスロジック部分とUIであるインターフェースデザイン部分を切り離して開発するデザインパターンであるMVCパターン(注2)を使った実装が可能となる。
新たに拡張した機能としては、Flashとの連携強化(Flash Remotingが実装)・グラフ生成機能の向上(図4)・XMLパーサーが内包されたことによるXMLデータの操作性向上、そして大きなポイントとしては、Javaベースのソリューションとなったことにより、Javaのクラスが直接ColdFusionから利用できるようになった点が挙げられる。また、CFMLコードで書かれたプログラムでも、一度実行されるとJavaのコードに変換されるため、パフォーマンスも向上している。 |
| |
|
|
| |
|
図3:Dreamweaver MXを直接サーバにRDSアクセスしてColdFusion Componentsを作成している画面

図4:CFMXサンプルアプリケーションのグラフ
| 注1: |
ColdFusion Markup Languageの略で、ColdFusionの言語のこと。 |
| 注2: |
フロントエンドのUI部分とバックオフィスのビジネスロジック部分の役割を明確に分けて実装する開発手法であり、Javaでの開発によく使われるデザインパターン。UI部分のViewとビジネスロジック部分のModel、そしてそれらをコントロールするControllerに分けて開発する。 |
|
 |
| |
(3) |
使用感覚に関して |
| |
|
ColdFusion Componentsが新たな機能として加わったことにより、Javaの開発現場では一般的なオブジェクト指向での開発に近いスタイルが実現できるようになった点は現在主流の開発スタイルにマッチしている。さらにColdFusion
Componentsで記述することによって、ColdFusion MXのセルフドキュメンテーション機能が自動的にドキュメントを作成してくれるため、コンポーネントの仕様書を別途用意する必要がなく、(図5)コンポーネントの再利用性が高まり、多数の開発者とのコラボレーションにおける負担が軽減される。
また、コンポーネントの作成・データベースとの接続(図6)・アセット管理などもMacromedia Dreamweaver MXを介すことで直接サーバにRDSアクセスして開発を行うことができ、さらにプレビューして画面イメージの確認を行うことも可能である。こうした機能により、開発ツールとしてMacromedia
Dreamweaver MXを使う事でさらに生産性が高まり、開発時には欠くことができないツールであると言える。
扱いやすさに関しては従来のバージョンから変わることなく、管理画面も非常に洗練されており、開発ミドルウェアの中ではやはり群を抜いて利用しやすいアプリケーションであると言える。(図7) |
| |
|
|
| |
|
図5:CFCコンポーネントを作成するだけで、ドキュメントが自動生成される。

図6:Macromedia Dreamweaver MXでデータベースへの接続を行っている画面。
図7:CFMX管理ページへのログイン画面と、管理ページのメイン画面。
|
| |
(4) |
活用方法に関して |
| |
|
ColdFusion 5は、プログラム技術の取得が容易であることと開発生産性の高さから、RAD(注1)と呼ばれる開発手法により、短期間でサイトを構築するような中規模までのサイト構築に多く使用されてきた。今回ColdFusion
MXの発売によって、ColdFusion Componentsを使用したオブジェクト指向ライクな開発やJavaとの連携なども可能となったこと、さらにJ2EE環境までも味方につけたことで、大規模サイトの構築でも利用される機会が多くなると思われる。
例えばエンタープライズ市場で世界的に信頼性のあるIBMのWebSphereのような高負荷に耐えうるJ2EEサーバをバックオフィスで利用することによって既存のJava資源を生かしつつ、フロントエンドでは生産性の高いColdFusion
MXで開発を行うというケースが考えられる。
次に、大きな利点として、Flashとの連携の優位性が上げられる。従来のページベース(ブラウザベース)のECサイトなどにおける、何ページにもまたがったチェックアウト処理を行わず、リッチインターネットアプリケーションを構築する事で、ページを遷移することなく同一ページ内で数ステップにも渡る処理を完了することができる。
また、ColdFusion Componentsを利用して開発したサービスを公開することで、WEBサービスとしての利用が可能となり、独自のサービスなどをWEBサービスとして提供することも可能となるのではないだろうか。
| 注1: |
Rapid Application Developmentの略で、従来のように要件定義・分析・設計・開発・テストなどのフェーズにしっかり時間をとって開発を行うウォーターフォール型の開発手法とは反対に、モックアップデザインなどプロトタイプをどんどん作って、何度も繰り返し評価を行ってゴールを目指すやり方で、スパイラル型と呼ばれることもある。 |
|