Publié par

Il y a 10 années -

Temps de lecture 7 minutes

Revue de Presse Xebia

Revue de Presse Xebia
La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.

Le coin de la technique

Evènements de notre communauté en France et à l’étranger

Le coin de la technique

Atmosphere se dévoile

Comme annoncé dans sa présentation à Devoxx en Décembre 2008, Jean-Francois Arcand a publié une première version alpha de son framework Atmosphere. Le but de ce dernier est de fournir un environnement plus simple et plus efficace pour le développement d’applications Comet que les solutions actuellement disponibles.

En effet, jusqu’à présent, il était nécessaire d’utiliser l’API propre au conteneur de Servlets utilisé pour pouvoir intégrer des échanges de type Comet dans son application.

L’API unifiée proposée par Atmosphere suit les dernières modes en s’appuyant massivement sur des annotations pour permettre au développeur de définir les méthodes à invoquer en réponse aux différents évènements intervenant lors d’un échange Comet. Cette API avait été brièvement présentée par son auteur, il y a quelques mois déjà.

Malgré cette perspective de simplification dans le développement, Comet reste une technique d’échange sur HTTP qui s’intègre mal avec les environnements d’entreprise, souvent parsemés de proxys assez stricts en terme de timeout.

JAX-RS 1.1 : l’intégration de la JSR-311 dans JEE 6

Après la finalisation de JAX-RS 1.0, une version 1.1 était prévue pour spécifier les modalités d’intégration dans le reste de l’environnement JEE 6 tel que défini par la JSR-316. Marc Hadley annonce la disponibilité d’un premier draft de cette révision 1.1. Bien que rien ne soit encore figé, l’analyse du changelog de ce draft se révèle très instructive. Outre quelques corrections, ajustements mineurs de l’API et apports de précision dans la spécification, les détails d’intégration à JEE se révèlent particulièrement alléchants :

  • Intégration aux Servlets : une application JAX-RS peut être déployée dans un .war sans déclaration dans le fichier web.xml dans le cas où un conteneur de Servlets supportant JAX-RS est utilisé. Avec un conteneur Servlets 3.0, il est même possible de s’abstenir de fournir une sous-classe de javax.ws.rs.core.Application.
  • Intégration aux EJB : il est possible de faire d’un session bean une ressource JAX-RS. Les providers peuvent quant à eux être des session beans stateless et singleton (tels que définis par JSR-318: EJB 3.1).
  • Intégration aux Beans JSR-299 (Web Beans) : les ressources, les providers et les sous-classes de Application peuvent être des beans JSR-299.

La spécification 1.0 finale ne couvrait que l’intégration à un conteneur de Servlets. Ceci faisait partie des regrets de la communauté. Bill Burke (_chief architect_ chez JBoss) avait notamment réagit dès les premières drafts en réclamant, entre autre, l’intégration aux conteneurs EJB.

Ces possibilités d’intégration à l’environnement JEE 6 sont très satisfaisantes et renforcent encore l’attrait de cette JSR qui devrait, à n’en plus douter, bénéficier d’une large adoption de la part des développeurs.

OpenJdk Project Coin, proposez vos évolutions syntaxiques

Avez-vous entendu parler du projet Coin ? Ce projet, porté par l’OpenJDK et le Compiler Group a pour but de sélectionner les petites évolutions du langage à intégrer au Jdk7. Sur quelle base ? Et bien c’est justement là où c’est intéressant ! Vous avez jusqu’au 30 Mars pour proposer vos évolutions. Si vous avez une idée de génie qui faciliterait à coup sûr la vie des développeurs, c’est le moment d’en faire part à la communauté. Après cette date, les meilleures propositions seront regroupées sous la forme d’une JSR.

Joseph Darcy effectue une synthèse régulière de la liste des propositions, les résumés des deux premières semaines sont disponibles sur son blog (semaine 1 / semaine 2).

Voici en vrac quelques-unes de ces propositions :

  • Rendre compatible les Switch avec les String
  • Permettre de déclarer des méthodes static dans les interfaces
  • Simplifier le nettoyage des ressources avec l’appel automatique de méthode close() dans certains blocs
  • Amélioration de la gestion des Exceptions

Contrairement à ce que nous pourrions penser, même si la mailing-list reste très active, la liste des propositions n’est pas si impressionnante que cela. C’est à croire que certaines ardeurs se sont refroidies sur le sujet. D’autre part, il est important de garder à l’esprit que rien n’est encore figé sur le sujet, cette liste ne sera définitive qu’à la sortie de la JSR dédiée.

Le stockage des données en nuage doit sacrifier les fonctionnalités des DB relationnelles… ou pas

