Flex 3 - Applications Internet riches
© Groupe Eyrolles, 2008
162
AMF, un format dédié au lecteur Flash
Le format AMF (ActionScript Message Format) a été créé par la société
Macromedia lors du développement de sa solution Flash Communication Server MX en 2002. Ce serveur porte aujourd’hui le nom de Flash
Media Server, commercialisé désormais par Adobe. Il est très utilisé
pour la communication par vidéo en temps réel entre plusieurs clients,
comme dans le cadre du déploiement de jeux multijoueurs.
Le développement de ces serveurs repose sur l’utilisation du format
binaire AMF optimisé pour les interactions client-serveur et dédié au
lecteur Flash qui l’interprète facilement. La compression de ce format
étant optimale pour le lecteur Flash, les délais de traitement sont très
courts, car le processus d’analyse et d’interprétation des flux de données
est minimisé. Le format AMF est le format dit « natif » du lecteur Flash.
Comparaison des formats
Les benchmarks ont été créés pour comparer les performances d’une
technologie à celles d’une autre. Et ces benchmarks semblent nous confirmer le fait que le format AMF demeure plus efficace que les autres
alternatives. En effet, une solution possible serait d’utiliser le format
XML ou encore le format SOAP, mais nous constaterons rapidement
que ceux-ci sont beaucoup moins efficaces que le format AMF.
Prenons, par exemple, le benchmark « Census » de James Ward qui nous
permet de comparer objectivement les différentes alternatives. Vous le
trouverez à cette adresse : http://www.jamesward.com/census. Il apparaît que
le format AMF3 utilisé avec Flex est beaucoup plus rapide que les technologies utilisant le format SOAP (Ajax ou Flex), et est surtout beaucoup plus économe en bande passante, car la représentation du flux
AMF est plus légère que celle utilisée pour les formats E4X ou SOAP.
Rappelons qu’il existe trois méthodes pour les interactions de données
en back-end avec le framework Flex :
• la classe HTTPService que nous avons déjà utilisée précédemment.
Cette solution récupère et envoie des données via HTTP ;
• la classe WebService qui récupère et envoie des données via le format
SOAP ;
• la classe RemoteObject qui récupère et envoie des données via le
format AMF. Cette technologie porte le nom de Flash Remoting.
La méthode RemoteObject est donc la plus efficace et la moins gourmande en bande passante. Dans ce chapitre, nous allons interfacer une
base de données simple avec notre application Flex, en utilisant la classe
RemoteObject associée au format AMF. Il existe plusieurs passerelles
EN SAVOIR PLUS Flash Media Server 3
Aujourd’hui, Flash Media Server version 3 est
divisé en deux produits :
Flash Media Interactive Server 3, un serveur de diffusion en continu qui prend en charge les applications multivoies (chat vidéo par webcam, jeux en
ligne, voix sur IP, etc.).
Flash Media Streaming Server 3, un serveur qui
diffuse en continu des vidéos protégées, en direct
ou à la demande. Cette solution est moins onéreuse que la première, mais moins complète.
B.A.BA Le format E4X
E4X (ECMAScript pour XML) est une extension du
langage de programmation ECMAScript. Il rend
l’utilisation de XML plus facile et se veut une alternative à l’interface DOM, afin de permettre l’accès
à un document XML de manière plus simple et
plus intuitive pour les développeurs. E4X est
intégré à ActionScript 3. Il est défini dans le standard ECMA 357.
ALTERNATIVE Le format XML
Un flux XML est toujours envoyé sous forme de
chaînes de caractères. Il sera donc naturellement
plus lourd et plus long à traiter qu’un flux binaire.
En réalité, l’interprétation du flux de données texte
XML sera effective à l’intérieur même du lecteur
Flash, ce qui consommera plus de mémoire que si
nous utilisions un format binaire natif. C’est la
raison pour laquelle le format AMF sera toujours
plus intéressant en termes d’occupation mémoire
et de bande passante que le format XML.
Précédent

- 176/240

Suivant