Il y a 15 ans -
Temps de lecture 7 minutes
Revue de Presse Xebia
La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.
Agilité
RIA
Le coin de la technique
- Java Module System (JSR 277) vs. OSGI. La réconciliation ?
- CXF devient un Top Level Project de la fondation Apache
- Nouvelles de la communauté Maven
- Mule 2, une refonte pour aller plus loin
- Spring Security 2.0 : Acegi Security en plus simple
Agilité
Succès et échecs avec Scrum en Chine
Jacky Li d’InfoQ China a étudié l’adoption de Scrum dans les entreprises chinoises. Elles ont essayé Scrum pour différentes raisons : leurs besoins changeaient trop souvent, nécessité de livrer fréquemment, ou parce que leur ancienne approche ne leur permettait plus de s’améliorer.
Parmi les 5 cas retenus, 3 compagnies ont adopté Scrum avec succès, les 2 autres ont essuyé un échec. Comme on apprend beaucoup aussi d’un échec, voici les raisons évoquées par les 2 sociétés concernées :
- certains dirigeants n’ont pas compris l’agilité, ils ont transformé les « daily scrum » en « daily report » (rapport journalier) avant de les abandonner
- le 2e cas est une équipe offshore qui a abandonné les stand-up meetings et les plannings meetings, et où les développeurs priorisaient eux-mêmes les fonctionnalités du product backlog à implémenter
Même dans les cas de succès, l’un des principaux problèmes lors de l’adoption reste la mauvaise compréhension de Scrum et des principes agiles par les dirigeants et leurs collègues.
A noter qu’une des sociétés interrogées a mené une enquête au sein de ses équipes : 68% se trouvent plus productifs avec Scrum qu’avec leur ancienne approche…
RIA
Top 10 des problèmes des applications Flex
Dans cet article, l’équipe de James Ward nous présente les erreurs et/ou problèmes que peuvent engendrer la mise en place d’applications Flex.
Ainsi, nous apprenons que des problèmes de standard (bouton retour, bookmarking…) et de manière de concevoir les applications Web apparaissent. Au niveau des transferts de données, Flex en propose plusieurs types (XML, SOAP…) mais certains d’entre eux posent des problématiques de performances.
Néanmoins, des pistes de solutions sont citées comme entre autres l’utilisation de BlazeDS, pratique à utiliser avec du Java en backend.
Flex permet d’élaborer des IHM avec de nombreuses animations, mais trop d’animations tue l’animation. Il est donc conseillé de ne mettre de l’animation lorsque celle-ci est réellement nécessaire.
Etant donnée leur jeunesse, les projets Flex n’ont pas encore d’écosystème de développement et d’intégration (ie intégration continue, tests unitaires…). Cependant, de plus en plus d’outils et de plugins apparaissent (FlexUnit, FlexCover, plugin Maven…) et doivent être mis en place au même titre que des projets « classiques ».
Enfin trouver des développeurs Flex sur le marché est difficile, mais pour des personnes étant familières avec le monde Web et la programmation d’UI, l’apprentissage du langage Flex (ActionScript) ainsi que de ses API ne devrait pas être un grand frein à la percée de Flex sur le marché.
Le coin de la technique
Java Module System (JSR 277) vs. OSGI. La réconciliation ?
La grève des scénaristes à Hollywood n’aura finalement pas touché tout le monde. Si certaines de vos séries préférées ont été écourtées cette année, heureusement il n’en est pas de même partout. Plus haletant que 24, voici le pitch du nouvel épisode de la série : « Java Module System vs. OSGI ».
Résumé des épisodes précédents :
Sun a décidé de proposer une nouvelle solution d’assemblage de composants en ignorant les solutions (à peu près similaires) existantes. Au programme de cette solution : offrir le versionning, la gestion des dépendances, le stockage, packaging et distribution d’un nouveau type d’archive : le JAM. L’objectif étant d’inclure ces fonctionnalités dans la prochaine version du jdk dont voici l’overview.
La JSR 277 : Java Module System a donc été lancée. Pourtant, de par les (trop) nombreuses (houleuses) discussions, les spécifications ont commencé à prendre un certain retard. Ce retard devenant inquiétant, un nettoyage a été demandé au sein de l’expert group chargé de valider les spécifications. Concernant OSGI, aucune véritable prise de position n’a été communiquée par Sun.
Nouveautés de la semaine :
Bryan Atsatt, membre de l’expert group, essaye de calmer le jeu en exposant certains bénéfices qu’OSGI pourrait tirer d’une intégration fine de ces bundles avec Java Module System. De son coté, Sun fait une annonce, peut être la principale sur ce sujet de la semaine : la prochaine version de leur serveur d’application Glassfish sera modularisée … et un prototype existe : basé sur Felix (l’implémentation Apache d’OSGI R4).

