Qu’est ce que Flash remoting ?
Flash Remoting est une passerelle permettant d’échanger des données avec un serveur de manière ultra simplifiée tout en conservant les types de données.
Flash Remoting utilise un format binaire nommé ActionScript Message Format (AMF) permettant un gain de performances remarquable lors des échanges entre le serveur et Flash, le format AMF étant interprété en C++, la sérialisation se révèle alors beaucoup plus performante qu'une serialisation basée sur une chaine. Le développeur Flash appelle des méthodes distantes définies sur un service distant qui est en fait une classe PHP définie sur le serveur.
La puissance de Flash Remoting consiste dans la conversion automatique des données entre le serveur et le player Flash, autrement dit, plus aucune sérialisation des données, Remoting s’occupe de tout, vous passez un tableau à votre méthode distante, Remoting va convertir le tableau ActionScript en un tableau compatible PHP, une Date ne sera pas convertie automatiquement mais interprétée et passée en timestamp, mais il sera tout de même possible de renvoyer de PHP un objet Date à Flash en spécifiant le type retourné dans les attributs de la méthode dans le service distant.
Pourquoi pas XML ?
Le format XML permet de structurer vos données mais nécessite un travail au niveau du schéma de représentation des données. Les données n'étant pas compatible entre une application serveur et le player Flash, vous ne pourrez pas renvoyer un tableau PHP à Flash de manière transparente et inversement, il vous faudra à chaque fois sérialiser puis desérialiser le tableau, d'où l'intérêt du XML.
Flash Remoting permet de gérer la conversion des différents types d'objets automatiquement entre l'application serveur et le player Flash, tout cela au format AMF, ce qui permet une sérialisation des données beaucoup plus performante qu'un parse de chaîne de caractère (XML), aussi bien au niveau performance que niveau bande passante utilisée. De plus Flash Remoting a la capacité de retourner à Flash des ressources mySQL sans aucun traitement à effectuer
Partager