作者:Moxie Zhang译者 祁飞 来源:InfoQ 酷勤网收集 2008-05-14
最近发布的Google 应用程序引擎预览版和AdobeOpen Screen项目的宣布引发了大家对Python和RIA的兴趣,上周发布的PyAMF 0.3.1,正好及时迎合了我们对这两者越来越浓的兴趣。
PyAMF是个开源项目,为Python提供了Action Message Format(AMF)的支持。这就可以在Python驱动的Web服务器和使用Flash、Flex或AIR的RIA(rich Internet application)客户端之间进行基于AMF的通信。
Google应用程序引擎(Google App Engine ——GAE)可以使开发者在与Google所使用的具有相同可伸缩性的系统上构建各种Web应用,这样一来,无需重建底层架构,Web应用就可以从单个用户扩展到上百万用户。PyAMF 0.3.1 的发布提高了对GAE的支持力度,同时还为GAE的Web应用引入了新的AMF网关。
Adobe的Open Screen项目进一步开放了核心的Adobe数据/文件格式(如SWF和FLV),以及基于Flash/Flex的RIA应用程序的基础元素。Adobe Integrated Runtime和Flash播放器使用AMF来在应用程序和远程服务器之间进行通信。AMF对远程过程调用(RPC)进行编码,编码后的压缩二进制表示方式能够在 HTTP/HTTPS或RTMP/RTMPS协议之上进行传输。PyAMF使得基于Flex的RIA应用程序的开发能够以GAE作为后端,这样就使RIA融入到了Google的云计算平台。
此次发布的PyAMF 0.3.1 还拥有许多特殊的特性,包括:
- AMF0编码器/解码器,用于老的Flash播放器(版本6-8)。
- AMF3编码器/解码器,支持Flash播放器版本9新的AMF格式。
- 支持IExternalizable、ArrayCollection、ObjectProxy、ByteArray(支持zlib)、RecordSet和RemoteObject。
- 用于Twisted、Django、TurboGears2、Web2Py、Pylons的远程网关以及各种兼容的WSGI框架。
- 支持认证/setCredentials方法。
- 带有认证支持的使用httplib的远程客户端。
- 支持服务浏览器(DescribeService头信息)请求。
- 支持本地共享对象(Local shared object——LSO)。
- 与第三方Python项目相集成的Adapter框架。
ARP Flex框架的创建者Aral Balkan已经开始重视PyAMF、GAE和Flex。Balkan宣布了一个使用PyAMF的GAE SWF 项目,该项目“既是一个Flash和Flex相关的知识资源,这些资源专门让你熟悉并开始迅速上手使用Google应用程序引擎;同时也是一个构建和部署可伸缩性极强的Flash与Flex应用程序的强大平台。”
其他有关PyAMF/GAE的项目包括Flex Python Shell和PyAMF Test Suite。
查看英文原文:New PyAMF Release Improves Support for Google App Engine
来自:http://www.infoq.com/cn/news/2008/05/pyamf-supports-GAE

