Revue de Presse Xebia

Revue de Presse Xebia
La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.

Actualité éditeurs / SSII

Agilité

Le coin de la technique

Evènements de notre communauté en France et à l’étranger

Actualité éditeurs / SSII

Sun délaisserait Swing ? Entre sur réaction et conflit d’intérêts

Il a suffit que Sun annonce son désengagement temporaire de SwingLabs pour que la blogosphère s’enflamme et prédise la fin de Swing (ici, , ou encore ).

Swing Labs est l’incubateur des nouveaux composants et des nouvelles fonctionnalités de Swing (cf. SwingLabs – Status Update @ Java One 2008 par Richard Bair, SwingLabs Project Lead, Sun Microsystems). Les développements y sont réalisés en open source (GNU LGPL) avec un copyright « Sun Microsystems, Inc ». On retrouve ici la stratégie fréquente de Sun d’un mode Open Source à gouvernance exclusive avec Copyright Sun qui permet un dual licensing. Grâce à son copyright, Sun est libre de proposer le code sous un autre contrat de licence. La contre partie de ce copyright Sun Microsystems est que les contributions extérieures à Sun sont peu probables ; peu de développeurs et d’entreprise sont prêts à céder leur copyright à un a acteur commercial (1).

Le désengagement de Sun peut s’expliquer par l’énergie que la société place actuellement dans le lancement de son produit Java FX qui doit occuper ses développeurs d’interface graphique les plus talentueux. Si l’on ajoute que Sun restructure en ce moment ses équipes pour des raisons financières, cela laisse peut de monde pour s’occuper des nouveaux composants de Swing (JavaFX et Swing partagent le même socle mais ont des composants de haut niveau différents).

Quel impact aura ce désengagement sur les évolutions de Swing ? On peut voir ici un conflit d’intérêts entre l’éditeur Sun Microsystem qui lance un produit stratégique et la responsabilité du fondateur du langage Java qui a pris la gouvernance exclusive sur un chantier d’évolution du langage.

Alors, Java FX a tué Swing ? On peut en douter ; Swing a toujours été important pour Sun (Netbeans, Matisse, etc) et Java FX enrichiera probablement plus Swing qu’il ne lui nuira. En revanche, l’agenda commercial de Sun et le lancement de Java FX risquent de retarder temporairement les évolutions de Swing.

(1) On notera que certains projets open source prennent eux aussi le copyright du code (les développeurs se dépossèdent de leur travail) et que cela ne freine pas les contributions. Par exemple, la Fondation Apache utilise l’Apache Software License (ASL) et est propriétaire du copyright (« Licensed to the Apache Software Foundation (ASF)… ») ; la Fondation peut à tout moment exposer le code sous un nouveau contrat de licence, ce fut notamment le cas lors du passage de l’ASL version 1 à la version 2. Spring Framework a une approche différente puisque ce projet utilise lui aussi l’Apache Software License mais a laissé le copyright aux auteurs (« Copyright 2002-2005 the original author or authors »).

Agilité

ScrumMaster A.O.C

À partir de janvier 2009, il vous faudra passer un test en plus du CSM pour pouvoir être certifié ScrumMaster, comme l’annonce Michael James. Il s’agira d’un questionnaire à choix multiple, actuellement en bêta-test au Scrum Gathering Stockholm.
En effet jusqu’à maintenant il suffisait d’assister à un CSM pour être certifié ScrumMaster. N’importe qui, même sans aucune connaissance sur Scrum, pouvait assister à la formation et devenir ainsi « ScrumMaster ». Le terme « certification » était donc trompeur. Ce manque de garantie était d’ailleurs largement critiqué par la communauté agile.
Tom Mellor rappelle qu’à l’origine Ken Schwaber a créé le CSM en pied-de-nez au PMI. L’objectif du CSM n’est pas de découvrir le rôle de ScrumMaster mais de comprendre et maîtriser les concepts de Scrum.

Getting Real : les conseils de 37Signals

Kris Jordan avait recueilli les leçons qu’ils ont apprises chez 37Signals lors de la conférence donnée par Jason Fried pendant la Web 2.0 Expo.
David Larlet a traduit ce recueil qui synthétise les idées du célèbre manifeste Getting Real de 37Signals. L’occasion de revoir les points importants :

  • Volatilité : les décisions sont limitées dans le temps, les plannings aussi. Les projections long terme ne servent à rien, les choses changent.
  • Restez concentrés : concentrez-vous sur l’essentiel, le réel, ce qui est simple et qui ne change pas. Évitez les interruptions qui nuisent à la productivité.
  • Travailler moins pour produire plus : ignorez ce qui n’est pas important, vous pourrez travailler moins pour aboutir à un produit plus simple mais d’aussi bonne qualité.

Le coin de la technique

GlassFish v3 Prelude, Sun fait le Buzz

Difficile de passer à côté de cette actualité cette semaine : la sortie de GlassFish V3 Prelude. Une pluie de billets sur les blogs de Sun a accompagné la sortie de cette version ‘démo’ de son futur nouveau serveur d’applications dont la sortie est prévue pour 2009. Notez tout de même que cette version est supportée par Sun et est prête pour tourner en production, veillez donc à ne pas le comparer à une version bêta.

