従来、Flex・Flashのサーバサイドは、ColdFusionやJavaで構築するのが一般的でした。
Flashがサーバサイドと本格的に連携出来るようになったのは、2002年にまで遡ります。
Macromedia(当時)から発売された製品、「Macromedia Flash Remoting MX」が連携を可能にする鍵となりました。
この製品により、サーバサイドのサービスとフロント側のFlashを容易に接続し、データを自在にやり取り出来るようになったのです。サーバ側の技術としてはColdFusion、Javaや.NETが利用できました。
時は流れ現在では、PHPやRubyに代表されるいわゆるLL(軽量スクリプト言語)でもサーバ側サービスを構築することが可能になっています。
もちろん、今まで通りColdFusionやJavaでも構築できますが、これらの環境は、一般的なホスティングサービスでは利用できないか、利用できても環境構築が大がかりになる場合が多いと思われます。
大抵のホスティングサービスでは、スクリプト言語がデフォルト利用できるようになっている(PerlやPHP、時々RubyやPython)ため、これらの言語でサーバサイドのサービスの構築が出来れば手軽で。小規模な案件では、軽量スクリプト言語のフットワークの良さやスピード感の方が好ましい場面もあるかも知れません。
サーバ側とFlex・Flashがやりとりする際に使われるフォーマットは「AMF(Action Message Format)」と呼ばれます。
これはAdobeのプロプライエタリなフォーマットで、XMLやJSONに見られるようなテキスト形式ではなく、バイナリ形式なのが特徴です。
仕様は非公開でしたが、2008年始めに仕様が正式に公開されました。
既存のオープンソースのAMF実装は、仕様が明らかでない頃から、フォーマットをリバースエンジニアリングにより解析・実装してきたものが多くあります。
仕様の公開に伴い、より正確・厳密にAMFフォーマットを扱えるようになり、信頼性が増すことが期待できます。
このことと直接は関係しないものの、最近のFlex・Flashの広がりに呼応して、オープンソースのAMFの実装が増えました。
一つの言語に複数のAMF実装があることも少なくありません。
いろいろな(得意な)言語で、AMFを話すサーバサイドのサービスが簡単に実装できる環境が整ってきています。