Rss Feed

Progiciel pour Tour Opérateur – AIR / Flex

Cette application AIR/Flex permet aux voyagistes de créer et gérer les différentes options d’un séjour et les destinations en s’affranchissant du navigateur. L’interface Flex a permis de diminuer de façon significative le temps de saisie des données et ainsi augmenter la productivité des employés. Les filtres instantanés sont très appréciés.

Progiciel de gestion – Flex / AIR from Matsiya on Vimeo.

RIA Flex pour un Tour Opérateur

Voici une rich internet application développée en Flex/Flash pour un tour opérateur spécialisé dans les séjours de golf. Utilisation de web services et de la cartographie Google Maps.

RIA Flex – Agence de voyage from Matsiya on Vimeo.

Réponse GZipée dans Zend AMF

Contrairement à AMFPHP, Zend AMF n’offre pas la possibilité de compresser en gzip les réponses, ce qui peut être très embêtant dans le cas de requêtes renvoyant un grand volume de données (il peut exister un facteur 100 entre une réponse standard et une réponse compressée).

Cette fonctionnalité peut facilement être ajoutée en utilisant gzcompress ou gzencode.

echo "x1fx8bx08x00x00x00x00x00".gzcompress($zendAmfServer->handle());

Zend AMF et socket UNIX

Dans la plupart des tutoriaux présents sur le net Zend AMF est utilisé pour un nombre très restreint de services et de classes. Les performances pour des petits projets restent acceptables cependant pour des projets nécessitant le chargement de beaucoup de VOs et de services les temps de réponse chutent considérablement. Ceci est tout simplement du au fait qu’à chaque requête le framework refait l’introspection des services et réimporte toutes les class.

Pour remédier à ce problème, nous avons modifié Zend AMF afin qu’il soit derrière une socket UNIX, Flex se connecte donc au enpoint qui va envoyer la requête à la class Server de Zend à travers la socket. Le endpoint attend une réponse du Server et affiche le résultat. Il n’y a donc plus d’introspection, une seule et même instance de l’AMF Server est utilisée.
Grâce à cette technique nous avons réussi à obtenir des gains de performance allant de 2000 à 3500 % , les temps de réponse sur des gros projets pouvant être divisés par plus de 30. (17 millisecondes en local pour récupérer 300 enregistrements dans un projet qui compte une trentaine de class). Des temps inférieurs à ceux qu’on enregistre avec BlazeDS et largement inférieurs à ceux enregistrés avec AMFPHP !!

On utilise déjà cette solution sur plusieurs projets et le gain côté utilisateur est assez bluffant. Bien évidemment cette solution ne fonctionne pas sur les serveurs mutualisés mais on trouve aujourd’hui des serveurs virtualisés très bon marché.

Zend Framework 1.7.0 / AMF support (Zend_Amf)

La version 1.7 du Zend Framework vient de sortir ! Rappelons que cette version introduit le composant Zend_Amf avec support du protocole AMF0 et AMF3.

Plus d’information sur Zend AMF :

http://framework.zend.com/manual/en/zend.amf.html

http://framework.zend.com/download/amf

AMFPHP avance

Wade Arnold vient d’annoncer que le coeur d’amfphp allait être réécrit pour suivre celui de Zend_amf. Pour en savoir plus visitez son blog (en anglais) : http://wadearnold.com/blog/

Zend amf et mixed array

Pour ceux qui ont l’habitude d’utiliser AMFPHP Zend_amf, bien que très proche, pourrait être un peu troublant sur un point : les mixed array. Avec AMFPHP les objets de types mixed array sont sérialisés en tant qu’objet générique en flex (Object). Avec Zend_amf ce n’est plus le cas. Les objets de type array sont sérialisés sans transtypage et donc arrivent à flex en tant que tableau. Le problème c’est que ce type n’est pas très commode à utiliser en actionscript. Par exemple il est impossible d’utiliser le résultat brut dans un dataprovider et traverser la structure impose quelques lignes de code. Après avoir contacté Wade Arnold il semblerait que ce soit un comportement normal et qu’un cast soit possible avant l’envoi pour recevoir un objet de type Object. Voir son blog pour plus d’infos, il vient de poster un billet à ce sujet.

Matsiya a la zend amf attitude

Zend, le framework php du moment va bientôt venir s’enrichir d’un « server » Amf dans sa version 1.7 . Cette mouture a été annoncée pour la mi-novembre et d’après les informations nous avons du team, la partie amf est sur le point d’être finalisée (l’écriture des docs est en cours). Il ‘y a pour l’instant pas de beta disponible mais nous avons pu nous procurer une version proche de la définitive.Après plusieurs semaines passés dessus l’impression est plus que bonne, l’architecture de Zend est parfaitement respectée et ceux qui connaissent AMFPHP ne devraient pas être déroutés.Flex + ZendAmf + Matsiya : vous allez en entendre parler, stay tuned !!! ;-)