You may ask, “Why should I bother with AMF instead of using standard HTTP, REST, SOAP, or similar protocols?” The short answer is because the AMF specification is open sourced and publicly available.
The longer answer begins with the fact that AMF is a compact binary format that is used to serialize ActionScript object graphs. An object can include both primitive and complex data types, and the process of serialization turns an object into a sequence of bytes, which contains all required information about the structure of the original object. Because AMF’s format is open to all, Adobe as well as third-party developers can implement it in various products to deserialize such pieces of binary data into an object in a different VM (Virtual Machine), which does not have to be Flash Player. For example, both BlazeDS and LCDS implement the AMF protocol to exchange objects between Flash Player and the Java VM. There are third-party implementations of AMF to support data communication between Flash Player and such server-side environments as Python, PHP, .NET, Ruby, and others.
Some of the technical merits of this protocol, when used for the enterprise application, are:
BlazeDS (and LCDS) implementation of AMF is done in C and native to the platform where Flash Player runs. Because of this, AMF has a small memory footprint and is easy on CPU processing. Objects are being created in a single pass—there is no need to parse ...