


フレックスまたはフラッシュ?
Flashがベクターグラフィックスに重点を置いている場合、 Flexはインターフェイスに焦点を当てています 。 もちろん、Flashでインターフェイスを作成でき、多くの人がこれを行っており、アクションスクリプトを理解し、xmlで動作しましたが、この領域のFlexは、フレームワークを備えたjavascriptよりもマルチメディアであるフロントエンドアプリケーションに焦点を当てているため、簡単です。プログラミング言語と見なすことができ、変数や関数がなく、一般的には本質的にXMLであることを完全に認識しています。 そして、原則として、広義のプログラムは一連のアクションであり、バーのメニュー、バスのスケジュールなど、何でもそうであると考えることができると主張しました。 Flex言語はXMLであり、 ActionScriptが含まれる場合があります。 この言語は基本的にオープン(オープンソース)であり、同じ名前のmxmlcコンパイラーを使用してmxmlからswfにコンパイルされます。 開発をより便利にするために、Eclipse拡張機能として有料のIDEがあります。AdobeFlex Builder 3を使用すると、J2EE / PHP / .NETテクノロジーを備えたサーバー上の公開または独立したデスクトップAIRアプリケーションとして、アプリケーションをすばやくコンパイルして開くことができます。 Flash / Flexメソッドはjavascriptに関連付けることができます。これにより、アップグレード時にアプリケーションの一部のみを書き換えることができます。JBossのセットアップ
Jbossサーバーバージョン4.2 の最新の安定バージョンをインストールします 。 これを行うには、ダウンロードしたアーカイブからjbossフォルダーをProgram Filesにドラッグアンドドロップします。 JbossはApacheサーバーと比較できますが、本質的に大きく、その一部のみがWeb処理(Javaアプリケーション用の一般的なTomcatサーバー)を担当します。 ご想像のとおり、サーバーアプリケーションはphpではなくjavaになります。apacheとは異なり、jboss / tomcatサーバーは実行中のアプリケーションをすぐにプログラムフォルダーに分割します。 トレーニング仕様によると、アプリケーションフォルダーはjboss / server / default / deployにあります。 そこに行き、myflex.warと言う独自のフォルダーを作成します(同時に.warは必須です) Flexクライアント
mxmlcコンパイラーを備えたFlex SDKの代わりに、試用期間のある、より視覚的なIDE Adobe Flex builder 3をインストールしました。 新しいプロジェクトをウィザードで追加する場合、LiveCycleを削除してmyflex.warフォルダーをポイントする必要がありますが、実際のコードはmxmlとアクションスクリプトの混合形式で記述します(アプリケーションの下部を参照)。 コードの主要部分は、非同期メッセージの転送です。 これを行うために、受信者オブジェクトと送信者オブジェクトが作成されます。 producer = new Producer();
producer.destination = "myTopic";
producer.addEventListener(MessageAckEvent.ACKNOWLEDGE, acknowledgeHandler);
producer.addEventListener(MessageFaultEvent.FAULT, faultHandler);
consumer = new Consumer();
consumer.destination = "myTopic";
consumer.addEventListener(MessageAckEvent.ACKNOWLEDGE, acknowledgeHandler);
consumer.addEventListener(MessageFaultEvent.FAULT, faultHandler);
consumer.addEventListener(MessageEvent.MESSAGE, messageHandler);
デベロッパーセンターで Flexの学習を開始できます。
BlazeDSおよびメッセージングサービス(JMS)
BlazeDSバイナリ配布をダウンロードします 。 これはコンパイルされたJavaライブラリであり、FlexからJMSにメッセージをリダイレクトできます。JMSはJbossサーバーにインストールされます。 ダウンロードしたアーカイブ内で、Winrarでblazeds.warファイルを開き、WEB-INFフォルダーをmyflex.warアプリケーションに解凍します。


確認する
サーバーが実行されていることを確認してください。 アプリケーション内の任意のコンテンツでtext.htmlテストファイルを作成し、bin / run.batファイルからjbossを実行します。 サーバーは30分間起動します。その後、http:// localhost:8080 / myflex / test.htmlを開き、平凡な作業がapacheであることを確認します。 これで、プロジェクトを追加すると、Flex Builderがライトグリーンになり、httpを介して可用性が確認されます。
カスタマイズ
次に、メッセージのリダイレクトを構成する必要があります。これを行うには、5つの構成ファイルを変更する必要があります。
- jboss / server / default / deploy / jms / jbossmq-destinations-service.xml
このファイルは、現在のデフォルトJMS「メッセージトピック」を担当します。 各トピックには独自のクラス(mbean)があり、jBossバージョンに応じて、バージョン5の場合はorg.jboss.jms.server.destination.TopicService、バージョン4.2.3の場合はorg.jboss.mq.server.jmx.Topicを継承します。 。
id = myJmsTopicで新しいトピックを作成します - jboss /サーバー/デフォルト/ deploy / myflex.war / WEB-INF / flex / services-config.xml
他の3つのファイルを含むメインのBlazeDS構成。 id = my-streaming-httpで新しいチャンネルクラスを作成し、mx.messaging.channelsを継承します。 StreamingHTTPChannel 。
合計で、 チャネルは形式(HTTP / AMF / RTMP)、プロトコルタイプ(プーリング/ストリーミング)、およびセキュリティレベルで分割されます。 flexアプリケーションからのメッセージがブローカーに送信されます。 - jboss /サーバー/デフォルト/ deploy / myflex.war / WEB-INF / flex / messaging-config.xml
id = myTopicで目的地の方向を作成します


編集
現時点で、mxmlをコンパイルすると、Flex Builderはフォルダー内のどこかで作成したコードを取得し、swfをJbossフォルダーに配置し、ブラウザーでFlashエラーが発生する可能性が高いブラウザーを開きます。[MessagingError message = 'Destination' myTopic '存在しないか、宛先にチャネルが定義されていない(およびアプリケーションがデフォルトのチャネルを定義していない) ']問題は、構成ファイルがコンパイル時に考慮されないことです。 。 これを行うには、flexプロジェクトの設定に移動し、Flexコンパイラの下にフルパスで追加の引数を追加します。-services "C:\ Program Files \ jboss \ server \ default \ deploy \ myflex.war \ WEB-INF \ flex \ services-config.xml"
デバッグする
コンパイルに成功した後、ハンドラーである内部エラーがまだ発生しました。 ただし、詳細を確認したかったので、Flex Builderでデバッグする絶好の機会があります。別のパースペクティブモードに切り替えるだけで(Eclipseに慣れている人はいますか?)、ブレークポイントを適切な場所に置くと、実行中にすべてがキャッチされます。エンドポイント設定の{context-root}。これがhttp:// localhost:8080 / myflex / messagebroker / streaminghttpで利用可能でなければならないため、ブローカーに到達できない理由です。 これは、Flex IDEプロジェクトの設定でも解決されます3番目の間違いは、ブラウザがswfファイルをキャッシュするときに、更新が表示されないためです。それから?
先ほど言ったように、BlazeDSを直接経由したメッセージはJMSに送られます。 JMSは基本的にメールボックスとして機能し、メッセージはプロデューサーから1つ以上のコンシューマーへのチャネルを通過します。メッセージ配信アルゴリズムによると、トピックとキューの2種類の「トピック」があります。 JMSは、通常のコンソール/ UI Javaアプリケーションから簡単に接続できます。- Flex Builder 101-4つの重要なレッスン
- Youtube to Flex
- Jbossの開始
- Jboss 4.2のサービス
- 簡素化されたBlazeDSおよびJMS
- 拡張BlazeDSおよびJMSの例
- スクラッチビデオからFlexを学習する
- BlazeDSビデオの実装