Pour le moment, d’après le blog de Sahoo dont nous avons repris le schéma ci-dessus, cela ressemble plus à une cohabitation entre bundles HK2 et OSGI. Par la suite, l’idée est de transformer les bundles HK2 en une surcouche à OSGI, puis de la faire disparaître peu à peu.
- L’annonce de Jérôme Dochez, tech lead Glassfish : GlassFish V3 runs on OSGi.
- Sanjeeb Kumar Sahoo : GlassFish on OSGI – Part 1.
- Téléchargez GlassFish V3 Preview 2 pour voir les instructions osgi (
Export-Package
etRequire-Bundle
) dans les manifests aux côtés de leurs équivalents HK2.
D’autre part, Mandy Chung, qui travaillait auparavant sur les APIs de management du Java SE, annonce sur son blog qu’un nouveau challenge se présente à elle : l’interopérabilité entre Java Module System et OSGI.
Affaire à suivre.
CXF devient un Top Level Project de la fondation Apache
Le framework SOAP CXF, successeur de XFire, quitte l’incubateur de la fondation Apache pour devenir un Top Level Project.
Quels impacts pour les utilisateurs ?
- A court terme, le support de JAXB 2.1 et de JAXWS 2.1 avec la release CXF 2.1 qui attendait que le projet quitte l’incubateur et la disparition des messages d’erreur lors de l’édition des fichiers XML qui référencent des schémas XML de CXF (CXF-957).
- A plus long terme, le renforcement de CXF face à ses concurrents JAXWS-RI et Axis 2. On notera sur ce point que le nouveau Mule 2 à choisi CXF pour remplacer XFire.
Cette promotion est l’occasion de regarder le fonctionnement de la Fondation Apache.
Nouvelles de la communauté Maven
Vous trouverez sur le blog d’Octo quelques nouvelles de la communauté Maven, avec en particulier la sortie de Maven 2.0.9 annoncée la semaine passée, et la liste des plugins principaux mis à jour ces deux derniers mois.
Mule 2, une refonte pour aller plus loin
Le célèbre ESB Open Source Mule annonce la sortie de sa version 2.0, une remise à plat de l’architecture interne de l’ESB préalable au développement de nouvelles technologies telles que SCA et OSGI.
On notera :
- La refonte des API et de la configuration qui repose désormais sur la configuration XML par namespace introduite avec Spring 2.0.
- Le framework d’évaluation d’expression (XPath, Groovy, etc) pour faciliter le traitement des messages.
- La généralisation du modèle de streaming qui évite la représentation complète en mémoire des messages (HTTP, file, etc).
- L’écartement du standard JBI comme le rappelle Ross Mason dans JBI misses mark.
- L’annonce d’un probable support de SCA.
Nous aurions aimé :
- L’OSGI-fication de l’ESB à l’instar de Websphere ESB, de BEA Aqualogic et du prochain ServiceMix 4. Ce chantier est annoncé pour la version 2.1 (cf MULE-981) mais nous pouvons craindre que son ampleur nécessite plus qu’un changement de release mineur et relève plus d’une version 3.
- L’intégration limitée des Enterprise Integration Patterns alors qu’Apache Camel et Spring Integration en font leurs éléments principaux de routage [1].
Si cette refonte de Mule est pleine de promesses, l’absence de technologies phares comme OSGI, SCA et les Enterprise Integration Patterns font hélas de Mule un produit en retrait face aux ‘lightweight ESB’ que sont Apache Camel et Spring Integration.
Spring Security 2.0 : Acegi Security en plus simple
Le très réputé framework de sécurité Java Acegi profite de sa release 2.0 pour rejoindre le giron de SpringSource et devenir Spring Security 2.0.
On notera de cette release :
- La grande simplification et une configuration beaucoup moins verbeuse grâce à :
- Une configuration XML Spring à base de namespaces
- Une configuration XML Spring à base de namespaces
- Exemple de configuration :
- Le support du standard émergent de Web SSO OpenID (notamment utilisé par Google, IBM, Sun et Yahoo) ainsi que de l’authentification Microsoft NTLM.
- L’amélioration de la gestion des utilisateurs, des groupes et des rôles qui deviennent hiérarchiques.
L’intégration au portfolio Spring et la grande simplification de la configuration en font un framework incontournable de l’écosystème Java.
Commentaire