Le kernel de FlassFish v3 Prelude repose sur une architecture modulaire. Pas de surprise à ce niveau, Sun reste dans la lignée de ses previews, GlassFish repose sur Apache Felix, l’implémentation Apache du runtime OSGi R4. La liaison entre cette technologie et le centre de mises à jour inclus, vous permettra d’activer, supprimer simplement les différentes technologies proposées : Servlet 3.0, JRuby, Groovy, Grails, … Et c’est la que repose toute l’utilité d’un tel kernel, vous ne chargez que ce qui vous intéresse et optimisez du même coup les temps de démarrage et consommation mémoire.

Offrant également un avant-goût de JEE 6 (dont la sortie est prévue pour début 2009), cette version de GlassFish vous permettra de tester certaines fonctionnalités de la future version de Java Enterprise, dont :

Sun a fait en sorte que toutes les conditions soient réunies pour que le buzz prenne autour de cette sortie (sortie prématurée, technologies affriandantes…). Force est de constater que l’objectif est rempli ! GlassFish v2 était déjà considéré comme le nouveau chouchou des développeurs, cette nouvelle version séduira elle en plus les exploitants ? Le futur nous le dira.

Comme l’indique, le créateur de Java et employé à Sun, James Gosling dans We’ve been cranking!, en complément de la sortie de Glassfish, Sun a mis à jour différents types de logiciels : son framework avec JDK6u10, son IDE avec Netbeans 6.5RC, sa base de données avec MySQL 5.1, son système d’exploitation avec OpenSolaris 2008.11.

Restlet 1.1.0: Plus de souplesse et une implémentation de JAX-RS 1.0:

Restlet est un framework Java qui permet de développer des applications REST-ful. La version 1.1.0 est sortie fin octobre 2008. Le blog de Noelios Technologies (la société qui dirige les développements sur Restlet) nous parle des différentes améliorations :

  • Un support du protocole HTTP plus large.
  • Une implémentation de la JSR 311 sur JAX-RS 1.0 la plus complète du moment.
  • Une intégration étendue et facilitée avec les technologies en vogue (Spring 2.5, JAXB 2.1, etc.)
  • Un portage de l’API côté client Restlet vers GWT 1.5 permettant d’appeler des applications REST-ful directement depuis le navigateur WEB. Ce fût d’ailleurs le sujet de la deuxième partie du Paris JUG du mardi 4 novembre présenté par Jérôme Louvel.
  • … et beaucoup d’autres disponibles sur le billet posté sur le blog de Noelios.

Jérôme Louvel est le responsable principal du développement de Restlet. Il a été interviewé par InfoQ à propos de cette nouvelle version.
Trois questions ont été posées sur les points suivants :

  • L’implémentation de la JSR 311 dans Restlet
    Réponse : La plus complète, et l’objectif est d’obtenir le kit de compatibilité (TCK) nécessaire pour être certifié.
  • Les conditions d’utilisation de JAX-RS : seul ou avec l’API Restlet
    Réponse : Après avoir distingué les différentes approches de JAX-RS et de Restlet API, annotations sur un POJO pour le premier, héritage des classes de base pour le second, Jérôme pense que s’il n’y a pas nécessité d’être conforme avec les standards de JEE, il est plus simple et puissant d’utiliser Restlet.
  • L’importance de la communauté Restlet
    Réponse : 8 valideurs sur le core, 6 sur les extensions et 160 contributeurs soutenus par une communauté solidaire.

Restlet 1.1.0 offre une implémentation très complète de JAX-RS 1.0 et s’intègre à plusieurs frameworks importants du marché.

mod_cluster : JBoss fait cavalier seul pour l’après mod_jk

Alors que la Fondation Apache propose depuis Httpd 2.2 le duo mod_proxy_balancer / mod_proxy_http comme successeur de mod_jk pour se connecter à Tomcat, JBoss se lance dans le développement de son propre module Httpd, mod_cluster, pour connecter le moteur Tomcat embarqué dans JBoss AS au serveur. mod_cluster met en avant les fonctionnalités suivantes :

  • Configuration dynamique des workers http : alors que mod_proxy_balancer se limite pour le moment à l’interface web (/balancer-manager) destinée aux humains, mod_cluster expose un Cluster Management Protocol qui permettra à des outils de déploiement de centraliser les opérations sur le serveur moteur de servlet et sur le serveur web (installation, mise à jour, désinstallation). Nous noterons au passage qu’une application Tomcat arrêtée renvoi des erreurs 404 qu’un load balancer ne sait pas interpréter pour marquer comme indisponible le servant alors qu’une erreur 503 Service Unavailable ferait l’affaire. Ces fonctionnalités d’administration sont déjà disponibles dans des serveurs Java EE tels que Websphere (c.f. Websphere Education Center : eate a remote Web server definition).
  • Gestion du cycle de vie des applications : mod_cluster apporte le très important concept de désactivation d’un servant (DISABLE-APP:) qui fait hélas défaut à l’actuel mod_proxy_balancer. On pourra éteindre en douceur un noeud en reportant la charge vers les autres servants sans pour autant perdre les sessions en cours (dans le cas ou l’on n’a pas de réplication de sessions).
  • Algorithme de load balancing basé sur la charge des serveurs : les load balancers déduisent le plus souvent la charge des servants à partir du nombre de requêtes ou du nombre de requêtes en cours d’exécution. mod_cluster expose une API pour que chaque servant puisse communiquer des informations plus fines (charge CPU de la machine, etc). Ce mécanisme sophistiqué concernera les besoins avancés alors que la plupart des installations peuvent se contenter d’un simple algorithme round robin
  • Mise en avant du protocole HTTP en substitution à AJP : JBoss continuait à mettre en avant mod_jk et le protocole AJP (cf JBoss AS Guide – 18.1. Configuring load balancing using Apache and mod_jk). La page semble aujourd’hui se tourner au profit du connecteur HTTP sur lequel portent les efforts du projet Tomcat.

