Action Message Format (AMF) is a protocol that is used to serialize the data coming into Flash Player or going out to other programming environments that need to communicate with Flash Player. Say, if you create in Java an instance of the class MyOrder.java, this instance can be converted into a string of bytes, sent over the wire to Flash Player and then recreated there as an instance of the ActionScript object MyOrder.as. The rules of how to do this are defined by a communication protocol, such as AMF. Prior to Flash Player 9, the protocol AMF0 has been used, but now Adobe offer implementation of more efficient AMF3.
The good news is that Adobe decided to make the AMF3 protocol available to the public, and you can find its description in this document.
This is great news for Flash community as it’ll allow more and more third parties to implement this protocol and offer a lot faster communication between the Flash Player and programming environments written in other languages. While Adobe today offers its own implementation of this protocol for Java and Coldfusion, now it’ll start competing with other firms that may offer more efficient implementation of this protocol or better tool for developers. The Midnight Coders is one of the vendors that are offering their version of AMF for Java, .Net and other platforms.
While the AMF uses HTTP as a transport, the speed of data exchange between Flash Player and, say, J2EE application over AMF would be at least ten time faster than comparing to a regular HTTP protocol.
AMF protocol is based on data polling, but Adobe offers yet another Real Time Messaging Protocol (RTMP) that is being used in such applications as video streaming or others where the real-time push from the server is needed, for example financial trading applications. The specification of RTMP protocols has not been published yet at this point.