Ted Patrick - Demos & MAX @ Adobe Systems


Note: This is the personal blog of Ted Patrick. The opinions and statements voiced here are my own.



AmFast Remoting for Python

DIGG IT!     6 Comments Published Monday, March 23, 2009 at 9:48 AM .

AmFast is a new AMF0/AMF3 encoder/decoder for Python.
• AmFast's core encoder and decoder are written in C, so it's around 18x faster than PyAmf.
• The encoder and decoder accept user-defined Python objects that allow customization of the encoding/decoding process.
• Supports custom class mapping.
• Supports remoting with NetConnection and RemoteObject.
• Remoting headers can be exposed to callable targets to allow for quick implementation of authentication and other AMF features that rely on headers.
• Supports data persistence with SQLAlchemy, including remotely-loadable lazy-loaded attributes.
• Supports Actionscript code generation for mapped classes.

Project Page

It is really great to see how opening the AMF and RTMP protocols have really improved integration with server languages. To exchange objects makes development so much easier.

Cheers,

Ted :)

6 Responses to “AmFast Remoting for Python”

  1. # Blogger Paul

    As of my understanding the RTMP protocol and AMF messages are not open yet. It's only announced on devnet to be opened soon: http://www.adobe.com/devnet/rtmp/

    Or have I missed something important? In case there is an official specification available this would really help for a project where I'm working on. As for now we're reverse engineering the protocol for a complete C# implementation.

    Anyway, good to hear the news about AmFast!  

  2. # Blogger Ted Patrick

    The AMF spec was released under OSS with the Blaze DS product release. This has created many open source version of AMF Remoting compatible with just about every server side language out there.

    Ted :)  

  3. # Blogger Chris Brind

    Hi Ted,

    You maybe interested a collection of OSGi bundles that I put together that also allow AMF3 based remoting from Flex clients to OSGi services:

    http://www.arum.co.uk/amf3osgi.php

    The implementation of the AMF3 handling is actually based on GraniteDS AMF3 code, sorry ;) but it is a completely separate beast and doesn't provide 'Data Services'.

    Eventually I'll be porting it support the new distributed OSGi specification.

    Cheers,
    Chris  

  4. # Blogger Joel

    is it 18x faster than cPyAMF?

    http://blog.pyamf.org/archives/introducing-cpyamf  

  5. # Blogger Dave Thompson

    Yes, AmFast is at least 18x faster than cPyAmf, currently PyAmf will use it's C encoder/decoder only for a couple of types (ints and strings I believe). AmFast uses C for everything, including references, so it is much faster. The only thing AmFast is missing right now is the ability to act as a client, but that shouldn't be too hard to add if you need it.  

  6. # Blogger Dave Thompson

    AmFast is ~18x faster than cPyAmf. cPyAmf only encodes/decodes a couple of types (ints and strings I think) with it's C-extensions. AmFast encodes/decodes all types in C. 18x is just an average, some object graphs will be quicker, some slower.  

Post a Comment

Where to find me:

Ted on Twitter - @AdobeTed
Ted on Adobe Groups
Ted on LinkedIn
Ted on Facebook
Ted at Adobe


Latest

Lists

Links

Jobs

Flex Jobs
city, state, zip

Archives