Sun Aquarium de Paris

le 06/01/2009 par Xavier Vaccari
Tags: Évènements

Un rapide compte rendu du Sun Aquarium de Paris qui a eu lieu vendredi 12 décembre. Sun a voulu rassembler des personnalités du monde Open Source Java et proposer aux décideurs/développeurs parisiens une overview de leurs produits.

Les slides des sessions sont disponibles sur le blog d'Alexis Moussine-Pouchkine.

OpenESB v3 : Fuji project

Andi Egloff, responsable du projet OpenESB, a présenté une démo de la version 3 du produit, nom de code Fuji. On a souvent reproché aux ESB Open Source (ServiceMix & co) d'apporter des solutions avec une complexité telle que bon nombre de développeurs ont du mal à s'approprier ces outils :

  • Paramétrage XML verbeux & complexe,
  • Vocabulaire & patterns,
  • Intégration dans un environnement d'exécution existant

Le projet Fuji en est à ses débuts. Il n'est pas encore prêt pour une utilisation industrielle (version stable dispo fin 2009) mais il a l'avantage d'apporter des réponses simples et efficaces :

  • Un packaging sous forme de WAR
  • Une base de données Derby embarquée très utile pour évaluer le produit
  • Une intégration dans les différents IDE (seul Netbeans possède pour l'instant le plugin pour Fuji) et dans Maven
  • Une interface d'administration online qui ressemble fortement à Yahoo Pipes
  • Un DSL nommé IFL (Integration Flow Language) permettant de créer des règles de routage ou d'appeler des composants de façon très simple
  • Enfin une implémentation interne basée sur OSGi

L'interface web permet de choisir dans une palette les composants pour le traitement des messages, de les connecter et paramétrer. Cette palette est déjà bien fournie (POJO, web services, FTP, split de fichiers, agrégation, email,.) et va être enrichie.

La « killer feature » est le déploiement à chaud des composants via l'interface web. On améliore la productivité du développeur qui peut modifier son diagramme, déployer et tester en quelques secondes sans avoir à redémarrer son serveur d'application.

Pour l'instant, IFL est seulement supporté par Netbeans. Voici un exemple d'un script IFL qui récupère un flux RSS, le filtre et l'envoi dans un fichier et sur une messagerie instantanée :

rss "cnnfeed"
jruby "filter"xmpp "IM"
file "archive"
route do
  from "cnnfeed"
  to "filter"
  broadcast do
    route to "IM"
    route to "archive"
  end
end

On attend avec impatience la suite.

Glassfish v3 Prelude

Alexis Moussine-Pouchkine a présenté une session sur le nouveau serveur d'application Glassfish v3. Le serveur Glassfish v3 est en cours de développement mais une version « Prelude » est déjà disponible. Cette version propose un conteneur de Servlet. Les performances sont à l'honneur puisque Glassfish v3 démarre en quelques secondes. On peut dès à présent le positionner comme un challenger de Tomcat pour les équipes de développement.

Toujours pour gagner en productivité, Glassfish permet un redéploiement à chaud lors de la modification de code. Ce redéploiement est très rapide et permet même de conserver les objets présents dans une session http. L'intérêt ? Eviter de naviguer à travers 10 écrans de votre application et saisir à nouveau les données du jeu de test pour accéder à la page modifiée.

Glassfish marche également sur les plates-bandes de Jetty puisqu'il est possible de lancer le serveur par un simple appel de méthode. Les tests unitaires avec un Glassfish embedded sont également un bon point pour améliorer la productivité des développements. Des éditeurs de logiciels qui ont également besoin d'un runtime y trouvent leur compte. C'est le cas de XWiki et Nuxeo qui ont proposé des sessions à l'Aquarium sur l'utilisation de Glassfish dans leurs produits.

L'intégration avec Netbeans et Eclipse est prévue puisque Sun développe lui-même ces plugins pour Glassfish. Les plugins permettent de lancer le serveur, le profiler et d'accéder à l'interface d'administration. La console d'administration reprend les principales fonctionnalités présentes en v2. En particulier l'update center qui permet d'ajouter des fonctionnalités à Glassfish. Ce côté très modulaire permet d'avoir un serveur taillé sur mesure pour les applications qu'il accueille.

Glassfish permet le déploiement de composants OSGi grâce à l'utilisation d'Apache Felix. Contrairement à SpringSource via Spring DM server, Sun propose de conserver les paradigmes de développement et déploiements actuels et masquer le conteneur OSGi. OSGi se positionne donc comme une solution adaptée au développement de frameworks et non pour les développements classiques web ou EJB.

La version 3 de Glassfish est prévue pour ce printemps et sera l'implémentation de référence de la spécification JEE 6. Seul regret pour des applications hautement disponibles, il faudra attendre la version 3.1 de Glassfish pour voir réapparaitre (dispo en v2) les fonctionnalités de clustering.

Le marché des serveurs d'application semble visiblement trouver un second souffle.

JavaFX

Les développeurs et responsables des outils Richard Bair et Martin Brehovsky arrivaient de Devoxx pour présenter leur travail. Il y a en ce moment beaucoup de buzz autour de JavaFX dans la communauté Java. N'ayant jamais vu la plateforme ni d'application JavaFX, j'ai été assez surpris par la jeunesse du projet. Et les résultats obtenus ne m'ont pas non plus impressionné :

  • Il y a un nouveau langage à apprendre, ce qui ne facilite pas à mon avis l'adoption de cette techno,
  • Les composants de base qu'on s'attend à avoir (boutons, date picker,.) sont absents. Il faut recoder les composants soit même.
  • L'outillage est très orienté designer, mais les développeurs n'ont pas grand-chose dans leur IDE pour rajouter des éléments.

JavaFX propose une approche innovante sur la relation entre les designers et les développeurs, via des plugins Adobe CS et Illustrator fournis dans JavaFX Production Suite. En résumé, Sun part loin derrière ses concurrents (Adobe, Microsoft) et a essayé de sortir de front un nouveau langage, compilateur, runtime et outillage pour quelque chose qui ne semble pouvoir, en l'état, révolutionner les IHM dans les entreprises.

OpenSSO

Cette session sur le produit OpenSSO a été animée par Alain Barbier. Outre la présentation du produit, l'audience a eu le droit à un panorama sur les problématiques de fédération d'identité. OpenSSO est le résultat de la mise en Open Source de Sun Access Manager. Ce produit couvre les fonctions suivantes :

  • Contrôle d'accès web (authentification, délégation d'autorisation)
  • Fédération d'identité (SAML2, Liberty Alliance)
  • Sécurisation des web services
  • Services d'identité

