Il y a 13 ans -
Temps de lecture 4 minutes
Revue de Presse Xebia
La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.
Le coin de la technique
SOA
Le coin de la technique
Simplifier vos DAO Appengine avec SimpleDS
SimpleDS est un framework donnant accès au datastore de Google App Engine et qui se situe entre le service bas-niveau fourni par Google et les API JPA/JDO, pas toujours adaptés aux cas particuliers du framework de Google qui manipule une base non-relationnelle.
Les habitués des annotations JPA ne seront pas perdus, la syntaxe est assez proche. Par exemple pour définir un Pojo à persister:
@Entity public class Employeur { // Seuls les identifiants Key sont acceptés @Id(parent=Parent.class) @GeneratedValue private Key key; // Par défaut le champ est persistant private String nom; @Transient private int champTransient; // On peut utiliser directement les types de App Engine private Link lien; // Relation directe vers une autre entité @Embedded private Projet projet; }
Ensuite un EntityManager spéficique à SimpleDS va s’occuper de la transformation de cet objet en une entity App Engine à l’aide de la méthode javaToDatastore. Dans les cas simples, cette transformation n’est pas nécessaire:
Employeur employeur=new Employeur("Durand"); // Persister un objet Key key=entityManager.put(employeur); // Récupérer un objet employeur=entityManager.get(key);
Tout en étant simple la plupart des fonctions qu’on attend d’un entity manager sont là, comme par exemple la pagination ou les transactions. Le projet est relativement jeune (première version en octobre 2009), le 4 mai dernier une version 1.0_RC1 est sortie avec de nouvelles fonctionnalités intéressantes:
- gestion du cache : l’ajout du cache se fait tout simplement en ajoutant @Cacheable à la classe. Il existe un cache de premier niveau (dans le thread courant) et de second niveau (sérialisation de l’objet et stockage dans le datastore mais avec un timeout).
- tâche de fond : Une requête App Engine interrompt toute requête dépassant les 30s. SimpleDS propose d’englober certaines requêtes dans des tâches. Par exemple si on veut mettre à jour un nombre important d’utilisateurs, on fournit la requête récupérant les utilisateurs puis la méthode faisant la mise à jour sur chaque utilisateur. La récupération se fera par lot (150 par défaut) pour rester en deçà des 30 secondes.
- Functions (Google Collections) : SimpleDS propose d’utiliser Google Collections pour appliquer une fonction à des listes de résultats (Collections2.transform). On peut ainsi éviter dans certain cas le problème du n+1.
Pour les développeurs forcenés de JDO ou JPA, SimpleDS semblera sans doute trop limité. Mais l’approche pragmatique et centrée sur App Engine est plutôt bien pensée et pour les projets demandant une mise en production rapide, cette solution semble adéquate. Un projet à suivre !
Double sortie de Grails en version 1.3
Le fameux framework web basé sur Groovy est sorti en version 1.3. Parmi les nouveautés apportées par cette dernière mouture stable on peut noter :
- l’intégration de Groovy 1.7
- le support de JUnit 4
- le support des repository Maven pour l’installation et la publication de plugins
- la possibilité de chaîner des requêtes Criteria nommées
La version 1.3.0 sortie en début de semaine dernière, a été suivie de près (5 jours) par la 1.3.1 pour corriger plusieurs problèmes relevés par les early-adopters. Il est rassurant de voir la réactivité de la communauté et de l’équipe Grails. Pour plus de détails, voir les release notes :
Nous en profitons pour signaler que Developpez.com vient d’ouvrir un forum dédié à Grails. Ce dernier a aussi vu GORM, son moteur de persistance basé sur Hibernate, documenté par les polonais de javaexpress.pl qui lui dédient un long dossier.
SOA
Nouvelle console de management pour Mule ESB
Après s’être longtemps allié à Hyperic pour fournir sa solution de supervision et suite au rachat de ce dernier par SpringSource, MuleSoft s’est attelé au développement d’une nouvelle console de management et celle-ci vient enfin d’être dévoilée au grand jour. La solution se présente sous la forme d’une application Web déployable sur tout serveur d’application JEE et d’un agent mule à déposer dans les installations de mule qu’on voudrait superviser. Ainsi les différents agents se connecteront à l’application déployée pour lui fournir toutes les informations pertinentes, à destination des équipes d’exploitation (consommation mémoire, CPU, etc) et de celles de développements (liste des services déployés, les différents endpoints, les messages qui transitent, les alertes ..). Ci-après quelques illustrations de la console en action.
Supervision mémoire CPU :
Liste des services déployés :
Audit d’un service :
Commentaire