Flex版クライアントをビルド(Flex 3 SDK)
ここではFlex 3 SDKを使用してFlex版クライアントをビルドする手順を説明します。AIRアプリケーションに必要なパッケージングなどがないぶん手順は簡単になります。
ソースの配置
開発作業用フォルダを作成し、以下の5ファイルを配置してください。(ここでは「C:\flex_src」をソースフォルダにしました。)
- ShareBoard.mxml
- ShareBoard-config.xml
- LoginWindow.mxml
- services-config.xml
- messaging-config.xml
Flex版クライアントのソース
Flex版クライアント用のコンパイル時オプション
ログイン用ポップアップ画面(Flex版クライアント内で使用される)(※AIR版と共通)
サービス設定(※AIR版と共通)
メッセージング設定(サービス設定ファイルにインクルードされる)(※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アプリケーションに必要なパッケージングなどがないぶん手順は簡単になります。
プロジェクトの作成
以下の手順でプロジェクトを作成してください。
- メニューから「ファイル→新規→Flexプロジェクト」の順で選択してウィザードを開く
- プロジェクト名を入力し、以下の項目を選択し、次へ
- サーバ設定検証のためTomcatを起動
- 「ローカルのLiveCycleデータサービスサーバーにデフォルトの場所を使用」のチェックを外して以下の項目を入力し、「設定の検証」を押下
- 「WebルートフォルダとルートURLは有効です。」と表示されたことを確認して次へ
- ライブラリを読み込むため、ソースパスのタブを開き「フォルダの追加」でライブラリのパスを入力して終了(インストールした場所に合わせ「C:\flex_libs\corelib-.90\corelib\src」と入力します。)
アプリケーションの種類:Webアプリケーション
アプリケーションサーバの選択:J2EE
「ファイル名を指定して実行」で「C:\blazeds_turnkey_3-0-0-544\tomcat\bin\startup.bat」を実行(停止は「C:\blazeds_turnkey_3-0-0-544\tomcat\bin\shutdown.bat」を実行)
ルートフォルダ:C:\blazeds_turnkey_3-0-0-544\tomcat\webapps\shareboard
ルートURL:http://localhost:8400/shareboard/
コンテキストルート:/shareboard
ソースの配置
プロジェクトのソースフォルダに、以下の4ファイルを配置してください。(※添付ファイル)(標準では「(マイドキュメント)\Flex Builder 3\ShareBoard\src」になっているはずです。)
- ShareBoard.mxml
- LoginWindow.mxml
- services-config.xml
- messaging-config.xml
Flex版クライアントのソース
ログイン用ポップアップ画面(Flex版クライアント内で使用される)(※AIR版と共通)
サービス設定(※AIR版と共通)
メッセージング設定(サービス設定ファイルにインクルードされる)(※AIR版と共通)
「services-config.xml」の場所を設定
デフォルトだとTomcat以下のファイルを読み込むようになっているため、配置したファイルを読み込むように変更します。
- メニューから「ファイル→プロパティ」の順で選択してプロパティを開く
- ツリーからFlexコンパイラを選択
- 追加コンパイラ引数にあるパスを変更して適用またはOK
「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版クライアントをリリースしてください。
- メニューから「プロジェクト→リリースビルドの書き出し」の順で選択してウィザードを開く
- 必要な項目はすでにセットされているので、確認して終了
以上で最初に指定したサーバのルートフォルダ以下に「ShareBoard.swf」と表示用HTMLなどが作成されます。
クライアント接続状況監視プログラム
サーバ側において、クライアントの接続および切断を監視するJavaプログラムです。必須ではありませんが、これをインストールすることにより、他クライアントの接続状況が全体ログに表示されるようになります。
また、ログイン時に他クライアントと重複しない線色を自動で割り当てられるようになります。デモアプリケーションにはすでに含まれていますが、設定箇所などを確認する意味でソースの配置から説明しています。
- フォルダ「C:\blazeds_turnkey_3-0-0-544\tomcat\webapps\shareboard\WEB-INF\src\sample」を作成
- 作成したフォルダへ「ShareBoardBootstrapService.java」を配置(※添付ファイル)
- コンパイル&インストール
- 設定ファイルに定義を追記
コマンドプロンプトを開き、以下のコマンドを実行してください。(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
<services>タグの中に追記してください。
<service-include file-path="messaging-config.xml" /> <service id="sb-bootstrap-service" class="sample.ShareBoardBootstrapService"/> </services>
これで、次回のサーバ起動時から動作するようになります。
特定クライアントにメッセージを送る
接続したクライアントに線色を割り当てるメッセージを送るために「ColorAllocator」クラスの中で「MessageBroker#routeMessageToMessageClient()」というメソッドを使用していますが、これは実装されているもののJavadocに記載されていない未公開メソッドです。
将来のバージョンで公開となるようですが、現時点でも試したところ使用でき、代替となる手段がなかったためこちらを採用しました。