Java EE: Objectif Cloud !

Vous n’avez pu rater la semaine dernière l’annonce de la sortie de la JSR 342!

Il s’agit de la spécification de Java EE 7 dont le principal focus se veut être le Cloud.
Cette évolution de la plateforme était attendue. En effet, nombreux sont ceux qui, depuis plusieurs mois, prédisent que l’avenir de Java dépendra de sa faculté à intégrer les paradigmes du Cloud, tels que le « multitenancy » (partage d’une même application entre plusieurs utilisateurs ou organisations clientes) ou encore l’élasticité (mise à disposition automatique de ressources en fonction de la montée ou de la baisse de charge).

Voici un rapide tour d’horizons du contenu de cette JSR.


Enjeux et évolutions

Le but annoncé de la spécification est d’intégrer le modèle PaaS dans les applications Java EE ayant vocation à être déployées aussi bien sur des Clouds privés que publiques.

Les réflexions commencent: pour l’instant on parle surtout de

  • rendre « multi-tenant » les API relatives à la gestion des ressources (JPA, JDBC, JMS)
  • tagger certaines ressources (BD, queues) comme « partagées entre plusieurs applications« 
  • repenser la sécurité pour dépasser le modèle JAAS (mais rien de très précis pour l’instant).
  • permettre aux applications de fournir des métadatas indiquant certaines caractéristiques importantes en environnement PaaS (informations de qualité de service, partage de ressources, multi-tenant enabled, dépendances entre applications, etc.)

En bref, cela donne l’impression que Java EE 7 pose les bases; les vraies évolutions Cloud arriveront probablement par la suite.
Le texte de la JSR le laisse d’ailleurs penser :

We see the cloud as a further evolution of this paradigm and propose to address it via some incremental changes to the existing (and popular) Java EE programming model.

Pour le reste, on trouvera beaucoup d’améliorations sur la base de Java EE 6 (JAX-RS, DI, etc.) ainsi que:

  • le support d’HTML5, de JSON et des Web Sockets
  • la révision du modèle de développement JMS

Et l’intégration officielle de nouveaux venus

  • JCache
  • Concurrency Utilities for Java EE

Un peu d’espoir du côté de la modularité !

De plus, il semble que nous ayons été entendus…

Nous discutions encore la semaine dernière sur les mailing lists OCTO des problèmes de couplage fort Build/Run lorsqu’on choisit de s’appuyer sur les briques offertes par les serveurs d’applications.

Par exemple, l’utilisation des EJB contraint l’évolutivité d’une application en la couplant au cycle de mises à jour du serveur d’application (la durée de vie d’une version de Websphere en production pouvant être de plusieurs années).

La JSR 342 propose ainsi:

Last but not least, this JSR will investigate providing modularity and versioning capabilities sufficient to cover common developer use cases, such as using a later version of an API already included in the platform.

Une JSR portée par Oracle ?

En décembre dernier, l’Apache Software Foundation se retirait du comité exécutif du JCP en déclarant que ce dernier « n’était plus un processus de spécification ouvert » et qu’ « Oracle interférait sérieusement dans la gouvernance transparente de l’écosystème« .

Bien qu’Oracle, dans le texte de cette JSR, « sollicite les contributions de la communauté« , nombreux sont ceux qui remarquent l’absence des « big names » au sein du groupe d’experts.
En effet, seuls apparaissent « Oracle, Jeff Genender and Antonio Goncalves »

Conclusion

Les regards sont donc braqués sur Java EE: comment la plateforme prendra-t-elle le tournant du Cloud ?
Rendez-vous fin 2012 pour la validation finale de la spécification et 2013 pour les premières implémentations.

4 commentaires sur “Java EE: Objectif Cloud !”

  • Petite précision concernant "l’absence des « big names » au sein du groupe d’experts". Le groupe d'experts n'a pas encore été constitué. La JSR sera voté (ou pas) le 14 mars, ensuite sera constitué le groupe d'experts (cela peut prendre qques semaines). Les 3 noms "Oracle, Jeff Genender and Antonio Goncalves" n'ont que le status "Supporting this JSR" (http://jcp.org/en/jsr/proposalDetails?id=342) car, en tant qu'ancien du groupe d'experts Java EE 6, nous avons été consulté en avance de phase. Attendons que l'expert groupe se créé pour voir s'il y a des absents.
  • Il reste de l'espoir, en 2013 (2014 avec le retard) le buzz word "Cloud" aura disparu et aura été enterré avec son copain "Web 2.0" Oracle a vraiment que ça a proposé pour Java EE ? du Cloud ?
  • Il n'y a pas que le cloud: http://blogs.sun.com/theaquarium/entry/more_java_ee_7_content + beanvalidation + CDI + jcache + etc... Le JSR lui-même mentionne "Cloud", mais aussi "Latest web standards", "Ease of development", "Web Profile", "Pruning" et "Modularity". Sinon, proposition de traduction pour "multi-tenant": co-locataires ou co-propriétaire. Quant au support d'autres acteurs, c'est effectivement un peu prématuré et je ne suis personnellement pas inquiet.
  • Le retrait, d'Apache est en effet regrettable, mais j'ai tendance à penser que leur décision de pas implémenter le Web Profile Java EE 6 dans Tomcat 7 même de manière optionnelle était déjà un signe de non implication officielle dans les JSR de Java EE. Ils ont juste officialisé cette posture.
    1. Laisser un commentaire

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


      Ce formulaire est protégé par Google Recaptcha