24 novembre 2008
Imprimer ce billet

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é

SOA

Le coin de la technique

Actualité éditeurs / SSII

OSGi : Spring dm Server standardisé pour l’été 2009 ?

Eric Newcommer, OSGi Enterprise Expert Group (EEG) co-chair, présente dans « OSGi for the Enterprise Gets a Bit Closer & LinkedIn Too » l’avancement de l’EEG qui a pour ambition de faire coïncider la fin de ses travaux avec la sortie d’OSGi R4.2 annoncée pour Juin 2009.

On y apprend que la « RFC 124 / Blueprint Component Model » est quasiment finalisée, son implémentation de référence (RI) est SpringSource dm Server dont elle a repris les principes ; le Test Compatibility Kit (TCK) est développé par le projet Apache Geronimo. Souhaitons que cette standardisation de dm Server permette à SpringSource de reverser le contenu de son Enterprise Bundle Repository dans l’officiel OSGi Bundle Repository de l’OSGi Alliance et que la prolifération de bundles customisés par les grands acteurs de l’OSGi prenne fin.

Par ailleurs, « RFC 119 / Distributed OSGi » serait elle aussi prête. Apache CXF est en charge de la Reference Implementation (Cf. First Ever Demo of Distributed OSGi) et Tibco s’occupe du Test Compatibility Kit. Nous remarquerons que Distributed OSGi reprend certains principes de Service Component Architecture (SCA) et que le positionnement des deux technologies manque encore de clarté. De plus, à la différence de « Blueprint Component Model » avec Spring dm Server, Distributed OSGi ne connaît pas encore de « vraie » implémentation.

Agilité

La fin de l’Agilité ?

Le prix du buzz de la semaine revient incontestablement à James Shore pour son article The Decline and Fall of Agile. « Jim » raconte qu’il a noté un changement dans son métier : avant on l’appelait pour introduire les méthodes agiles sur les projets, aujourd’hui on l’appelle pour secourir des projets soi-disant « agiles ».
Et par « agile » la plupart des clients entendent Scrum, la méthode la plus répandue. Il reproche à Scrum son silence sur les pratiques d’ingénierie logicielle à mettre en place (contrairement à XP), pourtant indispensables à la viabilité d’un projet. Il critique également la Scrum Alliance et son système de certification ScrumMaster qui donnent l’impression que l’agilité est facile. La nature humaine nous incite à ne choisir que les côtés agréables (les sprints et les daily scrums) mais nous ignorons les côtés plus difficiles, qui sont aussi les plus importants : équipe co-localisée, auto-organisée, produit livrable à chaque fin d’itération, élimination des obstacles.

Cet article a déclenché de vives réactions dans la communauté agile, certaines un peu puériles, d’autres plus constructives. Sur InfoQ par exemple, le Gartner Hype Cycle est évoqué pour expliquer ce déclin. Après un pic d’attentes irréalistes concernant une technologie, celle-ci traverse un creux de désillusion avant de remonter pour atteindre son plateau de productivité. Les méthodes agiles traverseraient-elles actuellement ce creux ?

Le Touilleur cite Rob Bowley qui fait le rapprochement entre la déception de Scrum et l’engouement récent pour le Lean Software Development. Il prédit pourtant que le Lean subira le même sort que Scrum, pour les mêmes raisons. Selon lui peu importe la méthode, il y a toujours des personnes qui se concentrent sur les outils plutôt que sur les vrais problèmes. Ces personnes, qui échouent avec Scrum aujourd’hui, échoueront avec le Lean demain.

SOA

SOA : de la crise de doute à la désillusion ?

Nous évoquions en Mars dernier dans « 2008, annus horribilis de la la SOA ?«  la crise de doute qui s’emparait du Burton Group, grand chantre de la SOA. La crise s’accentue aujourd’hui avec l’autre évangéliste de SOA, le Gartner Group, qui nous gratifie de Ahh Shucks, SOA Is A Failure (Frank Kenney). À croire que le Gartner Group s’applique son célèbre Hype cycle et, après avoir loué SOA, tombe en pleine phase de désillusion.

Est-ce pour autant la fin de SOA ? Certainement pas, des ouvrages comme Enterprise Integration Patterns ou Developing in a Service-oriented World (Gregor Hohpe, Google) ont beaucoup apporté à l’intégration des Systèmes d’Information.

