2007年08月21日
Python | Django AMF 0.5の新機能
DjangoのUnicodeブランチで動かないというメールをもらったりもしてるんだけど、SVN版を追っかけたりはしないので放置して、Djangoと直接関連しない機能の開発に取り組んでいます。
Django AMFっていうネーミングがアレなんだけど、amfモジュールはDjangoと切り離しても使えるように設計しています。なので、AMFリクエストのPOSTデータをamfモジュールに通せば、Pythonオブジェクトに変換できます。その逆も然りでPythonオブジェクトをAMFリクエストデータに変換することもできます。
で、今開発している新機能がFlash RemotingコンポーネントのPython版。まだAPIを固めてないけど、以下のようなPythonコードでRPCサービスメソッドを実行できます。Flash/Flexからだと非同期での実行になるけど、これは同期呼び出しになります。
import amf
service = amf.RemotingService('http://127.0.0.1/gateway/', 'addressBookService')
results = service.getCards()
AMFの実装と言うとFlashからデータを受け取ってレスポンスを返すものが中心だったけど、リクエストを送るクライアント実装があってもいいんじゃないかと。
AMFサービスのHTTPUnit的なテストコード作る際にも使えるし、プロキシ的にも使えるんじゃないかなと。
0.5は月末辺りにリリース予定。
Comment