Category: Uncategorized


This is the end…

kumoe

Eh bien, voilà : l’équipe Kumoe arrive à la fin de la période définie pour la création de ce projet d’interopérabilité Microsoft/Java. Plusieurs semaines de travail, de galères, de nuits blanches, d’avis divergents et, avant tout, de découvertes passionnantes.

Ce projet fut avant tout pour nous l’occasion de travailler sur un projet très complet, regroupant à lui seul différents outils qui vont prendre de plus en plus d’importance au fil des années. Et durant cette période de travail, nous avons pu découvrir ces techniques et les expérimenter avec beaucoup d’intérêt, en dépit d’un planning particulièrement court et chargé.

J’en profite donc, au nom de toute l’équipe, pour annoncer que le code source du projet sera rendu disponible sur ce blog. Vous pourrez donc y trouver tout ce dont ce sur quoi nous avons travaillé durant plus d’un mois, ainsi que les différentes parties du projet que nous avons finalisées dans les derniers jours.

cadeau

Voici donc les liens :

Partie « Silverlight & SDS » : http://kewlshare.com/dl/4e2a295e43e0/KUMOE_MICROSOFT.rar.html

Partie « Java & SQL » : http://kewlshare.com/dl/ee90032947a6/KUMOE_JAVA.rar.html

Les sources concernant la queue de messages seront disponibles avant le jeudi 5 février.

Note : Sur les liens ci-dessus, pour télécharger le code source, il vous suffit de cliquer sur le bouton « Free User ».

Précisions

Durant les derniers mois de travail, nous avons rencontré quelques problèmes pour le déploiement de la solution sur Azure (voir les captures d’écran ci-dessous), mais voici cependant l’adresse où elle se trouvera : http://kumoe.cloudapp.net

erreur-azure1

erreur-azure22

Et voici un petit aperçu de l’allure de l’application de VOD :

vod

Ligne éditoriale

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 ».