Il y a 14 ans -
Temps de lecture 5 minutes
Revue de Presse Xebia
La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.
RIA
Le coin de la technique
- JPA implementation patterns
- HadoopDB : un hybride entre MapReduce et DBMS
- Gaelyk ou Groovy sur AppEngine
- PostGIS, le SIG Open Source qui monte
Evènements de notre communauté en France et à l’étranger
RIA
Mockito-Flex
Un mois après la sortie de la version 1.0, Mockito-Flex se met à jour en 1.0.1. Une release mineure donc mais qui apporte toutefois son petit lot de nouveautés (matchers anyOf(type:Class)
, notNull()
…).
Les utilisateurs de Mockito ne seront pas perdus, le code Flex étant très similaire au code Java que ce soit pour les assertions ou pour le verify
:
var list:ArrayCollection = ArrayCollection(mock(ArrayCollection, "collection", [[]])); given(list.getItemAt(1)).willReturn("A"); assertEquals("A", list.getItemAt(1)); assertNull(list.getItemAt(2)); ... var array:Array = mock(Array) as Array; array.push("1"); array.pop(); verify().that(array.push("1")); verify().that(array.pop());
Le projet est très récent et néanmoins en bonne voie : article sur InfoQ, mailing-list, tutoriel… Comme toujours, rendez-vous est pris dans la section téléchargements.
Le coin de la technique
JPA implementation patterns
Vincent Partington, collègue de Xebia Hollande, a réalisé une série d’articles autour de la spécification JPA. Ses articles sont un complément à la documentation existante afin de faire le tour sur les fondamentaux et les faux-amis de JPA :
- Dao générique
- Persister, retrouver, effacer une entité
- Pattern d’architecture : Pour ou contre les DAO, DTO ou facade service, …
- Et bien d’autres patterns …
JPA et ses implémentations (telle qu’Hibernate) restent une technologie difficile à maitriser, et ces articles vous aideront à prendre des décisions techniques importantes pour vos projets.
HadoopDB : un hybride entre MapReduce et DBMS
Daniel Abadi a présenté HadoopDB, un projet issu des universités de Yale et de Brown, qu’il qualifie d’hybride entre MapReduce et DBMS classique. Il s’agit d’une extension pour Hadoop et Hive qui permet d’utiliser une base de données en remplacement de HDFS, le file system distribué utilisé par Hadoop.
Concrètement chaque nœud Hadoop embarque son propre serveur de base de données. HadoopDB reçoit des requêtes SQL qu’il analyse, traduit en tâches MapReduce qui seront envoyées sur chacun des nœuds du cluster Hadoop, puis retraduites en SQL pour être finalement exécutées par la base de données sous-jacente (SQL to MapReduce to SQL Planner).
L’ensemble du projet est décrit dans la publication qui lui est consacrée. Celle-ci présente en détail les réflexions qui ont accompagné la conception d’HadoopDB et les performances obtenues faces à des DBMS parallèles dédiés à l’analyse de données tels que Vertica. Si les performances mesurées d’HadoopDB sont en léger retrait face à Vertica, l’auteur met en avant que sa solution repose uniquement sur des technologies Open Source et qu’une base de données relationnelle (PostgreSQL) a été utilisée : il espère de meilleurs résultats en utilisant une base de données orientée colonnes.
Gaelyk ou Groovy sur AppEngine
Parmi les sujets traités régulièrement sur notre blog, on retrouve Groovy et Google AppEngine (GAE). Qu’obtient-on en mélangeant ? Et bien le dernier projet de Marcel Overdijk et de Guillaume Laforge à savoir Gaelyk (annonce).
Le toolkit s’appuie sur Groovlets et Groovy Template, et permet de déployer rapidement de petites applications sur GAE. Les auteurs rappellent en effet que pour de plus grosses applications, il vaut mieux se tourner vers Grails.
Le tutoriel très complet permet de faire un rapide tour d’horizon de Gaelyk.
Celui-ci décrit l’arborescence d’un projet Gaelyk, la configuration du web.xml
et du appengine-web.xml
.
La partie vues et contrôleurs s’intéresse :
- aux variables implicites mises en place par la servlet principale (
eager
avecrequest, response, context, session
… etlazy
avecout, html...
), - aux Groovy Templates, avec plusieurs exemples de
gtpl
, gestion desincude
etredirect
, - aux Groovlets, avec là aussi plusieurs exemples de scripts.
Enfin, une dernière partie détaille les ajouts de syntaxes/méthodes spécifiques à Google AppEngine (envoi de mails, Entity
, withTransaction()
…) et explique comment déployer son application.
Un exemple d’application qui utilise Gaelyk est la Groovy Web Console, ou l’écriture de code Groovy live. Alors, un petit HelloWorld ?
PostGIS, le SIG Open Source qui monte
Les SIG (Systèmes d’Information Géographique) prennent de nos jours une nouvelle dimension avec la généralisation progressive de terminaux mobiles connectés à Internet et capables de se géolocaliser ou encore avec les sites Web riches proposant des cartes, des calculs d’itinéraires ou des recherches du plus proche point de vente. A travers cette évolution, un plus grand nombre d’entreprises peut potentiellement être intéressé par les SIG.
Alors que pendant un temps les principaux acteurs sur ce marché étaient des produits commerciaux, on trouve désormais une offre Open Source : MySQL Spacial, H2Spacial, SpacialLite et PostGIS.
Au sein de cette offre, PostGIS, une extension de PostgreSQL qui a fait son apparition il y a 4 ans, se distingue par sa maturité et sa popularité. Ainsi, l’éditeur Manning a récemment annoncé un ouvrage qui lui sera consacré pour début 2010.
Le site du projet vient d’annoncer la disponibilité de la version 1.4 de PostGIS apportant son lot d’améliorations et de corrections. Le driver JDBC dédié, composé principalement d’extensions à l’API JDBC standard, est lui aussi mis à jour, on le trouve dans la même archive que PostGIS.
Evènements de notre communauté en France et à l’étranger
Enquête JavaEE 6
Sun, via TheServerSide, relance la communauté Java pour ses cinq enquêtes à thème auprès des développeurs JavaEE6. Ces enquêtes doivent servir à optimiser les cours et les certifications JavaEE 6. Si vous êtes prêts à donner cinq minutes de votre temps à l’amélioration de la formation Java, n’attendez plus, vous avez jusqu’au 31 juillet.
Commentaire