Le voilà, tout beau, tout neuf, le blog concernant le premier projet issu du partenariat entre l’EPSI Montpellier et Microsoft France. En premier lieu, notre groupe de travail a décidé de présenter le sujet et le contexte de ce projet; afin que nos futurs lecteurs puissent avoir une vision globale de celui-ci. Dans les faits, notre équipe est constituée de trois futurs ingénieurs: Christian Couder, Guillaume Gas et Florian Gutierrez. Ce projet a été donné à deux autres équipes de quatre personnes. Il me semble important de le préciser, car notre travail sera très proche, par de multiples aspects, à celui de ces 8 personnes.

Comme je l’ai dit, ce projet est issu du partenariat entre notre école et Microsoft France. Mais plus précisément, en quoi consiste celui-ci ? Il s’agit de nous former sur certaines des dernières technologies de Microsoft et sur l’interopérabilité avec le monde Java. Principalement, nous allons utiliser le nouveau système d’exploitation Windows Azure et Silverlight pour mettre en place une application « dans les nuages ». Dans le cloud computing, toute l’infrastructure du système d’information est mutualisée à l’échelle d’internet. Concrètement, cela signifie que l’informatique qui ne concerne pas directement le métier de l’entreprise est externalisé sur des serveurs distants. De cette façon, elle peut passer plus de temps sur son cœur de métier.

Le principe même du cloud computing repose sur la notion de web services. Il s’agit d’un ensemble de fonctionnalités exposées sur un réseau (internet ou intranet) permettant la communication et l’échange de données entre applications et systèmes hétérogènes. Ainsi, au travers d’un web service, une application développée sous une technologie Microsoft (C#, pour exemple), sera capable de communiquer avec une application Java. On voit apparaître ici une autre notion: l’interopérabilité. Pour résumer, l’interopérabilité consiste à faire fonctionner plusieurs applicatifs ensemble. Pour aller plus loin, on ne peut parler d’interopérabilité que si l’on connaît intégralement toutes les interfaces d’une application.

En généralisant ce concept de web services, le cloud computing fait intervenir deux nouvelles idées: le IaaS et le SaaS. Derrière ces termes obscures, que se cache-t-il ? En fait, il s’agit d’acronymes: IaaS signifiant Infrastructure As A Service; SaaS voulant dire Software As A Service.

Le principe de « software as a service » repose sur l’hébergement à distance d’applications. Par exemple, un CRM hébergé sur internet sera considéré comme un SaaS. En effet, un système de gestion de relation clients comporte beaucoup de fonctionnalités. En ce sens, un CRM ne peut pas exister sous une autre forme qu’une application.

Le principe de « infrastructure as a service » est, quant à lui, beaucoup plus large. L’idée générale de cloud computing étant de permettre à l’entreprise de se recentrer sur son métier, le besoin d’externaliser les applicatifs liés à l’infrastructure est apparu. Pour être plus précis, il s’agit de tout ce qui est nécessaire à la vie de l’entreprise, mais qui n’est pas lié à son activité. Par exemple, un serveur de mail est très important pour une entreprise, en tant que moyen principal de communication et de transmission d’informations. De cette façon, les « web mail » (live mail, gmail… ) ont vu le jour.

C’est donc dans l’esprit d’utiliser les dernières technologies de Microsoft (Windows Azure, Silverlight 2.0, SQL Data Services) et les concepts dont j’ai parlé ci-dessus (cloud computing, interopérabilité, web services) qu’un projet nous a été donné. Mais ce projet, quel est-il ? Pour ma part, je distingue deux grandes parties: l’existant et ce qu’il faut faire. Cela peut sembler étrange, mais puisque l’existant devra être réalisé par nous, il s’agit d’une partie indépendante du projet.

Voici le scénario: une société propose la location de vidéos depuis plus de 10 ans, dans plus de 600 magasins. Suite à la généralisation de la « video on demand », l’entreprise voit ses parts de marché diminuer. L’entreprise souhaite donc trouver de nouveaux relais de croissance tout en s’appuyant sur ses différenciateurs :

  • sa présence sur de multiples points de vente
  • son large catalogue de vidéos

C’est ainsi que le projet a vu le jour. L’entreprise va proposer son propre service de VOD, en minimisant les coûts d’exploitation et en étendant le catalogue de vidéos au travers de partenariat entre magasins. Pour être plus clair, la liste des vidéos disponibles doit comprendre la totalité des offres des magasins. Quelques fonctionnalités « bonus » sont aussi demandées: la vidéo n’est disponible que pour une durée de 24 heures; les abonnés sont informés de la disponibilité de nouvelles vidéos; l’authentification peut se faire via Live ID ou Open ID.

Pour continuer la liste des contraintes, l’interface de streaming doit être faite avec Silverlight, alors que l’existant sera développé en Java. De plus, le stockage des données sera effectué au travers de Azure SQL Data Services et SQL Express.

Enfin, le projet étant destiné à implémenter une application « dans les nuages », le nom de notre projet devait refléter ce besoin de nous diriger « vers les nuages ». D’où la traduction en japonais : « Kumoe ».