Espérons que ces travaux bénéficieront un jour au module mod_proxy_balancer intégré à Apache Httpd.

JSR-299 : Web Beans disponible en Public Review Draft

Gavin King, le créateur d’Hibernate et le Spec Lead sur Web Beans, a annoncé sur le blog InRelationTo la sortie de la spécification Web Beans en Public Review Draft : Web Beans Public Review Draft released.

Cette spécification est issue des travaux ménés sur le framework Seam. De plus, elle s’inspire des moteurs d’injection Guice (Google) et Spring. Cependant Web Beans (et Seam) se démarque de Spring dans une approche orientée annotation plutôt que XML pour la configuration.

Web Beans a pour objectif de fournir un ensemble de services pour les composants JEE. La spécification définit :

  • Le cycle de vie et les interactions de composants à état (stateful) dans des contextes définis et extensibles.
  • Un mécanisme d’injection de dépendance permettant de choisir les dépendances d’un composant au déploiement.
  • La possibilité d’utiliser un langage EL (Expression Language) étendu dans les pages JSP et JSP.
  • Un paradigme d’intercepteur dont un nouveau type d’intercepteur baptisé Decorator.
  • Un modèle de notification par événement.
  • Un contexte d’exécution Web.
  • Un SPI (Service Provider Interface) permettant l’intégration de framework tier dans Web Beans.

Cette spécification a pour vocation d’uniformiser de manière globale le développement d’applications de gestion en se reposant sur d’autres spécifications : EJB, JSF, Java Servlets, Common Annotation.

C’est une spécification assez velue, car elle introduit beaucoup de nouveaux concepts largement expérimentés dans Seam :

  • Scope,
  • Conversation,
  • Composant à état,
  • Intégration des standards ensemble EJB/JSF,
  • Modèle d’annotations, d’intercepteurs, …

Cette spécification est indispensable dans le cas où vous voulez essentiellement développer avec des standards, mais elle peut être aussi, bien utile dans d’autres cas. Elle vous permettra de développer avec les standards comme JSF et EJB en utilisant leurs pleines puissances et en ayant à développer très peu de code pour intégrer les 2 technologies (pas de DTO Data Transfer Object , utilisation de Binding par annotation et EL).

Evènements de notre communauté en France et à l’étranger

Journée « GlassFish et Java » à Paris chez Sun

Sun organise le vendredi 12 décembre une journée gratuite « GlassFish et Java » dans ses locaux au 42, avenue d’Iéna à Paris.
Cette journée sera l’occasion de couvrir un large spectre de la gamme Sun :

Parmi les intervenants: Roberto Chinnici (spec lead), Richard Bair (tech lead), Paul Sandoz (spec lead), Linda Schneider (tech lead), Jean-François Arcand (tech lead), etc…

L’ouverture des inscriptions ne devrait pas tarder : A suivre sur le blog d’Alexis Moussine-Pouchkine

3 Responses

  • SwingLabs, comme sur la plupart de ses autres projets open source initiés par « Sun », les contributions externes sont très régulières. Elle nécessitent de signer le SCA (http://www.sun.com/software/opensource/sca.pdf) qui est un *partage* de copyright (donc pas d’abandon de propriété intellectuelle). Il n’y a d’ailleurs pas que des contributeurs individuels: Oracle a signé le SCA en contribuant TopLink et maintenant EclipseLink à GlassFish. Au delà du dual-licensing, le SCA sert à Sun de gage d’authenticité du code et permet de proposer de la protection juridique (indemnification) à ses clients.

    Pour ce qui est de Swing, je suis déçu de voir qui colporte de tels ragots et me demande quel est leur intérêt à le faire… Rich Bair sera à Paris le 12 Décembre. L’occasion de faire le point sur Swing ET JavaFX.

    « toutes les conditions soient réunies pour que le buzz  »
    Le buzz tient à peu de choses et finalement rarement réelement orchestré :)

    Merci pour cette revue de presse, c’est toujours un plaisir à lire (et à commenter :) !

Laisser un commentaire