What's next : Keynote d'Adrian Colyer
Adrian Colyer (CTO de SpringSource) a ouvert la What’s Next avec une keynote intitulée Enterprise Applications in 2011: Challenges in Development and Deployment, and Spring’s response. Nouvelles façons d’accéder aux applications (mobiles, tablettes), nouvelles façons d’utiliser ces applications (toujours plus d’interactions), une dimension sociale (l’application ne devient que plus intéressante quand le nombre d’utilisateurs augmentent) ; tels sont les challenges identifiés par Adrian.
Les réponses en face pour réaliser ces applications : de nouveaux standards (ex. : HTML 5 avec ses Web Sockets), la possibilité de s’intégrer avec les grands des réseaux sociaux, de nouvelles façons de stocker ses données avec les solutions NoSQL par exemple et le cloud pour la souplesse de déploiement. Voyons cela un peu plus en détails…
Diversité dans l’accès aux applications
L’appareil typique pour accéder au web maintenant ? Un bon vieil ordinateur fixe, dans sa tour, connecté avec un câble ? Plus vraiment, car les appareils sont maintenant divers, il n’y a plus d’appareil “typique” : téléphones, ordinateurs (portables ou fixes), tablettes constituent certainement la majorité de la flotte. Ajoutez les différentes marques, système d’exploitations, moyens de connexion et la combinaison des possibilités devient explosive ! Il s’agit là d’un des challenges majeurs pour les développeurs d’applications : il va falloir contenter les utilisateurs de tous ces types de “devices”. Et la possibilité de se connecter depuis n’importe où, à n’importe quel moment pose le problème de la montée en charge.
SpringSource oblige, Adrian évoque des projets du portfolio Spring pour répondre à ces challenges : Spring Mobile – un projet coté serveur pour faciliter le développement des applications mobiles – et Spring Android – un projet coté client facilitant notamment l’accès à des services via REST.
Toujours plus loin dans l’interaction
Avec le web 1.0 on consommait, avec le web 2.0, on produit du contenu ! L’utilisateur veut maintenant pouvoir exprimer ce qu’il pense : voter, donner une note, mettre un commentaire, sur un produit, un film, un projet open source. Un site qui ne permet que de lire du contenu est maintenant très rare. Cela ne va pas s’arrêter, les interactions vont aller encore plus loin. Un exemple : le push data. L’utilisateur ne va même plus chercher le contenu lui-même, le serveur lui amène sur un plateau. Cela est déjà possible sur internet, mais HTML 5 le rendra encore plus simple et plus “scalable”. Comment ? L’excellente présentation de Brad Drysdale sur les Web Sockets en HTML 5 vous le dira (compte-rendu à venir !).
Antisocial ringard ?
Désolé pour les fans de Trust, mais la sociabilité est de mise de nos jours. Avec des possibilités d’interactions accrues, internet connecte encore plus les gens. Les grands des réseaux sociaux comme Facebook et Twitter en sont l’illustration. Comment mettre du social dans nos applications ? Les sites de réseaux sociaux ont des API, utilisez-les pour mettre sur votre site ce qu’on pense de votre produit sur Twitter. Avec les Web Sockets, les résultats de la recherche Twitter seront mise à jours en direct. Coté serveur ? Si vous demandez à Adrian Colyer, il vous dira d’aller voir ce que propose le projet Spring Social (des abstractions pour les API Twitter, LinkedIn, etc.)
Le courant NoSQL est aussi représentatif des grandes architectures internet, dont les réseaux sociaux font parties. Mais avons-nous besoin de ces technologies dans nos applications ? Après tout, Facebook, Twittter, Amazon, Google, Flickr, cela n’est pas le genre d’applications qu’on développe tous les jours. C’est vrai, mais tous les outils et les techniques qu’utilisent ces géants du web sont disponibles pour nos applications. Besoin d’une structure de type graphe dans votre application ? Pas sûr que la bonne vieille base de données relationnelle soit le meilleur outil pour cela. Pensez à jeter un coup d’oeil à NEO4J, une base de données orientée graphe. Vos données ont une structure changeante ? Idem, pensez à MongoDB, une base de données orientée document qui vous apportera cette souplesse. Adrian nous rappelle que le projet Spring Data est là pour nous aider à utiliser ces nouveaux outils. Nous aurons même du support pour du “cross-store persistence” : faire cohabiter une base de données relationnelles avec les solutions NoSQL. Une bonne raison pour ne pas jeter à la poubelle nos solutions éprouvées avec des SGBDR et JPA, tout en découvrant de nouveaux horizons.
Réaction de la salle jusque-là ? Assis au fond de la salle comble du Grand Rex, on voit de nombreux spectateurs tenant un ordinateur portable, un smartphone ou une tablette. Les moyens de connexions ? 3G ou Wifi. Que font-ils ? Ils partagent leurs impressions sur les réseaux sociaux. Allez trouver une meilleure illustration des propos d’Adrian Colyer !
Social Network in Action: Adrian Colyer regarde la nouvelle star ?
Exemple amusant que donne le CTO de SpringSource : des sites ont réussi à prévoir les résultats de l’émission American Idol (l’équivalent américain de notre “Nouvelle Star”) de façon beaucoup plus fiable que des sondages. Leur secret : ils ont fait du data mining dans les sites tels que Twitter ou Facebook. La récupération des informations et leur analyse intelligente (ex. : ce n’est pas parce qu’on parle beaucoup d’un candidat qu’il va gagner) a permis d’obtenir des résultats plus réalistes que ce que les gens disent (dans les sondages). Serait-on plus franc en face du monde entier qu’en face d’un sondeur qui vous promet l’anonymat ?
OK, la technologie au secours de la télé-réalité, quelle noblesse. Imaginez la même chose avec une élection présidentielle…
Et sinon, quelle solution technique pour cette mission au service du public américain ? Certainement les API des réseaux sociaux correspondants et peut-être du MapReduce sur des serveurs loués à la minute d’utilisation pour l’occasion sur Amazon EC2.
Et le cloud dans tout ça ?
Ah, le cloud. La keynote ne serait pas complète si elle n’abordait pas ce sujet brûlant. Depuis le rachat par VMware, SpringSource est coeur de cette actualité. Selon Adrian Colyer, les solutions basées sur le cloud bouleverse la façon de penser le business model et le “cost model” d’une entreprise. Une entreprise voulant lancer un site peut bénéficier de la souplesse du cloud : elle peut n’investir que dans de l’intellectuel (l’idée, les cerveaux pour implémenter et vendre la solution). Le budget du déploiement ? Comme au restaurant, à la carte. Pas besoin d’investir initialement dans un 1, 5 ou 15 serveurs coûteux pour rien (si le site ne remporte pas le succès escompté) ou de ne pouvoir répondre à la demande (si le site est un succès). Le cloud est élastique, il permettra à l’entreprise de ne payer que pour ce dont elle a besoin.
Le cloud, la balle d’argent pour le déploiement ? Un spectateur au look de candidat à l’Ultimate Fighting Championship semble trépigner sur son fauteuil. Theo Schlossnagle doit déjà penser aux slides qu’il va rajouter dans sa présentation. Theo met en place des architectures internet haute-disponibilité et à fort traffic, il fera part de son avis sur le cloud le lendemain.
Adrian Colyer enchaîne alors sur Cloud Foundry, qui a fait l’objet d’une annonce il y a quelques semaines. Cloud Foundry a deux facettes : il s’agit d’un service (www.cloundfoundry.com) permettant d’héberger ses applications, mais aussi d’un projet open source (www.cloundfoundry.org). Ce deuxième point rend le produit ouvert : le développeur peut récupérer les sources, le modifier, tester le comportement de ses applications dans un cloud qu’il fait tourner chez lui. Pour une présentation complète de Cloud Foundry, vous pouvez vous référer au webinar tenu il y a quelques semaines à ce propos.
En résumé
Cette keynote a parfaitement ouvert la conférence : les nouveaux défis des applications à venir sont posés, des solutions ont été évoquées. Le reste de la conférence permettra de creuser ses sujets : HTML, cloud, scalabilité avec du messaging (AMQP) ou Scala et Akka, tout cela appliqué à la recherche avec Elastic Search, et bien d’autres encore. A bientôt pour le résumé du reste des présentations !