せっかくなので、もう少し2Base.PHP5を使ったFlexのサーバサイド実装についてちょっとまとめ。
現在のFlex2のデータアクセスのインフラは
- RPC サービス
- Flex 2 SDKとFDS(Flex Data Service)で利用可能。RPCなので、サーバからのPushはない。RemoteObject、WebService、HTTPServiceの3種類がある。WebService、HTTPServiceはそのまんま。RemoteObjectはAMF(Action Message Format)でデータのやり取りを行う。
- Data Management Service
- アプリケーション層間のデータの同期、リアルタイムでのデータの更新等々。サーバからのPushもある、ということですね。
- Message Service
- メッセージングサービスをコラボレーションアプリケーションおよびリアルタイムアプリケーションに提供します。だそうです。サンプルではチャットが提供されてたりするんですが、他の使い道って何かな。
今あるFlexのサーバサイドのPHP実装は、
- amfphp
- AMF0/3のPHP実装。(AMF0だけだと思ってましたが勘違いの様です。)ライセンスはGPL。PHP4/PHP5コンパチらしい。
- SabreAMF
- AMF0/3のPHP実装。ライセンスはBSDライセンス。PHP5。
- WebORB for PHP
- FDSのPHP実装。RemoteObjectだけが使えるOpen Source EditonならGPLライセンス。ここから先は有料となっております。
そして一番の問題はFlex3のパブリックベータがでて、FDSはLCDS(LiveCycle Data Services)になるということです。
話題になったFlex 2.0.1 Hotfix 2を導入するとFDSを使っている場合にコンパイルエラーがでるようになる問題があったりと(Cairngormもそのままでは動かなくなります。)、なにやらカオスな様相。
S2Baseを使ってFlexのデータアクセスっていうなら、やっぱりS2Flex2.PHP5とか、AsDs.PHP5とかS2Factory for FDS2.PHP5とかあるとすてきですが、当然へっぽこDelfinoには手に負えない大きな話ですね^^;
ちょっともよもよしながら様子見かな、そもそもDelfinoごときが何するんじゃいという大きな話ですし。
ライセンスの問題とか考えると、このままWebORBっていうのもなぁ・・・。
Data Management ServiceやMessage Serviceも使いたいのですよ、やっぱり。
そうなったら本家FDSかAkabanaかなぁとか思ってましたが、PHP路線っていうのもあっても悪くはないですし。
アーキテクチャがJava一択(Rubyもあるか)っていうのも、ソリューションとしては弱い気もします。
でもまぁ、AMF0だとだめかなぁと思ってやめていたamfphpが、AMF3対応だっていうことが分っただけでも収穫かな。
kloveさんがamfphpの方が連携しやすそうって仰ってましたし。
そんなこんなしている間についに明日は、FxUG勉強会かぁ。
ん、なんかまとめっていうかただのぼやきだw