Action Message Format
AMF (англ. Action Message Format, формат сообщений о действиях) — бинарный формат обмена данными, использующийся в приложениях, написанных на Action Script. Построен на основе протокола Simple Object Access Protocol и используется, преимущественно, для обмена информацией между Adobe Flash и базами данных. Action Message Format более экономичен по трафику по сравнению с XML и позволяет передавать типизированные объекты.
История
Adobe Systems опубликовала спецификацию AMF протокола 13 декабря 2007 года и тогда же анонсировала дальнейшую поддержку и развитие формата[1]. Впервые AMF был представлен с Flash Player 6. Следующая версия, получившая название AMF3, появилась с выходом Flash Player 9 и [[AMF 3.0. спецификация http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/amf/pdf/amf-file-format-spec.pdf%7CActionScript (недоступная ссылка)]] 3.0[2].
AMF3
Новая версия протокола содержит некоторые изменения в типах данных. Сообщение, содержащее закодированную AMF3 информацию, имеет байт, определяющий тип сообщения, установленный в 0х11 вместо 0х14, а также содержит дополнительный 0x00 байт в конце заголовка. При этом, AMF3 обратно совместим с предыдущей версией, и может не содержать данной информации.
Маркеры типов данных в 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
На данный момент, формат AMF поддерживается большинством известных серверных языков и платформ в виде отдельных библиотек или фреймворков.
Платформы:
- ColdFusion — Adobe ColdFusion 10 Standard
- Haxe — Haxe Remoting hxformat
- Java — Adobe BlazeDS, Adobe LiveCycle Data Services, Exadel Flamingo, RED 5, Cinnamon, OpenAMF, Pimento, Granite Архивная копия от 14 октября 2007 на Wayback Machine, WebORB for Java
- .NET — WebORB for .NET, FluorineFx (LGPL), AMF.NET (разработка прекращена)
- PHP — AMFPHP Архивная копия от 15 октября 2011 на Wayback Machine, 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
Фреймворки:
- Ruby on Rails — RubyAMF
- Zend Framework — Zend_AMF
- OSGi Framework — AMF3 for OSGi
- Django — Django AMF
- CakePHP — CakeAMFPHP
- Grails — BlazeDS
- Trac — TracRpcProtocolsPlugin. (Требуется XmlRpcPlugin версии 1.1.0 или выше).
- Web2py — PyAMF
- kbmMW
Ссылки
- ↑ AMF 0 Specification. Дата обращения: 18 октября 2009. Архивировано 28 августа 2008 года.
- ↑ AMF 3 Specification. Дата обращения: 4 июля 2009. Архивировано из оригинала 20 марта 2012 года.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.