Le blog de Fabien DUMINY

Un blog utilisant WordPress

Skip to: Content | Sidebar | Footer

Paris JUG – Soirée Google

18 novembre, 2009 (20:08) | Evènement, Java, Paris JUG | By: fabien

Mardi 10 novembre, j’ai assisté à la soirée google du Paris JUG.

Android

Gabriel Kastenbaum et Stéphane Liétard nous présentent Android, un système d’exploitation open source pour les téléphones portables et les PDAs. La version 2 est sortie il y a 2 semaines et ajoute notamment le support de HTML 5.

Depuis l’arrivée de l’iPhone, Google a constaté que 50% des requêtes sur Google Maps viennent de l’iPhone. C’est pourquoi il a décidé d’acheter Android, un système d’exploitation open source et gratuit, dans l’espoir de s’imposer comme une meilleure solution pour les opérateurs téléphoniques face aux autres systèmes d’exploitation, qui coûtent très cher. Afin de distribuer les applications (gratuites ou non) pour Android, Google a créé Android Market.

Android utilise le noyau linux 2.6 sur lequel des API java ont été ajoutées. D’autre part, la machine virtuelle Dalvik, écrite spécialement pour Android, est nécessaire et ce n’est pas une machine virtuelle java. En effet, contrairement aux JVM qui se basent sur la pile, Dalvik utilise les registres du processeur et execute du bytecode optimisé (fichiers .dex), non compatible avec du bytecode java (fichiers .class ou .jar). Afin d’obtenir les fichiers .dex, il faut donc faire un prétraitement du bytecode java, ce qui permet aussi la réutilisation du code java existant.

Bien qu’il soit possible de développer en dehors d’eclipse, il est pratique d’installer le plugin ADT (Android Development Tools) dans celui-ci pour créer et déboguer facilement un projet Android. Ce plugin permet aussi de créer des IHMs par cliquer-glisser, ce qui génère un fichier xml de description. Mais il est aussi possible de créer des IHMs directement par programmation. La commande logcat du SDK Android, qui a son équivalent au niveau du plugin eclipse, permet d’afficher les messages de log d’Android, notamment les logs du système (gc, …) et bien sûr les logs de l’application en cours de développement.

Comme toutes les applications sont au même niveau, les applications standards peuvent être remplacées. Les principaux composants sont les activities (activités), les services, les broadcast receivers (récepteurs de messages diffusés) et les content providers (fournisseurs de contenu). Les content providers permettent, par exemple, le partage des contacts entre différentes applications. Un intent (intention) est un message entre composants. Cette approche permet aux composants de communiquer entre eux ou avec le système sans même qu’ils se connaissent. Il en résulte un couplage faible entre les composants.

Google App Engine Java

Ensuite, Marc-Antoine Garrigue et Guillaume Laforge font la présentation de Google App Engine Java (GAE), qui permet de faire du cloud computing plus simplement qu’avec Amazone EC2 et surtout gratuitement. GAE permet de déployer des applications développées en java ou avec d’autres languages basés sur la plateforme java.

Du point de vue du développeur, une application déployée sur GAE fonctionne de la même manière qu’il y ait 1 seul utilisateur ou 1 million d’utilisateurs. En effet, il gère la répartition de charge et l’ajout de conteneurs de servlets si la charge le nécessite; tout cela se fait de manière transparente pour le développeur et l’utilisateur.

Certaines opérations sont interdites : écrire dans le système de fichiers, faire des requêtes (en réponse à l’utilisateur) qui durent plus de 30 secondes, créer un thread …
Pour l’extensibilité du système, les requêtes ne doivent pas durer plus de 30 secondes mais l’API de gestion des taches permet de passer outre cette limite en executant certaines taches en arrière plan.

La base de données n’est pas une base de données relationnelle, on n’utilise ni JDBC ni le SQL. Le moteur de base de données s’appelle BigTable : c’est une sorte de grande table de hachage. Afin de pouvoir réutiliser les applications et les frameworks existants, l’API DataStore du SDK GAE fournie une implémentation de JPA et de JDO pour BigTable.

Comme GAE est ouvert aux autres languages basés sur la plateforme java, il est possible de déployer des applications développées en groovy.
Ainsi, grâce à gaelyk une surcouche en groovy au SDK de GAE, on peut faire tourner des groovlets (équivalents aux servlets java) sur GAE.

Google Wave

Et pour finir, Didier Girard fait la présentation de Google Wave, un outils de collaboration basé sur GWT et qui permet de regrouper des informations de différentes provenances telles que le mail, le chat, tout cela dans une même wave. Il est possible de développer un gadget en GWT, le déployer sur Google App Engine et l’intégrer dans une wave.
Didier fait la démonstration d’une wave de prise de congés dans une entreprise. Suivant la personne qui se connecte sur la wave, différentes actions sont possibles :

  • un collaborateur peut poser ses congés
  • un manager peut valider ou refuser les congés de ses collaborateurs

Par cliquer-glisser, un collaborateur peut ajouter les photos de ses vacances dans la wave.

Be Sociable, Share!
Share and Enjoy

Write a comment





If your website is claim enabled, it will be notified that you have posted here.

MySQL query error