Quant aux cabinets de conseils qui ont parfois manqué de pragmatisme, ils ont trouvé des nouvelles marottes avec les architectures du moment : Representational State Transfer (REST) et Web Oriented Architecture (WOA) (Cf. Gartner – WOA: Putting the Web Back in Web Services ou Burton Group : The Tao Of REST), sans oublier les promesses mirobolantes du Software As A Service (SaaS) et du Cloud Computing !

Le coin de la technique

Seam 3 : les futures orientations de Seam

Gavin King, créateur d’Hibernate et Seam, présente les futures orientations de Seam3.

Il indique que Seam 2 était une première couche. Cette couche a pour responsabilité de gérer des composants à état, configurables et injectables pour le développement d’applications Web riches. Il permet de s’abstraire du code « glue » que l’on doit faire pour intégrer différentes technologies (JSF, JPA, …). Cette première couche est focalisée sur l’intégration de services à état côté serveur et sur la réalisation d’interface graphique (par défaut avec JSF).

Seam 3 ajoutera une seconde couche, qui aura pour responsabilité de faire de WebBeans le coeur de Seam, d’améliorer l’intégration de la sécurité, de Drools et jBPM. L’idée est de faire de Seam 3 un framework d’infrastructure basé sur Web Beans. Seam 3 permettra donc l’intégration de moteur de workflow et de moteur de règles qui devrait apporter de nouveaux outils pour la conception et la réalisation d’applications.

Seam 3 pourrait conduire à une réécriture de Seam 2 afin d’intégrer Web Beans.

A noter que le 2 décembre 2008 se tiendra une soirée JBoss au Paris JUG, dont la deuxième partie sera entièrement consacrée au framework Seam.

Sortie de Netbeans 6.5

Netbeans.org annonce la sortie de son IDE NetBeans 6.5 : NetBeans.org is proud to announce the availability of NetBeans IDE 6.5!.

Cette nouvelle version met à disposition des développeurs :

Netbeans s’avère une alternative de plus en plus crédible à Eclipse. Il possède des avantages non négligeables par rapport à ce dernier : meilleur support Javascript (et du développement Web avec PHP), support de Python, JavaFx, etc.

Pour plus d’informations, voici quelques screencasts qui montrent le fonctionnement de Netbeans : NetBeans IDE 6.5 Released; Introductory Screencast Released.

Sortie de SOAP UI 2.5

SoapUI est un outil graphique pour tester les services web. Il permet d’inspecter, invoquer, développer, créer des tests de charges et des tests fonctionnels sur des services web. Il apporte aussi des plugins pour Eclipse, IntelliJ IDEA et NetBeans.

SoapUI 2.5 apporte un grand nombre de fonctionnalités :

  • Inspection et invocation :
    • Importation et analyse de fichiers WSDL.
    • Appel des différentes opérations d’un service web.
    • SSL / authentification / sécurité WS.
  • Développement et validation :
    • Génération de stubs client et serveur pour les frameworks les plus populaires : Axis 1.x/2.x, XFire / CXF, JWSDP, Oracle, .NET, GSoap, JBossWS.
    • Génération de XML bindings pour JAXB et XMLB.
  • Tests fonctionnels :
    • Génération de séries de tests et de testcases sur la base du WSDL.
    • Utilisation de scripts « Groovy » pour l’exécution de tests.
  • Tests de charge :
    • Établissement de tests de charge à partir de testcases fonctionnels.
    • Établissement d’assertions, tant au niveau de la performance que de la fonctionnalité.
    • Analyse de performance pour des scénarios variés..

Pour voir la liste complète des fonctionnalités, rendez-vous sur le site du projet.

Très facile d’utilisation, SoapUI devient de plus en plus un leader incontournable dans le test des services web en open source. Il existe en version gratuite et open source et en version payante appelée « SoapUI Pro ».

Vous pouvez télécharger l’outil, ou l’utiliser directement avec le déploiement Java Web Start. Java 1.5 est indispensable à son utilisation.

Survol de l’architecture MySpace

