JavaとFlex/AIRをつなぐ「炎」のオープンソース
Tomcatを使ったサーバPushもできるBlazeDSとは?

クラスメソッド株式会社
友田 翼
2007/12/27


Flexのチャットアプリケーション

 最後にSample7です。Sample7はチャットアプリケーションで、クライアントからのメッセージ送信を可能にしています。

 このチャットアプリケーションを2つのWebブラウザで開き、アプリケーション内のテキスト入力欄に文字を入力し「Send」ボタンを押下すると、入力した文字列が開いた2つのブラウザのテキストエリア内に表示されます。

図5 Sample7の使用例
図5 Sample7の使用例

 メッセージの送信を行うには、「Producer」というFlexクラスを使用しています。メッセージの送信先を「destination」に指定します。

 また、このサンプルではメッセージの受信も行うために、「Consumer」というFlexクラスも定義してあります。同じ「destination」を指定しているので、Producerが送信したメッセージをConsumerが受け取り、チャットとして成立することになります。下記がMXML内でのProducerとConsumerの宣言部分になります。

<mx:Producer id="producer" destination="chat"/>
<mx:Consumer id="consumer" destination="chat"
     message="messageHandler(event.message)"/>

 「destination」の設定はSample6と同じく「WEB-INF\flex\messaging-config.xml」に設定してあります。

開発に便利なツール「blazeds-console」

 BlazeDSには、「blazeds-console」というアプリケーションが付属しています。balzeds-consoleを使用するには、Webブラウザで「http://127.0.0.1:8400/blazeds-console/」を開きます。

図6 blazeds-console起動画面
図6 blazeds-console起動画面 

 このアプリケーションでは、BlazeDSへ接続しているFlexクライアント数やセッション数、AMFのスループットなどの情報がグラフィカルに監視できたり、end pointdestinationの管理、ログの管理などができるようになっていて非常に便利です。

図7 blazeds-console実行画面
図7 blazeds-console実行画面(画像をクリックすると拡大します)

 パフォーマンスの調査や、チャンネルが利用できているのかどうかなどのデバッグ作業もしやすくなると思います。

BlazeDSやLCDSは今後、どうなる?


ほかのサンプルも理解しやすい

 今回確認した3つのサンプルアプリケーションだけではなく、ほかの「30 Minute Test Drive」内のサンプルアプリケーションについても、動作とソースを確認してみてください。非常に簡潔にできていますので、BlazeDSの機能を確認するのには最適だと思います。

 また、「Other Samples」のアプリケーションには、より凝ったアプリケーションや、メッセージングで使用するチャンネルをプログラム内から設定するようなアプリケーションもありますので併せて確認してみてください。

LCDSへの移行も容易

 LCDSはBlazeDSとほぼ同じ開発コードを用いるということですので、DMS(Data Management Service)などのBlazeDSにはない機能やRTMPの使用など、さらなる拡張性を求める場合には、支障なくLCDSへ移行できるはずです。

 さらに、PDF生成やPDFソリューションとの統合が必要になる場合には徐々に上位版に移行して拡張していくということも可能になります。

コミュニティもできて、Java以外もサポートするらしい

 また、今後の戦略としてコミュニティを立ち上げて参加者を募り、BlazeDSおよびLCDSの開発を進めるほか、ほかの団体と協力しJava以外のプラットフォームでもBlazeDSを利用できるようにする計画もあるようですので、BlazeDSの今後が非常に楽しみです。

@IT関連記事


データバインディングでオブジェクト間のデータ受け渡し
Flex2でWebアプリ開発(4) Flexアプリケーションであるオブジェクトと別のオブジェクトとの間で、データの受け渡しをさせる「データバインディング」を見ておこう
リッチクライアント & 帳票」フォーラム 2007/3/14
より短いXMLコードでサーバ通信させるFlex2
Flex2でWebアプリ開発(最終回) Flexアプリケーションで「サーバ通信」を行う方法と、XMLの操作が簡単に短いコードで、パフォーマンスが向上させる「E4X」を紹介
リッチクライアント & 帳票」フォーラム 2007/4/18
PDFによるJ2EEリッチクライアント計画
本連載では、J2EEのクライアントにPDFを採用することで、開発者がどのようなメリットを得られるのか、全4回の記事で紹介していく。
第1回 J2EEのMVCモデルを変革する“PDF”の正体とは?
第2回 J2EEを拡張するAdobe LiveCycleの全容
第3回 リッチクライアント環境を生かしたセキュアなBPM
最終回 PDF&Flashで強化されるJ2EEリッチクライアント
[Flex裏技集]クッキー保存,SWF通信,JavaScript連携
現場で使えるFlex実践テクニック(6) 最終回は裏技放出! ローカルにデータに保存する方法や異なるSWFファイル間での通信、JavaScriptとの相互呼び出しについて解説
リッチクライアント & 帳票」フ ォーラム 2007/12/14
開発品質を均一化させるCairngormとは?
Flexのクライアントサイドをオープンソースで制覇する(1) 大規模なWebアプリケーションを大人数で開発するときに便利なFlexのクライアントサイドのフレームワークを紹介
リッチクライアント & 帳票」フォーラム 2006/5/19
Eclipseで開発可能になったAdobe Flex 2
リッチクライアント・プロダクトレビュー 今年登場するAdobe Flex 2はEclipseプラグインを開発環境とするリッチクライアントフレームワークに生まれ変わった
リッチクライアント & 帳票」フォーラム 2006/4/8
Flex/AIRの開発環境Flex Builder 3を使ってみよう
現場で使えるFlex実践テクニック(特別編) 今秋に機能確定版がリリース予定のFlex Builder 3。EclipseベースのFlex/AIR開発環境のインストール方法と新機能を紹介
リッチクライアント & 帳票」フ ォーラム 2007/9/6

プロフィール:友田 翼(ともだ つばさ)
クラスメソッド株式会社 エンタープライズサービス部門アーキテクト
Adobe Certified Professional Flex 2.0 Developer認定技術者

Flashエンジニアとして主にUI開発フレームワークの設計および開発、Web制作などを経て、クラスメソッド株式会社に入社。
入社後はFlexやAIRによるRIAの開発やプロジェクト・マネジメントを行っている。

1-2-3  

 INDEX
JavaとFlex/AIRをつなぐ「炎」のオープンソース
  Page1
「炎のデータ・サービス」? BlazeDSとは何なのか?
論より証拠! BlazeDSを使ってみよう
  Page2
FlexからJavaメソッドを操作する
サーバからのプッシュを実現
Page3
Flexのチャットアプリケーション
開発に便利なツール「blazeds-console」
BlazeDSやLCDSは今後、どうなる?




HTML5 + UX フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

HTML5+UX 記事ランキング

本日 月間