先日PyAMF 0.3.1(サイト・英語)がリリースされた(ブログ・英語)。Google App Engine(参考記事)のプレビューリリース(サイト・英語)やAdobeによるOpen Screen Project(参考記事)の発表(source)を受けて、PythonやRIAへの関心が高まったが、それを満たすのに絶好のタイミングである。
PyAMFはオープンソースプロジェクトであり、 Pythonへアクションメッセージフォーマット(AMF)(source)サポートを提供する。これによりFlash、Flex またはAIRで、Pythonによって起動しているWebサーバとリッチインターネットアプリケーション(RIA)クライアント間のAMFベースの通信を可能にする。
Google App Engine (GAE)は、Googleによって使用されている同じスケーラブルなシステム上のWebアプリケーションをビルドすることを可能にする。そうすること で、インフラを再ビルドすることなく、1人のユーザから多数のユーザへ拡張することができる。PyAMF 0.3.1のリリースでGAE向けのサポートが改善、GAE Webアプリケーション向けの新たなAMFゲートウェイ(source)が導入される。
AdobeのOpen Screen Projectは、 Flash/FlexベースのRIAアプリケーションの基本エレメントであるSWFやFLVのようなコアAdobeデータ/ファイル形式をさらに開放する。Adobe Integrated RuntimeおよびFlash Playerは、アプリケーションとリモートサーバ間の通信にAMFを使用する。AMFはリモートプロシージャーコール(RPC)を、 HTTP/HTTPSまたはRTMP/RTMPS(source)プロトコルを介して転送されるコンパクトなバイナリ表現にエンコードする。PyAMFは、 GAEバックエンドと共にFlexベースのRIAアプリケーションの開発を可能にし、RIAをGoogleクラウドコンピューティングプラットフォームに配置する。
今度の0.3.1のリリースで、PyAMFは以下を含む多くの機能を提供している。
- レガシーFlash Player(バージョン6-8)のAMF0(source)エンコーダー
- Flash Player 9にある新たなAMFフォーマットのAMF3(source)エンコーダー/デコーダー
- IExternalizable(source)、ArrayCollection(source)、ObjectProxy(source)、ByteArray(zlibサポートつき)(source)、RecordSet(source)およびRemoteObject(source)のサポート
- Twisted(サイト・英語)、Django(サイト・英語)、TurboGears2(サイト・英語)、Web2Py(サイト・英語)、Pylons(サイト・英語)およびすべてのコンパチブルWSGI(サイト・英語)フレームワーク
- Authentication/setCredentialsサポート
- 認証サポートがあるhttplibを使用したクライアントのリモート
- Service Browser(DescribeServiceヘッダー)要求サポート
- ローカル共有オブジェクト(source)(LSO)(source)サポート
- サードパーティーPythonプロジェクトと統合するアダプターフレームワーク(source)
ARP Flex Framework(source)作成者であるAral Balkan氏は、すでにPyAMF、GAEおよびFlexを考慮に入れている。Balkan氏は、 PyAMFGAE SWF Project(source)を発表した。それはPyAMFを使用し、「非常にスケーラブルなFlashおよびFlexアプリケーションをビルドしたり、デプロイしたり するための素晴らしいプラットフォームであるGoogle App Engineで、素早く実行することを主目的としたFlashおよびFlex関連知識のリソース」である。
PyAMF/ GAEプロジェクトのその他の例には、Flex Python Shell(source)およびPyAMF Test Suite(source)がある。
原文はこちらです:http://www.infoq.com/news/2008/05/pyamf-supports-GAE