InfoQ poursuit sa série sur les architectures des grands du Web 2.0, avec l’interview de Dan Farino, architecte principal du site communautaire MySpace.

Nous entrerons probablement moins dans les détails de cette architecture pour la bonne et simple raison que MySpace est l’un des seuls site internet de cette taille à tourner sous .Net. Cependant, les grands principes de performances qui permettent au site communautaire de gérer plusieurs millions de visiteurs par jour, et un contenu en constante augmentation, s’appliquent à n’importe quelle technologie.

  • Mettre l’accent sur l’automatisation : avec des fermes comportant plusieurs centaines de serveurs (300 serveurs web IIS frontaux par exemple), il est vital que toutes les opérations d’administration des serveurs soient automatisées à une large échelle.
  • La détection des anomalies est la première étape nécessaire à l’amélioration des performances : à cette fin, Dan Farino a dû écrire un outil de supervision sur mesure permettant de ‘tracer’ chaque requête à travers les centaines de serveurs de l’architecture. Cette problématique est relativement courante.
  • Pour chaque problème de performance ou de scalling détecté, l’équipe d’architectes de MySpace a favorisé la solution sur mesure aux nombreux outils ‘génériques’ proposés par Microsoft. On notera en particulier :
    • Le développement d’un système de cache spécifique, afin de s’affranchir des problèmes (connus) de GarbageCollection en .Net, et afin d’alléger la charge pesant sur les serveurs de DB.
    • Le développement d’un serveur de fichiers, en Linux, permettant d’adresser les fichiers aux utilisateurs finaux directement en HTTP, et gérant la redondance des fichiers audio, video (qui sont la vraie valeur ajoutée de MySpace).
    • Le développement d’un système d’introspection du code .Net en temps réel (mesure des temps d’appels, des allocations mémoire, levée d’exception, …) écrit en C++ (afin de monitorer le code .Net de la manière la plus indépendante possible).
    • La création d’un système de ‘load balancing’ spécifique, permettant de rapidement isoler un serveur défaillant et de n’impacter qu’un minimum d’utilisateurs.

Et bien sûr, MySpace respecte un principe que nous avons maintenant rencontré dans tous les sites gérant un trafic ou un contenu important, le partitionnement horizontal et vertical des bases de données, en fixant une limite d’un million d’utilisateurs par DB.

Les autres épisodes de la série disponibles sur notre blog :

Oracle sort son Incubateur Coherence

Oracle tente d’élargir la communauté ‘Coherence’ après l’ouverture du mois dernier de son nouveau site web Coherence Incubator. Veillez à ne pas comparer celui-ci à l’incubateur Apache, son fonctionnement est tout autre. ‘Coherence Incubator’ a été créé dans le but de regrouper un ensemble de projets d’exemples, chacun d’entre eux proposant une implémentation de référence pour un cas d’utilisation standard de l’outil. Il s’agit donc d’un ensemble de bonnes pratiques validées par Oracle. Oracle espère par ce biais faciliter l’accès à son outil.

Pour mémoire, Oracle Coherence se positionne comme l’une des solutions les plus complètes de grilles de données distribuées. Il permet de clusteriser vos applications sur un environnement hardware évolutif. Par exemple, l’ajout et la suppression de machine s’effectuent sans contrarier la réplication, la distribution et le cache de données au sein du cluster.

Un mois après sa sortie, l’incubateur Coherence contient les projets suivants :

  • coherence common : un regroupement de classes utilitaires et bonnes pratiques. Utilisés par les autres projets de l’incubateur.
  • Implémentation distribuée du command pattern.
  • Implémentation du functor pattern. Il s’agit d’une extension au ‘command pattern’ qui permet de renvoyer à l’appelant des valeurs de retour et des exceptions.
  • Implémentation partielle du pattern messaging. Messages non persistés, managés en mémoire par Coherence.
  • Implémentation du pattern Push Replication. Propagation des modifications des données, réplication.

Si le contenu de cet incubateur n’est pas encore très impressionnant, il aura le mérite de servir de bon point de départ aux futurs nouveaux utilisateurs de Coherence. Le nombre de cas d’utilisation est encore très faible ; reste à savoir à quelle vitesse Oracle enrichira-t-il celui-ci. Après un mois d’utilisation, seul un nouveau projet a été créé.