Publié par

Il y a 9 années -

Temps de lecture 6 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

RIA

Le coin de la technique

Actualité éditeurs / SSII

Apache Whirr, une proposition de librairie pour le Cloud

Whirr est une proposal intéressante qui vient d’apparaître au sein de la fondation Apache. Il s’agit de réunir au sein de ce projet tout un ensemble de scripts et de code source permettant d’intégrer facilement des services Apache avec les fournisseurs d’infrastructures de Cloud Computing. Parmi les première applications / services dont il est question, on compte sans grande surprise Hadoop (implémentation Java du modèle MapReduce de Google), HBase (implémentation de BigTable de Google au dessus d’Hadoop), ZooKeeper (service de configuration, nommage et synchronisation pour applications distribuées, implémentation Java de Chubby de Google), et Cassandra (base de données hybride BigTable et Dynamo, initialement développée par Facebook). Ces projets ont en effet acquis une grande popularité en quelques mois et font maintenant partie des applications typiques du Cloud Computing.

La raison d’être du projet est de mutualiser les efforts fournis par ces projets pour fournir des scripts et des mécanismes d’intégration de qualité sur les plate-formes de Cloud Computing. Au-delà de ces justifications techniques, on remarquera qu’il s’agit d’une véritable reconnaissance du Cloud Computing en tant qu’enjeu d’avenir. En effet cette proposition intervient dans un contexte où les projets liés à ce sujet se multiplient au sein de la fondation Apache, puis acquièrent leur indépendance : après la promotion de Cassandra hors de l’incubateur Apache, c’est au tour de HBase d’être promu top-level project sortant donc de l’affiliation au projet Hadoop. Enfin, on notera que les acteurs impliqués dans la proposition Whirr sont majeurs : Cloudera, Twitter ou encore HP Labs.

RIA

Où l’on reparle de JavaFX

JavaFX a beaucoup fait parler d’elle après sa sortie fin 2008. Elle n’avait guère convaincu : on lui reprochait de ne pas être mature, de ne pas offrir de composants graphiques de haut niveau, de ne pas tenir ses promesses de déploiement sur plusieurs plates-formes puisqu’il n’était alors pas possible de l’utiliser sur TV et sur mobile comme cela devait être le cas.

En février 2009, la version 1.1 avait permis le déploiement des applications JavaFX sur mobile (tout du moins théoriquement). La version 1.2, sortie en juin dernier, avait été une autre étape majeure en introduisant enfin des composants graphiques évolués.

Lors de la conférence Devoxx de novembre dernier, il avait été amusant de constater que les sessions et keynotes dédiés à JavaFX, si présents lors de la précédente édition, avaient été remplacés par leurs équivalents Flex avec l’annonce en grande pompe d’Adobe Catalyst. JavaFX disparaissait peu à peu de l’actualité.

Oracle vient d’annoncer l’arrivée de la version 1.3. Les nouveautés sont incontestablement conséquentes :

  • Support étendu de CSS pour le design des widgets : JavaFX supportait déjà CSS, il va maintenant plus loin dans l’intégration de ce langage de style.
  • Le support des TV fait enfin son apparition : les TV faisaient historiquement partie des plates-formes de déploiement possibles pour JavaFX mais n’étaient pas accessibles jusqu’alors. Un émulateur de TV vient compléter ce support.

Pour rappel, l’équipe de développement de JavaFX expliquait que leur vision était qu’après une certaine période de développement, les différentes plate-formes RIA convergeront vers un niveau de fonctionnalités similaire et que JavaFX pourrait alors briller du fait de son intégration native à Java. Cette version 1.3 semble bien une étape pour rattraper le (grand) retard face à l’environnement RIA d’Adobe en terme de fonctionnalités, il sera alors intéressant de voir si JavaFX pourra maintenant rattraper son retard en terme d’adoption.

Le coin de la technique

Des breaks dans Scala !

Avec la sortie de la RC1 de Scala 2.8.0, la communauté est en ébullition et les articles sur les nouveautés de cette release majeure affluent sur la toile.

Ainsi, Scala ayant une syntaxe très allégée par rapport à Java, certains mots clés avaient tout simplement disparu du langage pour le malheur de certains java-istes. C’est le cas de break, souvent utilisé pour, par exemple, sortir d’une boucle, qui n’était jusqu’à présent pas disponible dans Scala. Le mot clé fait ainsi son apparition dans cette version 2.8.0, non pas en tant que mot clé mais en tant que trait/object.

La syntaxe sera donc un petit peu différente par rapport à ce que nous avions l’habitude d’utiliser en Java. Il faudra ainsi englober le code pouvant être arrêté dans un breakable, l’appel à break restant le même :

// Java
for(int i=0; i<10; i++)
   if(i==5) break;
   i++;
}

//Scala
breakable {
   for(int i=0; i<10; i++)
      if(i==5) break;
      i++;
   }
}

Rendez-vous sur cette page pour télécharger cette RC1 de Scala 2.8.0 et essayer de toute urgence les breaks mais aussi les Package objects, la nouvelle API de collection, les paramètres nommés et par défaut, le tout nouveau REPL ainsi que beaucoup d’autres nouveautés !

Une troisième implémentation de JPA 2 finalisée

La communauté Java dispose maintenant d’une troisième implémentation de la JSR-317 (JPA 2.0) : OpenJPA 2.0. Ce projet de la fondation Apache est utilisé dans WebSphere AS et constitue de ce fait un choix d’implémentation pertinent.

OpenJPA succède donc à EclipseLink (qui étant l’implémentation de référence avait logiquement été finalisée en premier) et Hibernate (qui a finalisé sa version 3.5 conforme à JPA 2.0 le mois dernier).

Les nouveautés d’OpenJPA 2.0 se limitent avant tout au support de JPA 2.0 ce qui inclut :

  • La nouvelle API de construction de requêtes, basée sur l’interface QueryBuilder, qui standardise et étend l’API Criteria d’Hibernate.
  • L’intégration à la JSR-303 (Bean Validation) qui apporte une logique de validation uniforme pour toutes les couches d’une application JEE.
  • Une API de méta-modèle permettant de naviguer par programmation dans le modèle de données d’une unité de persistance.
  • Diverses améliorations des APIs JPA

JPA avait connu une très large adoption par la communauté Java, mais on lui reprochait parfois quelques manquements qui nécessitaient de recourir aux APIs propriétaires de son implémentation. Ces ajouts permettent de contourner ces limites et donc de supprimer dans la plupart des cas le recours au fameux entityManager.getDelegate().

Publié par

Publié par Xebia France

Xebia est un cabinet de conseil international spécialisé dans les technologies Big Data, Web, les architectures Java et la mobilité dans des environnements agiles. Depuis plus de 15 ans, nous avons la volonté de partager notre expertise et nos actualités à travers notre blog technique.

Commentaire

Laisser un commentaire

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

Nous recrutons

Être un Xebian, 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.