Le produit couvre à la fois des besoins « simples » en SSO sur un intranet d'entreprise, que des besoins de fédération d'identité entre plusieurs cercles de confiance (circle of trust). Le fait d'avoir un produit unique permet de rendre plus cohérent la gestion d'identité au sein d'une entreprise.

OpenSSO fournit des agents pour les différentes applications qui veulent bénéficier du SSO ou de la fédération d'identité. Les agents sont configurés de manière transparente pour les applications. OpenSSO permet même de mettre à jour la configuration d'une liste d'agents grâce à des bootstraps ce qui simplifie l'administration de la plateforme.

Pour les applications qui veulent mettre en place de la gestion d'identité, appelées aussi Service Provider, un « kit » leur est fourni pour développer un composant capable de communiquer avec la gestion d'identité : les Fedlets. Cette API masque la complexité inhérente à Liberty Alliance ou SAML2 et permet de connecter un SP à une gestion d'identité gérée par OpenSSO très rapidement. OpenSSO peut également servir de hub de fédération car il est capable de communiquer à la fois avec des Service Providers Liberty Alliance (protocoles ID-FF pour la fédération, ID-WSF pour les web services) que SAML2.

Les web services sont sécurisés grâce à la sécurité du protocole (HTTPS) mais cette sécurité peut s'avérer insuffisante (limité au point à point). Afin de sécuriser également le contenu des messages (confidentialité, signature), OpenSSO propose d'appliquer des modèles de sécurité basés sur du Liberty ou WS-Security.

Le produit OpenSSO est une solution crédible pour sécuriser les plateformes et échanges au sein des entreprises.