SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Adobe Developer Connection(AD)

BlazeDSでつくる共有ホワイトボード

BlazeDSのメッセージングを使用するデモアプリケーションを作成

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

Flex版クライアントをビルド(Flex 3 SDK)

 ここではFlex 3 SDKを使用してFlex版クライアントをビルドする手順を説明します。AIRアプリケーションに必要なパッケージングなどがないぶん手順は簡単になります。

ソースの配置

 開発作業用フォルダを作成し、以下の5ファイルを配置してください。(ここでは「C:\flex_src」をソースフォルダにしました。)

  • ShareBoard.mxml
  •  Flex版クライアントのソース

  • ShareBoard-config.xml
  •  Flex版クライアント用のコンパイル時オプション

  • LoginWindow.mxml
  •  ログイン用ポップアップ画面(Flex版クライアント内で使用される)(※AIR版と共通)

  • services-config.xml
  •  サービス設定(※AIR版と共通)

  • messaging-config.xml
  •  メッセージング設定(サービス設定ファイルにインクルードされる)(※AIR版と共通)

コンパイル

 「mxmlc」コマンドを使用してコンパイルします。コマンド実行後、同フォルダに「ShareBoard.swf」が作成されていることを確認してください。

C:\flex_src>mxmlc ShareBoard.mxml

 作成されたファイルを、すでにある「C:\blazeds_turnkey_3-0-0-544\tomcat\webapps\shareboard」に上書きコピーするだけで完了です。

Flex版クライアントをビルド(Flex Builder 3)

 ここではFlex Builder 3を使用してFlex版クライアントをビルドする手順を説明します。AIRアプリケーションに必要なパッケージングなどがないぶん手順は簡単になります。

プロジェクトの作成

 以下の手順でプロジェクトを作成してください。

  1. メニューから「ファイル→新規→Flexプロジェクト」の順で選択してウィザードを開く
  2. プロジェクト名を入力し、以下の項目を選択し、次へ
  3.  アプリケーションの種類:Webアプリケーション

     アプリケーションサーバの選択:J2EE

  4. サーバ設定検証のためTomcatを起動
  5.  「ファイル名を指定して実行」で「C:\blazeds_turnkey_3-0-0-544\tomcat\bin\startup.bat」を実行(停止は「C:\blazeds_turnkey_3-0-0-544\tomcat\bin\shutdown.bat」を実行)

  6. 「ローカルのLiveCycleデータサービスサーバーにデフォルトの場所を使用」のチェックを外して以下の項目を入力し、「設定の検証」を押下
  7.  ルートフォルダ:C:\blazeds_turnkey_3-0-0-544\tomcat\webapps\shareboard

     ルートURL:http://localhost:8400/shareboard/

     コンテキストルート:/shareboard

  8. 「WebルートフォルダとルートURLは有効です。」と表示されたことを確認して次へ
  9. ライブラリを読み込むため、ソースパスのタブを開き「フォルダの追加」でライブラリのパスを入力して終了(インストールした場所に合わせ「C:\flex_libs\corelib-.90\corelib\src」と入力します。)

ソースの配置

 プロジェクトのソースフォルダに、以下の4ファイルを配置してください。(※添付ファイル)(標準では「(マイドキュメント)\Flex Builder 3\ShareBoard\src」になっているはずです。)

  • ShareBoard.mxml
  •  Flex版クライアントのソース

  • LoginWindow.mxml
  •  ログイン用ポップアップ画面(Flex版クライアント内で使用される)(※AIR版と共通)

  • services-config.xml
  •  サービス設定(※AIR版と共通)

  • messaging-config.xml
  •  メッセージング設定(サービス設定ファイルにインクルードされる)(※AIR版と共通)

「services-config.xml」の場所を設定

 デフォルトだとTomcat以下のファイルを読み込むようになっているため、配置したファイルを読み込むように変更します。

  1. メニューから「ファイル→プロパティ」の順で選択してプロパティを開く
  2. ツリーからFlexコンパイラを選択
  3. 追加コンパイラ引数にあるパスを変更して適用またはOK
  4.  「C:\blazeds_turnkey_3-0-0-544\tomcat\webapps\shareboard\WEB-INF\flex\services-config.xml」
    →「(マイドキュメント)\Flex Builder 3\ShareBoard\src\services-config.xml」

起動確認

 メニューから「実行→ShareBoardの実行」を選択して実行してください。

リリース

 以下の手順でFlex版クライアントをリリースしてください。

  1. メニューから「プロジェクト→リリースビルドの書き出し」の順で選択してウィザードを開く
  2. 必要な項目はすでにセットされているので、確認して終了

 以上で最初に指定したサーバのルートフォルダ以下に「ShareBoard.swf」と表示用HTMLなどが作成されます。

クライアント接続状況監視プログラム

 サーバ側において、クライアントの接続および切断を監視するJavaプログラムです。必須ではありませんが、これをインストールすることにより、他クライアントの接続状況が全体ログに表示されるようになります。

 また、ログイン時に他クライアントと重複しない線色を自動で割り当てられるようになります。デモアプリケーションにはすでに含まれていますが、設定箇所などを確認する意味でソースの配置から説明しています。

  1. フォルダ「C:\blazeds_turnkey_3-0-0-544\tomcat\webapps\shareboard\WEB-INF\src\sample」を作成
  2. 作成したフォルダへ「ShareBoardBootstrapService.java」を配置(※添付ファイル)
  3. コンパイル&インストール
  4.  コマンドプロンプトを開き、以下のコマンドを実行してください。(javacは引数が長いため2行に分けています。プロンプトに注意してください。)

    C:\>cd C:\blazeds_turnkey_3-0-0-544\tomcat\webapps\shareboard\WEB-INF
    C:\(省略)\shareboard\WEB-INF>javac -cp lib\flex-messaging-common.jar;lib\flex-messaging-core.jar ^
    More? -d classes -encoding UTF-8 src\sample\ShareBoardBootstrapService.java
    
  5. 設定ファイルに定義を追記
  6.  <services>タグの中に追記してください。

    ファイル)tomcat\webapps\shareboard\WEB-INF\flex\services-config.xml
    <service-include file-path="messaging-config.xml" />
            <service id="sb-bootstrap-service" class="sample.ShareBoardBootstrapService"/>
        </services>
    

 これで、次回のサーバ起動時から動作するようになります。

特定クライアントにメッセージを送る

 接続したクライアントに線色を割り当てるメッセージを送るために「ColorAllocator」クラスの中で「MessageBroker#routeMessageToMessageClient()」というメソッドを使用していますが、これは実装されているもののJavadocに記載されていない未公開メソッドです。

 将来のバージョンで公開となるようですが、現時点でも試したところ使用でき、代替となる手段がなかったためこちらを採用しました。

「FlexではじめるRIA開発」特集、絶賛公開中!
修正履歴

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Adobe Developer Connection連載記事一覧

もっと読む

この記事の著者

三上 喜之(ミカミ ヨシユキ)

フリーエンジニア。現在持っているWebアプリ関連スキルをRIA方面へ伸ばすため日々奮闘中。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4636 2009/12/01 10:17

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング