Adobe Flex 3 ヘルプ

概要

Apache および IIS コンパイラ用の Adobe® Flex™ モジュールは、Apache および IIS Web サーバー上の MXML ファイルの Web 層コンパイルを行います。これにより、アプリケーションの迅速なコンパイル、テスト、展開が可能になります。MXML ファイルを SWF ファイルにコンパイルし、コンパイルしたファイルとそのラッパーファイルを Web サーバーに展開する代わりに、ブラウザで MXML ファイルを更新するだけで済みます。

Web 層コンパイラの使用には、J2EE(Java 2 Enterprise Edition)サーバーは必要ありません。Apache および IIS 用の Flex モジュールは、Web サーバーと JRE(Java ランタイム環境)のみで動作します。

このドキュメントでは、Apache および IIS 用の Flex モジュールを、「Web 層コンパイラ」または「コンパイラモジュール」と呼びます。

Web 層コンパイルには、J2EE アプリケーションサーバー用の Adobe Flex コンパイラモジュールを使用することもできます。J2EE アプリケーションサーバー用の Flex コンパイラモジュールは、サーブレットをサポートするほとんどの J2EE アプリケーションサーバーに展開できる ZIP ファイルで、Flex アプリケーションを JSP で記述する際に使用できる JSP タグライブラリも提供します。このコンパイラモジュールは Adobe Web サイトからダウンロードできます。

Web 層コンパイラの仕組み

この処理は、次の手順で行われます。

  1. クライアントが、*.mxml ファイル拡張子を持つファイルを要求します。
  2. Web サーバーはこの要求をコンパイラモジュールに転送します。
  3. コンパイラモジュールは、MXML ファイルを SWF ファイルにコンパイルします。コンパイラモジュールはインクリメンタルコンパイルを使用するため、多くの場合、コンパイルにかかる時間は、初回のコンパイルより短くなります。
  4. コンパイラモジュールは、HTML ファイルを Web サーバーに返し、Web サーバーはこれをクライアントに返します。
  5. SWF ファイルのコンパイルが正常に完了したら、HTML ページに SWF ファイルが埋め込まれます。HTML ファイルがエラーページである場合、SWF ファイルはその HTML ページには埋め込まれず、その後の要求も作成されません。
  6. SWF ファイルの最新バージョンがローカルファイルキャッシュに存在しない場合、クライアントは、ラッパーの <object><embed> タグの内容に基づいて SWF ファイルを要求します。

Web サーバーが拡張子 *.mxml ではなく、*.mxm.swf を持つファイルに対する要求を受信したとき、コンパイラモジュールは SWF ファイルのみを返し、このファイルのラッパーを返しません。通常は、SWF ファイルを直接要求しないでください。ラッパーに埋め込まれた場合とは、違う動作をするおそれがあるからです。

Web 層コンパイラを使用すると、コマンドラインコンパイラを使用する場合に比べ、次のようなメリットがあります。

  • インクリメンタルコンパイルが可能である(変更されたビットだけを再コンパイルするため、アプリケーション全体の再コンパイルが不要)
  • SWF ファイルとラッパーファイルをコンパイル後に展開する必要がない
  • HTML ラッパー(テンプレート)をカスタマイズできる
  • クエリ文字列パラメータの追加によるデバックが可能である(?debug=true
  • Web サーバーへのリンクを送信することにより、ワーキンググループ内でアプリケーションに対する更新を共有できる
  • ブラウザにエラーメッセージと警告を表示する

Web 層コンパイラを使用すると、コマンドラインコンパイラを使用する場合に比べ、次のようなデメリットがあります。

  • 運用環境で使用できない
  • 高速インストール、ディープリンク、バージョン検出サポートが組み込まれていない
  • キャッシュを Web サーバーに依存する
  • Linux システムで、一部のアプリケーションをコンパイルするとき、グラフィックディスプレイがないというエラーメッセージが返される。これは、Java コンパイラを実行している Apache ユーザーがデスクトップへのアクセス許可を持たないために発生します。これを解決するには、コンパイラに使用される flex-config.xml に次の行を追加します。
    <headless-server>true</headless-server>
    
    

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート