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

Le coin de la technique

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

(VMware + Spring) + SalesForce = VMforce

Le 27 avril dernier, Paul Maritz (CEO de VMware), Marc Benioff (CEO de SalesForce) et Rod Johnson (GM de SpringSource) ont fait une annonce conjointe pour le lancement d’une nouvelle solution cloud: VMforce.

Jusqu’à maintenant SalesForce était un des acteurs majeurs des SaaS (Software as a Service), spécialisé dans les CRM. Mais la montée en puissance de concurrents dans le cloud a poussé l’entreprise à revoir sa stratégie. Pour créer ou personnaliser des applications de SalesForce, les développeurs devaient s’appuyer exclusivement sur la plateforme de développement Force.com et sur son langage maison, l’Apex Code, relativement confidentiel. Il faut donc voir ce partenariat, avant tout, comme une ouverture des services de SalesForce au monde Java et en particulier celui de SpringSource.

Concernant Java, il est intéressant de constater que ce langage devient celui de référence pour toute solution cloud qui veut se populariser ou se standardiser. Il y a plus d’un an, Google avait subi de fortes pressions de la part de la communauté pour pouvoir utiliser Appengine avec Java en plus de Python. Encore plus étonnant, la solution cloud Azure de Microsoft propose également des ponts vers Java.

D’après Rod Johnson Spring sera vraiment au cœur de cette nouvelle offre. Son serveur tomcat, tcServer, constituera l’environnement d’exécution. SpringSource Tool Suite jouera un rôle important pour faciliter l’interopérabilité avec Force.com. On nous promet, entre autres, du drag and drop pour déployer directement des applications. Cela peut prêter à sourire mais ce genre de détail peut parfois faire basculer certains DSI, la véritable cible de cette nouvelle offre, qui cherchent les solutions les mieux intégrées aux environnements utilisés par leurs développeurs.

Ecosysteme VMforce

De son côté Force.com apporte un accès à sa base de donnée relationnelle et à de nombreux services de rapport et de partage. De plus le développement de services orientés réseau social, avec des interfaces par exemple avec Twitter ou Facebook, de ponts vers les API Google ou de portage vers les téléphones mobiles, constitue une des originalités de SalesForce et un des points forts par rapport à ses concurrents.

Cette annonce peut en étonner certains qui avaient suivi celle de l’intégration de SalesForce dans Google AppEngine, d’abord dans sa version Python puis Java. Le peu d’écho qu’elle a eu semble souligner le peu de synergies qui existent dans l’association de ces deux solutions et VMforce a, sur le papier, tout pour remplacer AppEngine comme PaaS (Platform as a Service) de référence. Bien sûr tout cela reste encore à confirmer car le lancement véritable est attendu cet automne (vous pouvez vous pré-inscrire sur cette page). Est-ce que l’intégration dans STS tiendra ses promesses ? Est-ce que cette solution arrivera à convaincre les entreprises d’externaliser une partie de leur système d’information ?

Refonte de jBPM chez JBoss

Tout commença il y a un mois par une lettre ouverte à la communauté jBPM pour annoncer le départ de JBoss de Tom Baeyens et Joram Barrez, respectivement project leader et core developer du projet de gestion de workflow de l’éditeur. Quelques jours plus tard, Tom Baeyens explique qu’ils souhaitent développer, avec Joram Barrez, leur propre plate-forme BPM, qui supportera BPMN 2.0, adoptera une licence Apache 2.0 et sera adaptée « aux nouvelles infrastructures IT ». Le flou de cette dernière mention s’éclaircit en partie lorsque nous croisâmes Tom Baeyens à la conférence NoSQL Europe de Londres ; il nous expliqua s’intéresser de près aux problématiques de persistance liées au Cloud Computing. Cette vision rafraichissante du BPM sera particulièrement intéressante à suivre…

Du coté de JBoss, l’affaire a entrainé un vaste projet de refonte. Ainsi Alejandro Guizar, nouveau project lead de jBPM, a publié deux semaines plus tard l’annonce du développement de jBPM 5 qui consistera en une fusion de jBPM et de Drools Flow. Ceci aboutirait donc à un rule driven process engine, nom donné aux moteurs BPM fusionnés avec un moteur de règles. Cette vision constitue la tendance depuis quelques temps déjà sur ce marché, mais jBPM et Drools n’avaient pas su prendre ce virage pour cause d’avis divergents entre les deux équipes. Cet évènement semble donc avoir été l’occasion d’une remise en question globale. Mark Little, CTO de JBoss, s’exprimait il y a une semaine sur l’avenir de la brique BPM de JBoss. Il reprenait ces faits en ajoutant une nouvelle importante : jBPM 4 ne deviendra pas un produit supporté par JBoss au sein de sa plate-forme commerciale SOA. Ce sera le rôle de jBPM 5.

jBPM est le moteur BPM Open Source majeur sur le marché. Ce changement de plan est donc important tant pour la communauté qui a déjà commencé à investir sur jBPM 4, sorti il y a 10 mois, que pour JBoss qui avait fortement investi dans jBPM 4. Ce dernier avait d’ailleurs connu une période de gestation particulièrement longue. Bien sûr ces investissements de part et d’autre ne sont pas perdus pour autant puisque cette nouvelle version s’appuiera pour partie sur l’existant, mais elle peut remettre en question certains choix stratégiques pour les entreprises.

Josh Bloch : le futur de Java, sous la houlette de Oracle

Pour InfoQ, Josh Bloch, l’auteur du fameux « Effective Java », fait part de ses préoccupations au sujet du futur de Java. Tout d’abord, il constate que son évolution a ralenti ces derniers mois, pour deux raisons principales :

  • le manque d’implication de Sun dans les travaux autour de Java 7, qui a conduit à sans cesse repousser sa date de sortie.
  • la confusion qui règne autour des différentes licences utilisées par le JCP, qui amène parfois des séparations étranges comme celle qui a eu lieu entre OpenJDK et Harmony. De plus, le support de certains éditeurs (Google a choisi Harmony comme base aux librairies Android) ne fait qu’ajouter à la confusion et à la discorde.

Oracle, en meilleure santé financière que Sun, peut sortir le JCP de l’impasse en soutenant des réformes de fond, et en portant un regard neuf sur un certain héritage un peu ‘poussiéreux’. En particulier, Oracle a déjà proposé en 2007 de réformer les règles de propriété intellectuelle du JCP pour qu’elles deviennent plus permissives pour tous les composants de base (avec une licence de type Apache ou BSD).
Pour cette raison, Josh Bloch aimerait voir Oracle réclamer le bâton de commandeur qui était la propriété de Sun.

D’autre part, les statistiques montrent une baisse de l’utilisation de Java, au profit de C. Malgré cela, aucun des « nouveaux langages » (Scala, Ruby…) n’émerge suffisamment pour apparaitre dans ces statistiques et expliquer ce désamour. Cependant, ils restent des vecteurs d’innovation qu’il faut surveiller.
Et contrairement à ce que disent les statistiques, Josh Bloch ne pense que pas Java, aussi bien en tant que langage qu’en tant que plate forme, soit sur le déclin. Il voit certes un risque de déclin, mais il compte sur Oracle et sur la communauté pour l’enrayer. D’ailleurs, il ne voit pas émerger d’alternative crédible au langage et à la JVM. D’autant plus qu’Oracle ne devrait pas prendre le risque de tenter de mettre la JVM sous licence.
En ce qui concerne la fusion JRockit / Hotspot, elle est sur le papier intéressante, mais Sun n’est jamais parvenu à réaliser une telle fusion, ne serait ce que pour les JVM client et serveur. Pour le moins, ses coûts seront élevés.

Pour finir sur une note positive, Josh Bloch rappelle que Java a connu quelques succès retentissants ces derniers mois : Google Collections, Guice, les nouveaux langages de la JVM, et Android. En comptant sur des actions décisives d’Oracle, et la coopération d’une communauté élargie, le futur de java s’annonce (malgré tout ?) brillant.

Le coin de la technique

Scalate : un moteur de template pour Scala

Voilà une bonne occasion de vous parler d’un framework qui monte dans le monde Scala, à savoir Scalate. James Strachan a annoncé sa sortie fin de semaine dernière en version 1.1. Le détail des nouveautés se trouve ici.

Scalate, pour Scala Template Engine, est un moteur de template qui s’appuie sur Scala 2.8 et permet de générer plusieurs type de documents (texte, balises…). Il est actuellement utilisable :

  • de manière standalone,
  • dans des Servlets,
  • dans Jersey,
  • dans Play! Framework grâce au projet Play-Scalate,
  • et dans Apache Camel,
  • avec prochainement l’intégration à Lift.

Scalate supporte les templates de type SSP pour Scala Server Pages dont Velocity ou bien encore JSP. Ainsi Scalate supporte ${ }, <%= %>, <% %> ou bien encore #for, #if et #{ }. L’autre format géré est le Scaml pour Scala Markup Language qui est un dialecte (haml) pour simplifier la description d’un document web. Petit exemple :

// ssp template

<%= List("hi", "there", "reader!").mkString(" ") %> ${ "yo "+(3+4) }

// ssp rendering

hi there reader! yo 7

// scaml template %gee %whiz Wow this is cool! // scaml rendering Wow this is cool!

Il n’y a plus qu’à jouer avec !

Le multitâche sur Android

Qui aurai cru il y a encore peu que nous disposerions aujourd’hui d’équipements de poche ayant les capacités de faire tourner plusieurs applications riches simultanément, en Java qui plus est, malgré sa réputation de glouton en mémoire ? Ce temps là est révolu et Android montre combien un système basé sur Java peut se montrer performant. Néanmoins, pour atteindre cet objectif, il aura fallu que Google mette au point de nombreuses techniques. C’est ce que nous explique cet article du Android Developers blog, le blog Google de référence sur le sujet.
Les objectifs (simplifier la vie de l’utilisateur au maximum en supprimant la notion de « fermer » une application…) et les contraintes (pas de swap…) sont expliqués ainsi que leurs conséquences sur la gestion de la mémoire dans les applications et l’OS.

on découvre certaines spécificités qui peuvent sembler étonnantes au commun des programmeurs. ainsi, des applications qui apparaissent en cours d’exécution peuvent n’avoir en fait aucun processus en cours ! Un autre point très intrigant est que les applications sont généralement tuées brutalement ! L’astuce consiste à garder la trace des parties de l’application visibles, les Activity, pour les redémarrer avec les infos de leur dernier état si besoin. si l’utilisateur n’y voit que du feu, le programmeur expérimenté sera lui surpris par ce fonctionnement peu orthodoxe mais visiblement efficace.

L’article va ensuite plus loin en explorant la façon dont sont gérés les services, à travers les notions de Broadcast Receivers et de Services. Les premiers permettent de réagir ponctuellement et brièvement à des stimuli externes alors que les seconds effectuent des opérations longues mais sans garanties aucune quant à leur survie: Android peut les tuer en cas de besoin.

Rassurez-vous, tout n’est pas complètement nouveau dans Android et certains concepts restent identiques à ce que l’on connaît en Java desktop. Sur developpez.com Davy Leggieri nous offre 2 bons articles: l’un sur les threads composants une application Android et l’autre plus précisément centré sur l’UI Thread. Cela rappellera des souvenirs aux développeurs Swing qui, avec son Event Dispatch Thread, impose des contraintes similaires. Les environnements changent, mais certains fondamentaux restent !

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

Scaladays 2010 intégralement disponible en vidéo !

Si comme moi vous n’avez pas pu vous rendre au Scaladays 2010 de Lausanne, réjouissez-vous : toutes les vidéos sont déjà disponibles à cette adresse !
Du discours d’ouverture de Martin Odersky en passant par les Parallel Collections ou bien encore une session sur Scala at LinkedIn, redécouvrez les grands moments de cette première grosse conférence sur Scala. Les vidéos sont disponibles en basse et haute qualité et, pour les nomades, des verions .mp4 sont téléchargeables.
Je sais déjà ce que je vais regarder dans le bus dans les prochaines semaines :)
Et pour un petit résumé de ces deux jours, je vous renvoie vers le blog de François pour un article qui ne peut que faire regretter de pas y être allé…

Billets sur le même thème :

2 commentaires

Laisser un commentaire