Accueil Nos publications Blog JugSummerCamp : De l’intranet social au développement sur le Cloud par Tugdual Grall

JugSummerCamp : De l’intranet social au développement sur le Cloud par Tugdual Grall

Pendant cette session, Tugdual Grall CTO d’eXo Platform nous a présenté l’outil Cloud-ide.

Pour rappel, eXo Platform offre un portail d’intégration en Java permettant d’héberger des portlets mais aussi des gadgets OpenSocial.

Dans ce cadre est né le besoin d’une interface d’édition de code afin de pouvoir créer/éditer des gadgets OpenSocial tout en permettant leurs intégrations rapidement dans le portail afin de les rendre disponibles au plus tôt aux différents utilisateurs.

En fait, techniquement, eXo Platform s’appuie sur JCR (Java Content Repository – JSR 283) et permet de stocker le code source des gadgets OpenSocial qui utilisent du HTML, du Javascript et du XML. Ainsi, le développement et le déploiement de ces derniers sont donc possible directement. Pour ceux qui auraient l’esprit chagrin, Tugdual nous précise, cependant, que ces gadgets n’ont pas pour objectif de fournir des fonctionnalités métier mais seulement d’utiliser des services déjà existants.

En outre, eXo Platform offre la possibilité d’exposer des services Web directement en REST, ce qui permet de réduire encore le cycle de développement au sein du portail.

Comme dit précédemment, c’est donc ces besoins et ces possibilités qui ont motivé les équipes d’eXo à fournir un outil d’édition de code directement au sein de la plateforme.

Fort de cette expérience, eXo a donc décidé d’externaliser cet IDE et de le rendre accessible directement dans le Cloud : Cloud-ide était née.

Son objectif est de fournir un point d’entrée pour le développement dans le Cloud de type PaaS avec un support natif de :

  • OpenShift,
  • Heroku,
  • CloudFoundry
  • et CloudBees.

Il supporte, à ce jour, les langages suivants :

  • Java,
  • Groovy,
  • Javascript,
  • Ruby,
  • PHP,
  • XML,
  • CSS.

En outre, il permet le travail à plusieurs et offre même un terminal permettant l’utilisation des lignes de commande.

Pour faire simple, on peut donc dire que Cloud-ide est un service de type SaaS permettant le développement et le déploiement dans des architectures de type PaaS. Pour la compilation et le déploiement, Cloud-ide s’appuie sur CloudBees avec son service DEV@Cloud.

Sous le capot, Cloud-ide utilise la technologie GWT et fonctionne sur une architecture multi-tenant qui tournent sur Amazon EC2 : lorsque le tenant n’est pas utilisé, il est sérialisé et stocké en base de données afin de permettre un rédéploiement au besoin.

En conclusion, je dirai que cette très bonne session a permis de clarifier quelques-uns des cas d’utilisation d’un IDE dans le Cloud (à savoir la possibilité de fournir un service de type SaaS permettant le développement et le déploiement dans des architectures de type PaaS) en plus de montrer un produit fonctionnel pas seulement orienté web mais offrant un panel de possibilités beaucoup plus vaste que juste héberger du code source puisqu’intégré avec des solutions de type PaaS pour la parti exécution.