
Middleware and Services
Nous vivons à l'ère des applications distribuées, du cloud et de l'IoT. C'est pourquoi se sont développées de nouvelles façons de penser les choses, une architecture permettant la réutilisation de "briques"qui doit s'interfacer avec le hardware et le software. Cette unité de formation qui présente ces nouveaux aspects est composée de 3 modules que sont "Architecture de services", "Intergiciel pour l'IoT", et "Adaptabilité : cloud et gestion autonomique"
FORMATIONS
Informatiques Reseaux
Certifications
Langages
Architecture de services
Aujourd'hui, de plus en plus d'applications sont distribuées. De plus les clients expriment des besoins complexes qui ne peuvent être satisfait que par la collaboration de plusieurs entreprises. C'est là qu'interviennent les architectures orientées service (SOA) qui permettent d'encapsuler les applications sous forme de services. Ce module permet d'apprendre à utiliser et à mettre en oeuvre une architecture orientée service.
​​
​
Description
​
Ce module est découpé en une première partie de cours magistraux qui posent les bases sur ce qu'est une architecture orientée service et pourquoi elle est utile et intéressante dans le contexte actuel. Puis une seconde partie dans laquelle nous appliquons directement les principes vus en cours pendant des TD permettant une première mise en pratique des notions nouvelles. Enfin, la dernière partie consiste en un projet étalé sur plusieurs séances de TP pendant lequel nous sommes mis en situation réelle et devons mettre en place une application distribuée se basant sur une architecture de services. Ce module aborde donc les points clés suivants :
​
-
Compréhension des problématiques liées aux applications distribuées ainsi que du contexte dans lequel interviennent les architectures orientées services
-
Définition de ce qu'est une architecture orientée services
-
Création de services web
-
Etude de BPEL permettant d'orchestrer des services
​
​
Problèmes rencontrés et résolution
​
La difficulté de ce module a été d'utiliser une nouvelle approche pour mettre en oeuvre le projet qui mêlait à la fois les compétences vues en Architecture de services et en Intergiciel. Ce qui n'a pas été intuitif au départ du projet, a été de découper chaque fonction en plusieurs fonctions élémentaires vues comme des services qui seraient donc réutilisables dans une autre fonction. Mais petit à petit, en prenant de l'assurance sur le projet, cela devenait naturel et nous arrivions à découper de plus en plus nos fonctions jusqu'à ce que ces dernières ne soient composées que d'actions très simples
​
​
Synthèse et auto-évaluation
​
Ce module a été conséquent en terme de volume horaires : entre les cours, les TD et les TP. L'organisation de ce dernier nous a vraiment permis de monter en compétences en assimilant peu à peu les notions et en pratiquant beaucoup. Malgré cela, nous avons manqué de temps pour finir le projet durant les séances de TP et avons dû compenser par un travail personnel important. Cependant, cette quantité importante de travail ainsi que l'autonomie que nous avons eu tout au long du projet, nous a réellement permis de comprendre le module. Aujourd'hui, ayant été au bout du projet, je peux prétendre à un niveau d'expertise dans les domaines suivants :
​
-
Savoir définir une architecture orientées services (SOA)
-
Déployer une architecture SOA en mettant en place des services web
-
Déployer et configurer une architecture SOA en utilisant le protocole SOAP
-
Déployer et configurer une architecture SOA en se basant sur le style architectural REST.
-
Intégrer un ochestrateur de services dans une architecture SOA
Intergiciel pour l'IoT
L'intergiciel est une couche qui permet de faire le lien entre les couches hardware et software. Ce module traite de la façon dont s'effectue cet interfaçage.
​​
​
Description
​
Au cours de ce module nous avons appris quel était l'utilité de l'intergiciel pour l'IoT. Nous avons vu quels étaient les standards de l'IoT et avons principalement travaillé lors des TD et TP sur la plateforme OM2M. Enfin, nous avons utilisé une architecture REST pour communiquer avec les objets connectés.
Les points clés abordés dans ce module sont les suivants :
​
-
Etude des principaux standards de l'IoT
-
Prise en mains de OM2M et fonctionnement des différents nœuds et des entités en interaction avec l'intergiciel
-
Utilisation d'une architecture REST pour communiquer avec les objets connectés
-
Utilisation des lampes HUE avec OM2M
​​
​
Problèmes rencontrés et résolution
​
Les TP qui étaient mêlés à ceux d'Architecture de services ont représenté une difficulté dans la mesure où ils étaient assez longs. De plus, il nous a été demandé d'utiliser la méthode agile pour mener à bien le projet. Cette méthode était nouvelle pour nous et nous a demandé beaucoup de temps au début du projet pour prendre en main le logiciel IceScrum qu'il nous a été conseillé d'utiliser et pour mettre en place le premier Sprint.
Cependant ayant fait mon stage de 4eme année en Australie au sein de l'université de Wollongong pour déployer une architecture OM2M basé sur le standard One M2M. J'ai pu partager toute mes connaissances que j'ai pu acquérir pendant mon séjours en Australie et par mon travail avec Prof Thierry MONTEIL, Project manager of Om2m Eclipse.
​
​
Synthèse et auto-évaluation
​
Il s'agissait d'un module assez complet qui a été couplé à celui d'Architecture de services pour le projet. Au final, nous avons abordé de nombreuses notions et sommes venus à bout d'un projet assez complexe et complet. La façon dont s'est déroulé le module nous a permis une montée en compétence puisque nous avons commencé par la prise en main de la plateforme OM2M et sommes allés jusqu'à l'intégration de celle-ci dans un projet d'automatisation des salles du département du GEI pour lequel nous avons utilisé une architecture de services et avons exposé nos services sous forme de services web. Au vu de l'accomplissement de notre projet qui était fonctionnel et répondait à l'ensemble des attentes, je peux affirmer avoir un niveau d'expertise sur les notions suivantes :
​
-
Savoir positionner les standards principaux de l’Internet des Objets
-
Déployer une architecture conforme à un standard et mettre en place un système du réseau de capteurs aux services
-
Déployer et configurer une architecture IoT en utilisant OM2M
-
Interagir avec les objets en utilisant une architecture REST
-
Intégrer un nouvelle technologie d’objets dans une architecture IoT
​
​
​
​
​
​
​
​
Adaptabilité : Cloud et gestion autonomique
Le terme de cloud computing désigne la livraison de services de ressources à la demande sur l'Internet.
​​
​
Description
​
Au cours de ce module, nous avons appris ce qu'était le cloud : un terme que l'on entend de plus en plus sans savoir réellement de quoi il s'agit. Nous avons vu au travers d'une série de cours suivis de plusieurs TP quels étaient les concepts liés au cloud et comment mettre à profit cette nouvelle façon d'utiliser des ressources et services à la demande. Les notions importantes abordées dans ce cours sont les suivantes :
​
-
Concepts liés au cloud
-
Virtualisation
-
Cloud computing
-
Autonomic computind
-
Edge computing
​
​
Problèmes rencontrés et résolution
​
Ce module a été l'occasion de manipuler de nombreuses connaissances dont nous avions entendu parler et sur lesquelles nous avions travaillé dans différents cours. La mise en relation de ces différentes notions n'a pas été simple mais une fois de plus, les TP nous ont permis de mieux comprendre le module. En revanche nous avons été confrontés à des problèmes liés à la plateforme cloud du LAAS dont nous étions totalement indépendants et qui nous ont fait "perdre" une séance de TP. Nous n'avons donc pas pu aller jusqu'au bout de ces derniers mais cela ne nous a pas empêché de comprendre le module.
​
​
Synthèse et auto-évaluation
​
Ce module a abordé de nombreuses notions nouvelles. Même si nous avons utilisé beaucoup de connaissances apprises dans d'autres matières, il n'a pas été simple de s'imprégner des nouveaux aspects dans la mesure où les cours et TP étaient condensés en fin de semestre au moment où tous les rendus, projets et soutenances s’enchaînaient. Cependant grâce au temps de pratique pendant les TP ainsi qu'à l'aide de mes camarades ayant manipulé ces notions au cours de leur stage, j'ai pu comprendre le principe du cloud computing, des différents services SaaS, PaaS et IaaS, l'intérêt d'OpenStack ou encore le principe de l'autonomic computing. Gr^ce à ce module, je peux prétendre avoir un niveau d'expertise sur les points suivants :
​
-
Comprendre la notion de cloud
-
Utiliser une infrastructure de cloud dans un mode Infrastructure As A Service
-
Déployer et adapter de manière autonomique une plate-forme pour l’Internet des Objets sur le cloud
-
Déployer une architecture PaaS basée sur OM2M
-
Rendre autonomique une architecture PaaS