Il y a 13 ans -

Temps de lecture 4 minutes

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

Le coin de la technique

Actualité éditeurs / SSII

Jackson 1.6

Une nouvelle version majeure de la célèbre librairie de sérialisation/désérialisation de JSON est à présent disponible. Parmi les nouveautés quatre sont mises en avant:

  • Possibilité de mettre à jour un objet à partir d’une donnée JSON et non plus d’uniquement le recréer. Par exemple si on a déjà un objet properties et qu’on veut mettre à jour ses valeurs on peut le faire comme ça:
mapper.updatingReader(properties).readValue(jsonWithOverrides);
  • Les relations père/fils sont améliorées. On perdait la relation bidirectionnelle lors de la désérialisation (la plupart du temps on retirait le lien vers le père). A présent il est possible de garder ce lien grâce aux annotations @JsonManagedReference et @JsonBackReference.
  • Apparition de MrBean qui permet de concrétiser une interface lors de la désérialisation. Imaginons qu’on ait une interface Bean, on peut à présent coder de la façon suivante et Jackson s’occupe de fournir l’objet implémenté:
Bean value = mapper.readValue("... du code JSON ...");
  • Apparition d’une factory Smile pour gérer un format binaire du JSON. D’après les auteurs ce format permet une compression de 25% à 50% pour un gain de vitesse similaire. Jackson annonce concurrencer Avro, Thrift ou Protocol Buffers dans ce domaine.

Pour ces deux derniers points il est nécessaire d’inclure les deux librairies jackson-mrbean-1.6.0.jar et jackson-smile-1.6.0.jar.

D’autres améliorations ont été apportées, comme la possibilité de définir la façon dont est sérialisée une Enum (par défaut c’était le .name() qui était utilisé) ou sur les performances. Sur ce dernier sujet, vous pouvez retrouver notre récent comparatif.

Le coin de la technique

Sortie de Drools 5.1

Le fameux moteur de règles Open Source, Drools, est disponible dans sa nouvelle version, 5.1 depuis le début du mois de septembre.

Cette version s’est focalisée sur l’intégration à des tierces frameworks :

De plus il y a diverses améliorations :

  • Implémentation BPMN2 pour le moteur de workflow de Drools,
  • Optimisation de l’algorithme de Rete pour réduire la consommation mémoire et ainsi fournir un meilleur dimensionnement lorsque Drools traite un grand nombre d’objets (de faits),
  • Monitoring avec JMX,
  • L’IHM Web de Drools, Guvnor a amélioré son apparence graphique et a reçu de nouvelles fonctionnalités,
  • et bien d’autres encore etc…

Ainsi avec Spring, Drools pourra être initialisé et configuré de la manière suivante :


Replanification de la sortie de Java 7

Tout reste encore hypothétique mais Java 7 pourrait sortir moins en retard que prévu. Initialement planifiée pour septembre 2010 (maintenant!), il semble qu’une implémentation complète de toutes les fonctionnalités de Java 7 ne soit possible avant mi-2012. Mais Mark Reinhold, le responsable chez Oracle de Java 7, a proposé un plan B qui découperait le périmètre de Java 7 en deux. Une première version sortirait mi-2011, qui serait donc la version Java 7 officielle et une deuxième mi-2012, qui deviendrait donc Java 8.

Le périmètre de cette nouvelle version 7 n’est pas encore strictement défini. Seraient retirés du scope:

Par contre il est vraisemblable que ce qui est déjà utilisable dans les builds actuels se retrouvera dans cette version. Joseph Darcy liste les fonctionnalités possibles du projet Coin ici. Pas mal d’optimisations autour de la JVM feraient également leur apparition. Le fameux invokedynamic (JSR-292) serait aussi de la partie, permettant de nombreuses optimisations pour les langages dynamiques qui tournent sur la JVM comme Groovy ou JRuby. Et plein d’autres fonctionnalités qui trépignent dans leur coin.

4 ans après la sortie de Java 6, une certaine attente s’est créée dans la communauté Java. Cette proposition de nouvelle planification avait des allures de sondage auprès des développeurs et à lire les diverses réactions ici et , il y a de grandes chances qu’Oracle suive le plan B.

CouchDb se met au Java

La nouvelle est passée sur InfoQ la semaine dernière. Les équipes de Cloudant l’éditeur développant CouchDB, ont développé un View Server pour Java. Jusqu’alors, ce no SQL, ne supportait le map-reduce qu’avec des langages interprétés comme JavaScript et Python. Avec ce nouveau système, il devient possible de développer en Java son propre map-reduce. Il suffit d’implémenter l’interface JavaView. Le système repose sur une sérialisation JSON à l’aide de la librairie JSON.org. Pour le moment, le Java View Server n’est disponible que sur le service BigCouch hébergé par l’éditeur. Voilà une preuve, si il en fallait une, de la bonne santé du projet. Ce nouveau support permettra au plus grand nombre de tester plus facilement CouchDB, d’autant qu’il ouvre à moyen terme la possibilité d’utiliser un langage de nouvelle génération sur JVM comme Scala et Groovy pour les inconditionnels du genre.
Vous pouvez d’ores et déjà tester le service en démonstration sur le site http://cloudant.com/.

La nouvelle sur InfoQ

Commentaire

6 réponses pour " Revue de Presse Xebia "

  1. Published by , Il y a 13 ans

    Java 7:
    Les pointeurs compressés en 64 bits sont déjà dans les dernières 1.6, donc ce n’est pas une nouveauté, non?

  2. Published by , Il y a 13 ans

    @Arnaud

    Effectivement vous avez raison, il est possible d’utiliser cette option de la JVM depuis la version Java 1.6 update 14 grâce à l’argument « -XX:+UseCompressedOops ». Cette optimisation a été introduite pendant les travaux sur la JDK7.

    La remarque sur cette partie a été retirée.

    Guillaume (Xebia)

  3. Published by , Il y a 13 ans

    Le plan B me semble le meilleur :
    – ceux qui n’en peuvent plus d’attendre et les early adopters seraient enfin ravis.
    – les attentistes pourraient tjrs se retourner vers le « Service Pack 1 » aka JDK 8.

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.