Introduction à l’architecture AIR

28 juin 2008

Je vous ai déjà parlé à plusieurs reprises de l’architecture AIR, par le biais d’applications, mais j’ai pensé qu’il était nécessaire de remettre tout ça dans son contexte afin de mieux la comprendre

L’architecture AIR d’adobe c’est l’aboutissement de la convergence de plusieurs technologies maîtresses chez Adobe. On vu ces dernières années les sites Web à interfaces riches prendre de plus en plus d’ampleur, avec une forte proportions de sites réalisés en Flash. Passé ce premier point, à l’intérêt esthétique indéniable, les ingénieurs Adobe se sont rendu compte que l’orientation métiers de la production graphique de Flash c’était quand même pas extraordinaire pour produire de véritables environnements applicatifs. Je me souviens avoir essayé de produire un configurateur de produits en Flash, rapidement l’équipe de développement était revenu vers une applet Java. C’est ce qui vu l’arrivée  de la technologie Flex donc l’objet est de produire a partir d’un environnement de développement intégré de véritables interfaces riches pour applications Web. Les applications produites sont en fait des fichiers SWF qui s’appuient sur le runtime Flash dans un navigateur pour s’exécuter. Avec cette technologie Adobe parvenait donc à faire revenir dans son giron des tas de purs développeurs qui pouvaient porter leur savoir faire vers la plateforme Flash. De nombreuses communauté on commencé à créer des API pour accéder à tel ou tel service sur le Web, et le potentiel de la plateforme est très vite apparu avec surtout une capacité à mettre en œuvre de solides scénarios de d’interaction avec l’utilisateur.

La richesse de ces applications développées a fait apparaître leur principale faiblesse qu’était leur exclusive intégration dans le navigateur Web. Le modèle de sécurité du runtime Flex ne permettait pas par exemple d’accéder à des ressources locales sur le poste de travail, ou d’interagir de manière complexe avec l’utilisateur. C’est à ce moment là que le runtime AIR est apparu avec comme objectif de nous permettre de passer de RIA (Rich Internet Application) à des RDA (Rich Desktop Application). L’idée de base étant de conserver la portabilité du runtime Flash de Windows à Mac en passant par Linux et d’en faire une plateforme complète.  Toutes les fonctionnalités nécessaire à mettre en œuvre des applications sont intégrée dans le runtime, il ne reste plus qu’à déployer, enfin presque !

La publicite sur les pages web

27 juin 2008

Encore une publicité qui apparait sur la page web, comme d’habitude vous allez faire au plus vite pour la dégager. Il arrive cependant que ce soit vraiment bien fait comme cette pub Adidas. Là dans notre cas on se prend même au jeu et on la relance plusieurs fois pour jouer avec notre petit jogger… Je vous laisse découvrir. Enjoy !

Accessgrid

26 juin 2008

J’étais ce matin à la conférence Aristote à l’école polytechnique, qui était sur le thème des outils de collaboration, notamment le toolkit Accessgrid. Cet outils développé à la base par Argonne National Laboratory de Chicago sous la direction du professeur Thomas D. Uram. C’est un projet de plus de 10 ans, dont la maturité à ce jour en fait une solution tout à fait viable pour de réelles applications. Le besoin de base était de permettre à des conférences de se repartir sur plusieurs campus universitaire, et ainsi d’éviter de longues heures de déplacements.

Le point central du produit est le concept de « venue » C’est en fait ni plus ni moins la ou les salles de réunion virtuelle, avec sur le serveur de venue la capacité à partager mettre en œuvre beaucoup de fonctionnalités complémentaires, dont par exemple la capacité à partager des documents, entre les participants. L’architecture de l’application utilise le multicast IP pour dispatcher les flux vidéo et données entre les les noeuds, le rôle du serveur se limitant à mettre en relation les différents nœuds voulant participer à une “venue”. Le serveur de venue va pouvoir assurer la persistance de documents afin de permettre de retrouver à posteriori les données échangées, voir même l’enregistrement de la session. Dans le cas ou on met en place la fonctionnalité de Shared Application, l’affichage de la fenêtre sélectionnée est dispatché vers tous les utilisateurs.

Sont enregistrés auprès de accessgrid.org 235 nodes / 25 pays / 2 en France qui correspondent à des salles équipées pour faire des conférences. on est à peu près rendu à 13900 downloads sur win, 23000 sur linux, 4320 sur osx. Environ 1400 conférences on eu lieu à ce jour.

Le mieux reste à venir, tout est prévu pour pouvoir ajouter des applications facilement dans le framework, ces applications s’executent sur les clients. Le code pyton pour accéder à l’API est très simple, très facile à prendre en main. Les applications partagéees peuvent être au niveau de la venue, ou alors au niveau du client. Le toolkit peut permettre de créer de nouvelles applications de collaboration, ou alors d’intégrer une application existante vers un contexte collaboratif. Les technologies standard suivantes sont utilisées : Soap wsdl pour le remote calls, ftp pour les transsfert de fichier, le chat est réalisé en jabber/xmpp, rss pour publier les scheduling, le tout encapsulé en ssl pour la sécurité. Une communauté est très active pour ajouter de nouvelles fonctionnalités aussi diverse que l’intégration de la DV et l’HD, la création d’un client en JSR168. Paraview permet par exemple de dispatcher un stream video basé sur l’affichage d’une application, et ainsi permettre de partager en temps réel le contexte d’une application.

On parle plus tellement de videoconférence, mais vraiment de collaboration, tant l’infrastructure peut être mis en place instantanément. Notre propension à utiliser de tel outils peut vraiment décoler tant ça devient facile en termes d’infrastructure, et d’usage.

Les points forts à retenir sont les suivants :

  • Scalabilité
  • Free vs 10K or 100k solutions
  • Commodité : utiliser votre matériel, quel que soit l’os, seul une webcam, un micro sans écho, et une connexion à internet sont nécessaires.
  • Permet d’élargir le champs d’investigation en connectant plus de gens.

L’intervention du Pr Uram a été suivie d’une intervention de J. Bell depuis l’université du Queensland en Australie histoire de montrer la technologie à l’épreuve des faits, et cela a été vraiment concluant, ouvrant la porte à tout ce que nos esprit fertils pourront envisager.