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éé.

Commentaire

6 réponses pour " Revue de Presse Xebia "

  1. Published by , Il y a 15 ans

    La mort du SOA est très largement exagérée. Quant aux analystes… pfff. Disons que, comme des critiques de cinémas, ils sont nés en espérant être acteurs ou réalisateurs avant d’admettre la triste réalité.
    Pour NetBeans, l’intégration avec GlassFish Prelude couvre également Groovy/Grails. Guillaume va crier au complot! :)
    -Alexis, supporter de Jersey *et* Metro.

  2. Published by , Il y a 15 ans

    En ce qui concerne la sortie de Netbeans 6.5, dans la partie « l’amélioration et l’intégration de nouvelles technologies de développement » et les plugins liés, il faut noter l’ajout du nouveau plugin pour Scala : http://www.scala-lang.org/node/353

    Dans les infos intéressantes, il manque aussi la sortie de Tapestry 5 en RC (http://tapestryjava.blogspot.com/2008/11/tapestry-5016-release-candidate-it-out.html , et une RC2 qui a suivi cette semaine), après presque 20 mois depuis la première release 5.0 publicque.
    C’est intéressant parce que Tapestry 5 semble avoir un certain succès et de belles références en France avec le lancement du nouveau site de Météo France (qui accuse ses 800 000 visiteurs/jour).
    La finale pour noël ?

  3. Published by , Il y a 15 ans

    Mort du SOA ? Le *billet* de chez Gartner est ironique : il décrit les médiocres raisons pour lesquelles un projet SOA échoue (manque de sponsor, …). En faire une lecture au premier degré, et conclure que *Gartner Group* pense que SOA est mort, c’est singulièrement manquer d’a propos.

  4. Published by , Il y a 15 ans

    @Bruno,

    Je perçois plus de l’humour que de l’ironie dans le billet de Frank Kenney (Gartner). Comme je vois de l’humour dans le titre de la conférence que le Gartner organise le mois prochain : SOA Horror Stories: Seven Common SOA Mistakes and How to Avoid Them.

    Je vous rejoins complètement sur le fait que SOA n’est pas mort. Certains principes apportent beaucoup de valeur aux entreprises (cf Enterprise Integration Patterns, etc) mais SOA est très difficile à mettre en oeuvre. Les attentes de SOA ont été excessives et les résultats trop souvent décevants.
    La gouvernance a été un des principaux points d’achoppement : peu d’entreprises ont accepté les changements d’organisation que demandaient les approches SOA.

    Le Hype Cycle semble s’appliquer à SOA : après un engouement qui a souvent manqué de réalisme, nous entrons dans la phase de désillusion. Les retours sur des échecs de projets SOA fleurissent en ce moment (notamment chez Gartner et Burton Group).

    Et non, nous ne croyions pas que SOA est mort, après la phase de désillusion, le Hype Cycle du Gartner prédit un retour à la normale avec une vision plus réaliste des choses.

    Cyrille (Xebia)

  5. Published by , Il y a 14 ans

    I apologize I can’t write French very well, so I will respond in English to the question about the relationship between Distributed OSGi and SCA in the OSGi news item.

    Distributed OSGi is simply a mechanism to extend OSGi properties to mark a service as being remote, or remotable. The actual middleware used to implement the distributed features is configurable. In the case where a single middleware system is used, SCA isn’t really used. A set of « intents » which are like abstract policies are derived from SCA to identify special qualities of the remote service, especially so a service requester can discover the remote service it wants.

    When multiple middleware systems are involved in the solution, SCA is used as the single example of extended metadata (the metatada type for extended metadata can be defined, but to date we have only specified SCA as an additional metadata type).

    I should add that the basic model is really to extend OSGi and remain as compatible with existing OSGi mechanisms as possible. Service discovery is not changed but if you discover that a service you want to invoke is remote, the next step is to obtain the necessary metadata to configure the middleware.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nous recrutons

Être un Sapient, c'est faire partie d'un groupe de passionnés ; C'est l'opportunité de travailler et de partager avec des pairs parmi les plus talentueux.