AMF ( Action Message Format ) is a binary data exchange format used in applications written in Action Script . It is built on the basis of the Simple Object Access Protocol and is used primarily for the exchange of information between Adobe Flash and databases . Action Message Format is more economical in traffic than XML and allows the transfer of typed objects.
Content
History
Adobe Systems published the AMF protocol specification on December 13, 2007 and at the same time announced further support and development of the format [1] . AMF was first introduced with Flash Player 6. The next version, called AMF3, appeared with the release of Flash Player 9 and [[AMF 3.0. specification http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/amf/pdf/amf-file-format-spec.pdf%7CActionScript (link not available) ]] 3.0 [ 2] .
AMF3
The new version of the protocol contains some changes in data types. A message containing AMF3 encoded information has a byte defining the type of message set to 0x11 instead of 0x14, and also contains an additional 0x00 bytes at the end of the header. At the same time, AMF3 is backward compatible with the previous version, and may not contain this information.
Data type markers in AMF3:
- Undefined - 0x00
- Null - 0x01
- False - 0x02
- True - 0x03
- Integer - 0x04
- Double - 0x05
- String - 0x06
- XML - 0x07
- Date - 0x08
- Array - 0x09
- Object - 0x0A
- XML End - 0x0B
- ByteArray - 0x0C
AMF Support
Currently, the AMF format is supported by most well-known server languages and platforms in the form of separate libraries or frameworks.
Platforms:
- ColdFusion - Adobe ColdFusion 10 Standard
- Haxe - Haxe Remoting hxformat
- Java - Adobe BlazeDS , Adobe LiveCycle Data Services , Exadel Flamingo , RED 5 , Cinnamon , OpenAMF , Pimento , Granite , WebORB for Java
- .NET - WebORB for .NET , FluorineFx (LGPL), AMF.NET (development discontinued)
- PHP - AMFPHP , SabreAMF , WebORB for PHP , Zend_Amf , php-amf3
- Python - PyAMF , Flashticle , amfast , Plasma
- Perl - AMF :: Perl , Storable :: AMF , AMF :: Connection
- cURL - Curl Data Services
- Ruby - RubyAMF , WebORB for Rails , Rocket AMF
- Erlang - Erlang-AMF
- JavaScript - JSAMF
- ABAP - ABAP AMF
- Delphi - kbmMW
- iOS - CocoaAMF
- Powershell - Powershell AMF
Frameworks
- Ruby on Rails - RubyAMF
- Zend Framework - Zend_AMF
- OSGi Framework - AMF3 for OSGi
- Django - Django AMF
- CakePHP - CakeAMFPHP
- Grails - BlazeDS
- Trac - TracRpcProtocolsPlugin . (Requires XmlRpcPlugin version 1.1.0 or higher).
- Web2py - PyAMF
- kbmMW
Links
- ↑ AMF 0 Specification
- ↑ AMF 3 Specification (link not available) . Date of treatment July 4, 2009. Archived March 20, 2012.