Compte-rendu de la journée Sun Aquarium du 26 juin

J'étais le vendredi 26 juin à la journée Sun Aquarium, principalement consacrée à la présentation par Sun de leur offre.

Voici mon compte-rendu des principaux points abordés :

Sun se positionne sur l'offre cloud

Comparé aux acteurs actuels de l'offre (Amazon et Google),Sun profite du fait qu'  il maîtrise toute la pile logicielle : l'OS avec Solaris, le filesystem avec ZFS, la base de donnée avec MySQL et maintenant Oracle, la JVM et le serveur d'application avec Glassfish pour Java et LAMP (ou plutôt SAMP avec Solaris), ainsi que la virtualisation avec VirtualBox. Ensemble, Ils peuvent donc fournir des solutions sur mesure et adaptables pour faire du cloud en interne dans les entreprises. Certaines grandes entreprises auraient déjà un millier de machines virtuelles Virtual Box en cloud pour faire tourner leurs applications Java sur du Glassfish. Cela nécessite en revanche de solides compétences sur les outils, l'intégration de la pile logicielle n'étant pas faite par défaut.

L'offre sur le web (type Amazon ou Google AppsEngine) est moins développée. Sun a présenté 2 projets "grand public" : http://zembly.com/ qui permet de déployer sur le web des widgets sociaux (pour  facebook, google...) et http://projectdarkstar.com/ pour développer des jeux online. Mais il ne propose pas d'équivalent à un google AppEngine qui permet par exemple de déployer une application Java dans le "nuage" sans connaître le fonctionnement sous-jacent.

Pour le développeur, Sun met en avant qu'en utilisant leurs outils de développement, notamment Netbeans et le debugger de Solaris (DTrace), on peut facilement tracer une application web depuis un clic d'un utilisateur jusqu'aux appels système de manière intégrée, et générer des logs précises même en cloud.

L'offre Glassfish Portfolio

Glassfish v3 est le meilleur serveur du marché sur de nombreux points (modulaire, en avance sur JEE 6, console d'admin qui intègre les mises à jour). L'offre Glassfish Portfolio (http://blogs.sun.com/alexismp/entry/glassfish_portfolio) conçue pour les entreprises comprend bien sûr le serveur d'application, mais aussi un ESB (Glassfish ESB), un portail (Glassfish WebSpace, basé sur Liferay) et une pile LAMP, car Glassfish supporte également d'autres plateformes que Java (PHP, Rails...). Une offre qui a déjà fait ses preuves, au moins pour le serveur d'application JEE , et se pose comme concurrent direct de l'offre JBoss avec leur serveur d'application, qui fait aussi du Rails maintenant, et leur portail JBoss Portal/eXo.

Plateforme Java

JEE 6 sera prêt pour septembre, des spécifications sont même déjà finalisées (JSF2 par exemple). Tout va bien...JEE 6 sera le JEE du "right sizing", à travers l'utilisation de profils (le profil web par exemple, ou bien le profil Telecom en cours de développement avec Ericsson), alors que JEE 5 était le JEE du "ease of use", notamment grâce aux annotations. JDK7 apportera de la modularité avec Jigsaw (encore cette idée de "right sizing"), ce qui favorisera son utilisation sur netbooks et mobiles, ainsi que du multi-langage. La JVM contiendra du bytecode  qui ne sera même pas utilisé par le langage Java (projet Da Vinci http://openjdk.java.net/projects/mlvm/ ) mais par d'autres langages, comme Scala ou Groovy. JavaFX sera prochainement supporté (en plus de Windows) sur Linux, OpenSolaris, des télévisions LG, des téléphones (HTC Diamond, LG, Sony), et des plug-ins permettront de développer dans Illustrator. Le CEO d'Oracle, Larry Ellison, entend pousser JavaFX très loin et l'utiliser au maximum dans les IHM  applications Oracle et d'OpenOffice. Java FX est séduisant mais est encore trop proche d'un prototype ou d'une version beta incomplète (outillage et plateformes d'exécution en cours de développement) pour concurrencer les Flex et autres  Silverlight. Dans l'immédiat on reste sur sa faim...

Metro : une stack JEE complète pour les web services SOAP (avec une gestion de la sécurité au niveau SOAP très, voire même trop sophistiquée) et REST. Sun insiste sur la compatibilité avec .Net 3.5. Par-contre la compatibilité avec les autres implémentations JEE, pour les couches WS-*, n'a pas été entièrement testée. Metro implémentant les normes SOAP et JEE, cela ne devrait pas poser de problèmes. Une forge gratuite en ligne : http://kenai.com/ . Elle offre un SVN, un wiki, un bugtracker, un chat, et pour l'intégration continue elle offre une passerelle avec Hudson, via les plug-ins fournis dans NetBeans 6.7. Ils permettent par exemple de voir pour chaque ligne de code les modifications SVN et les builds cassés. Je l'ai testée, c'est simple à utiliser et efficace pour héberger un projet open source par exemple.

store.java.com : le business model de l'AppleStore de Sun est en cours de mise au point (quels types d'applications pour quels supports?). Sun part du principe qu'il y a plusieurs centaines de millions de terminaux avec une JVM dans le monde, que ce soient des PC ou des téléphones mobiles, et que le marché est donc bien là.

OpenSolaris et Solaris : ces systèmes d'exploitations possèdent les avantages de Linux (console, outils GNU, interface GNOME) + le système de fichiers ZFS (qui permet notamment de faire simplement une gestion d'historique du système de fichiers) + DTrace (debugger) + crossbow (virtualisation réseau) + un système de virtualisation du FS. Une petite communauté d'utilisateurs est en train de se former. Seulement deux distributions existent autres que celle de Sun. Si l'OS est en soi fiable et efficace, le degré d'ouverture de l'OS est plus complexe que pour un Linux, et le chemin sera long à parcourir pour concurrencer GNU/Linux sur le point de la popularité et de la communauté...

Il y a eu aussi :

- une présentation sur OpenDS, une implémentation mature, en Java, de serveur LDAP. OpenDS est open source et embarquable dans une application Java (de la même manière qu'une base de donnée embarquée comme HSQL par exemple). Cet outil peut en outre être utilisé lors du développement d'applications pour faire des tests d'intégration avec un serveur LDAP. OpenDS sera à terme la base de toute leur offre sécurité (annuaire, gestion des identités...). - un retour d'expérience d'un architecte de Cap Gemini sur un projet client, où Glassfish v2.1 est utilisé avec succès en production. Les seules douleurs qu'ils ont eues furent un changement dans les APIs de manipulation du serveur lors d'une montée de version.

En conclusion, cette journée a permis de constater l'étendue de l'offre Sun d'aujourd'hui, avec des outils matures tels que le serveur d'application Glassfish, la base de donnée MySQL et l'OS Solaris, et une très forte volonté de conquête du marché du cloud computing en capitalisant sur ces outils.