David Chapell explique, sur son blog, pourquoi la majorité des plates-formes de Cloud Computing propose un stockage de masse hiérarchique et non pas relationnel.
Pourtant ce type de stockage pose de nombreux soucis aux développeurs Java EE :

  • pas de représentation des données en table, et donc une plus grande difficulté à optimiser l’accès aux données.
  • pas de support du SQL.
  • les outils de reporting standards ne fonctionnent pas.
  • pas de schéma, donc le typage des données est garanti uniquement par l’application.

Alors, pourquoi abandonner toutes ces fonctionnalités ? Tout simplement parce qu’un modèle relationnel scale verticalement, mais très mal horizontalement. On peut rétorquer qu’il est possible de scaler horizontalement en utilisant le sharding. Malheureusement, le partitionnement des données nous redirige vers les problématiques énumérées ci-dessus.
Ce qui ne laisse à l’heure actuelle que 2 solutions :

  • sacrifier la scalabilité au profit des fonctionnalités relationnelles, si le nuage utilisé le permet (GoogleApps impose l’utilisation de Datastore)
  • avoir besoin à tout prix d’une très grande scalabilité pour la base, et sacrifier les fonctions relationnelles aux profits des modèles hiérarchiques.

Le modèle relationnel a encore quelques belles années devant lui.

Et ce d’autant plus que Microsoft se positionne sur le sujet : la version 1 de SQL Data Services (sous-projet de la plate-forme de service Azure) devrait supporter la majorité des fonctions relationnelles : tables, procédures stockées, triggers, vues, indexes…
Alors, le nuage peut-il exister sans stockage relationnel (question que posait Jon Arild Tørresdal le mois dernier sur InfoQ)? Il semblerait que le géant Microsoft ait pris parti.

Web Beans, l’implementation de la JSR-299, en version BETA 1

Régulièrement, nous vous tenons informés des dernières nouvelles autour de la JSR-299, « Java Contexts and Dependency Injection ».
Trois mois après la version ALPHA 1, la version BETA 1 est sortie.
L’annonce parle d’une couverture de 90% de la JSR-299.

Rapidement, les nouveautés de cette release sont :

  • le support des conversations,
  • la notification d’évènements en début ou en fin d’une transaction (ex: rafraîchir une liste),
  • la notification d’évènements pour la communication asynchrone.

Certaines traductions du guide de référence existent mais malheureusement pas encore en français. Comme celui de Seam existe, il y a bon espoir qu’il en sera de même pour Web Beans.

Voici les précédents articles de notre revue de presse abordant cette JSR:

Evènements de notre communauté en France et à l’étranger

JavaCamp Paris

Mardi 31 mars se déroule la prochaine rencontre JavaCamp Paris, située cette fois ci dans les locaux de Google.
Ce BarCamp prend la forme originale d’ateliers participatifs, où le contenu est fourni par les participants : tout le monde participe, il n’y a pas de spectateurs. L’inscription est obligatoire et limitée à 70 participants. Une fois enregistré, vous pourrez inscrire les sujets qui vous intéressent le plus. Les sujets les plus cités seront ensuite sélectionnés. Retrouvez une annonce complète sur Le Touilleur Express.

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

3 réponses pour " Revue de Presse Xebia "

  1. Publié par , Il y a 10 années

    A propos du stockage relationnel, il est partiellement faux de dire qu’il n’est pas disponible sur les infras Cloud.

    Il existe des services de stockage de données sous formes structurées généralement via une interface de type clef/valeur. A l’application de gérer les relations entre les entités. (Amazon SimpleDB, Google DataStore in AppEngine, Hadoop HBase, Google BigTabe, …).

    En effet les contraintes classiques d’une bases de données passent très mal dans un environnement distribué nomment à cause du fameux théorème CAP qui dit en substance, entre la consistance, la disponibilité ou le robustesse, il faut en choisir 2.

  2. Publié par , Il y a 10 années

    Au sujet du stockage de données hiérarchique et du cloud, je suis assez (violemment) étonné qu’il ne soit pas cité RDF et toute la recherche faite autour des représentations de graphes et des langages de requêtes sur ceux-ci, SPARQL en tête.

    En effet, d’une par les stockages hiérarchiques et les bases de données ne sont que des sous catégorie de graphes, et d’autre part, une grande partie de la normalisation des représentations de données a été faite et est complètement extensible grâce au travail sur OWL et les logiques représentatives .

    Restent les questions de performances pures et de tout ce qui a trait à la gestion de l’atomicité des actions. Pour l’instant, les stores RDF sont (très) loin des bases de données. Mais tout ca est en train de changer rapidement, et de nombreuses start-up s’intéressent au sujet, avec parfois des résultat hallicinant comme ici : http://blog.directededge.com/2009/02/27/on-building-a-stupidly-fast-graph-database/

    Bref, c’est assez rigolo, lorsque l’on parle de cloud, d’oublier les graphes pour la représentation des données…

    PS : dans le même domaine, regardez ceux qui est fait au niveau de Nepomuk, le sémantique desktop, de Foaf, et de bien d’autres…

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.