Google Wave a été introduit par Google au public au cours de Google IO 2009. Le moins que l’on puisse dire, est que les réactions dans la salle étaient très animées…
En effet, avant même le début de la session, des rumeurs courraient dans l’assistance que Google était sur le point de présenter « the next big thing », sans aucune idée de ce que cela allait être.
Les heureux participants à Google IO 2009, dont je fais parti, ont eu la chance de recevoir un beau cadeau : un Google Ion flambant neuf et une Sim T-Mobile avec Data illimité pour un mois.
Contrairement au précédent mobile Android pour développeurs (Android Dev Phone, similaire au T-mobile G1 ou HTC Dream) le Google Ion (similaire au HTC Magic) n’a pas de clavier externe et est beaucoup plus fin et moins lourd. De plus sa batterie apporte une plus grande autonomie.

Le Ion possède les caractéristiques habituelles telles que wifi, 3G, bluetooth, GPS, quad-band GSM, microSD, USB, caméra…
Comme les autres mobiles pour développeurs, le Ion est unlocked au niveau de la SIM mais également au niveau du hardware rendant possible l’utilisation de ROM customisées. (par exemple les ROM CyanogenMod) Il fonctionne donc parfaitement sur les réseaux GSM européens et ne nécessite que la configuration de nouveaux APN. (que l’on peut trouver sur Internet)
Un autre aspect intéressant du Ion est la facilité avec laquelle on peut « nettoyer » l’écran tactile, simplement en le frottant contre un vêtement.
Au final, la faible taille et le design du Ion ajouté à l’interface Android en font un premier véritable concurrent à l’iPhone d’Apple. En revanche, contrairement à l’iPhone, toujours pas de multi-touch.
TrueCrypt est un logiciel open source gratuit qui permet de créer des disques virtuels sécurisés.
Plus concrètement, TrueCrypt permet de simuler un nouveau disque dur à l’aide d’un gros fichier (une partition peut également être utilisée) dont le contenu sera entièrement encrypté et qui servira à stocker des données sensibles. Il sera utilisable avec sa propre lettre de lecteur (par exemple f : ) et les données seront automatiquement et de manière transparente, encryptées/décryptées lorsqu’on y écrira/lira des données. Le disque virtuel sera protégé par mot de passe : ainsi si le support physique est volé il sera théoriquement impossible d’accéder aux données.
Il est également possible de l’installer sur une clef USB afin de protéger son contenu.
TrueCrypt possède également des fonctionnalités avancées intéressantes, comme la possibilité d’avoir une volume caché, en plus du volume principal et protégé par un mot de passe différent ou d’encrypter la partition sur laquelle Windows est installé.
Les performances sur un ordinateur moyen, malgré l’encryption à la volée, sont assez bonnes et l’installation relativement simple. La stabilité de TrueCrypt (l’un des facteurs les plus important de ce genre d’outils) étant largement démontrée, son utilisation est vivement conseillée.
Les spécifications 1.1 de DPWS et WS-Discovery viennent d’être adoptées par le consortium OASIS qui s’occupe notamment de standardiser des protocoles et technologies du monde des Web Services.
DPWS est une spécification qui explique comment utiliser comme des briques certains standards et spécifications Web Services tels que WS-Addressing, WS-Discovery, WS-Eventing, WS-Transfer ou WS-MetadataExchange pour créer des scénarios évolués dans le monde des périphériques connectés.
WS-Discovery permet de découvrir sur le réseau des services ayant certaines caractéristiques. (et donc par extension des périphériques) Il est ainsi possible de se connecter à un réseau, et de dire « je cherche une imprimante couleur qui peut imprimer des deux cotés » pour obtenir des réponses des périphériques correspondants.
Début du Press Release (anglais):
OASIS Members Approve WS-DD Standards to Enable Secure Web Service Discovery and Control of Networked Devices
Microsoft, CA, Novell, Progress Software, Red Hat, Ricoh, Software AG, and Others Advance WS Standards for Mobile Computing, Smart Buildings, Consumer Electronics, and Office Applications
Boston, MA, USA; 21 July 2009 –
OASIS, the international open standards consortium, today announced that its members have approved three related Web services protocol standards that make it easier to find, share, and control devices on a network. Advanced by the OASIS Web Services Discovery and Web Services Devices Profile (WS-DD) Technical Committee, these new standards include Web Services Dynamic Discovery (WS-Discovery), SOAP Over User Datagram Protocol (UDP), and Devices Profile for Web Services (DPWS). Together, the three standards enable printers, storage devices, sensors, building security devices, entertainment systems, energy management equipment, hand-held computers, cell phones, remote controls, and many other devices to be identified, communicated with, and controlled using Web services.
“These standards make it possible for a new generation of enterprise-enabled resources to be developed which will automatically be discovered and function seamlessly together,” said Alain Regnier of Ricoh, co-chair of the OASIS WS-DD Technical Committee.
“WS-DD expands the scope of the WS-* stack to encompass an exciting range of devices used by both consumers and professionals. Together, WS-Discovery, SOAP-over-UDP, and DPWS define a lightweight footprint that offers the potential to broaden the reach of Web services,” added Toby Nixon of Microsoft, who also co-chairs the WS-DD Committee at OASIS.
The WS-DD standards prescribe how to use elements of core Web services specifications to dynamically discover and describe a Web service. They also enable the secure exchange of messages and allow devices to subscribe and receive events from a Web service.
…
Contrairement à ce que certains pensent, un « Web Service » au sens où le terme est couramment utilisé, n’a pas grand chose à voir avec un serveur Web. Il s’agit en fait d’un programme informatique dont le but est de permettre à des « machines » (applications informatiques, appareils électroniques…) d’interagir sur un réseau sans le besoin d’un humain. (même si bien sur, un humain peut aussi être utilisateur d’un Web Service) Pour cela il est nécessaire de définir précisément la structure des messages, comment ces communications ont lieu, le protocole utilisé… et ce, afin que la machine soit capable de comprendre le contenu du message et d’y répondre de manière autonome.
Un Web Service fonctionne en publiant une API (souvent décrite via le Web Services Description Language ou WSDL) accessible par un point d’accès (comme une URL) auquel peuvent être envoyé des messages utilisant cette API. Par exemple, on peut considérer un Web Service météo qui en recevant un message de demande de température avec certains paramètres (date, ville…) répondra avec la température recherchée.
En général, les Web Services sont basé sur des échanges de messages XML utilisant SOAP au dessus du protocole HTTP. Ceux-ci sont relativement complexes mais robustes et très utilisés dans l’industrie. De nombreuses fonctionnalités ont été standardisées (les fameux WS-*) au sein de consortiums tels que le W3C ou OASIS et peuvent être mélangées pour créer des applications complexes comme si on empilait des briques : par exemple ajouter de la sécurité avec WS-Security, faire des transactions avec WS-Transaction, véhiculer des messages indépendamment de la couche transport avec WS-Addressing…
On distingue également un deuxième type de Web Services, basé sur REST, plus simple et plutôt utilisé pour des applications internet.
Il est intéressant de noter que les Web Services sont souvent à la base de ce que l’on appelle les SOA (Architectures Orientées Services).
Google IO est une conférence qui a lieu depuis 2008 à San Francisco, et qui s’adresse principalement aux développeurs qui utilisent les technologies liées au monde Google. C’est le cadre idéal pour connaître les dernières nouveautés autour de technologies telles que: Google App Engine, Google Web Toolkit, Android, Google Apps, AJAX, Opensocial…
Je ne vais pas faire un rapport complet (est-ce vraiment possible ?) sur Google IO car il y’a déjà de nombreux articles sur le sujet. De ce Google IO 2009 on retiendra pourtant :
On notera toutefois quelques points négatifs :
Au final, comme en 2008, la conférence Google IO était vraiment incontournable pour les développeurs qui travaillent avec les technologies Google. Et pour $400 la conférence, soit beaucoup moins que pour les événements similaires des compétiteurs, ce serait dommage de s’en passer. Sans compter que le téléphone portable offert pendant la conférence rembourse largement ce droit d’entrée.
La virtualisation fait partie de ces « nouvelles technologies » dont on entend de plus en plus parler, et permet d’installer plusieurs « serveurs virtuels » en même temps sur la même machine, comme si c’était des serveurs physiques séparés.
En fait il existe plusieurs types de virtualisations suivant ce que l’on cherche à virtualiser : des serveurs, des desktops, des applications… Mais le principe est le même, à savoir remplacer plusieurs machines physiques par une seule, sur laquelle tourne plusieurs machines virtuelles en même temps et afin d’optimiser l’utilisation des ressources de la machine.
Le constat initial est simple : la majorité des serveurs (mais également des desktops) n’utilisent la plupart du temps qu’un faible pourcentage de leur ressources (cpu, mémoire, accès disques…). En utilisant la virtualisation, on peut mieux exploiter les ressources d’une machine donnée. Ainsi, grossièrement, au lieu d’avoir 7 machines physiques qui utilisent en moyenne 10% de leurs ressources, on en a une qui supporte 7 machines virtuelles, et qui utilise 70% de ses ressources.
Les gains en terme de cout (matériel…) mais également consommation électrique et refroidissement sont évidents.
Là dessus sont venus se greffer de nombreux autres avantages, parmi lesquels:
- la facilité de déploiement, de migration, de backup et d’ajout de ressources
- la possibilité de créer facilement un environnement de développement/test qui réplique l’environnement de production à moindre cout
- la possibilité d’organiser l’utilisation des ressources en regroupant des machines virtuelles qui sont gourmandes dans une ressource mais pas dans les autres (par exemple des VM qui utilisent beaucoup la mémoire mais peu de cpu et d’autres qui ont besoin de beaucoup de puissance de calcul mais peu de mémoire)
- la possibilité d’upgrader facilement le matériel en migrant les VM d’une machine à l’autre
La virtualisation a également des inconvénients dont le principal est la baisse inévitable des performances globales sur la machine physique causée par la couche qui permet la virtualisation. Il est bon de noter que cette baisse des performances peut être réduite, in installant cette couche directement sur la machine physique, sans installer de système d’exploitation intermédiaire. (comme avec un hyperviseur de type VMWare ESX)
Solutions de virtualisation:
VMWare : http://www.vmware.com
Virtual Server : http://www.microsoft.com/windowsserversystem/virtualserver/
Xen Server : http://www.xensource.com
Normalement, je devrais comme l’année dernière assister cette année à la grande Messe des développeurs de la famille Google : GoogleIO.
C’est l’occasion idéale pour découvrir les nouvelles technologies du monde Google, mais également discuter avec les développeurs de Google et le tout dans un ambiance très conviviale. De plus le prix d’entrée est de $400 ce qui est beaucoup plus faible que pour les autres événements du même genre organisés par la compétition. Plusieurs thèmes particulièrement intéressants au programme : Android, App Engine, GWT, HTML 5… On attend évidemment des annonces.
Si tout se passe bien j’assisterai également à JavaOne la semaine suivante, même si avec le rachat de Sun par Oracle, le programme n’est pas très clair.
Du lourd au programme de la Silicon Vallée cette semaine : Oracle, l’une des grosses entreprises locales rachète Sun Microsystems, une autre gros de la région. Le cours de l’action Sun était descendu très bas en octobre 2008 malgré de grosses réserves de cash et on parlait de rachat par IBM.
Il est intéressant de remarquer que par la même occasion, Oracle rachète MySQL (appartenant à Sun), l’un de ses principaux compétiteurs sur les bases de données.
Reste à savoir ce qu’un tel mariage va vraiment engendrer… sans parler des probables licenciements.
Jusqu’à présent, l’offre Cloud Computing de Google via l’App Engine ne concernait que les applications développées en Python. Mais la bonne nouvelle pour de nombreux développeurs, c’est que Google viens d’annoncer le support de Java ! Celui-ci a plusieurs limitations (classes non supportées, sécurité…) mais va clairement dans la bonne direction.