S8 INF Systèmes à objets répartis

Présentation

Etude des applications réparties hétérogènes.

Pré-requis nécessaires

système d'exploitation et réseaux, langage et algorithmique, architecture des systèmes distribués, applications réparties

Objectifs

L’objectif de cette UE est de connaître et savoir utiliser différentes technologies permettant de construire des applications réparties hétérogènes.

Compétences visées

  • Connaître les mécanismes mis en oeuvre dans les systèmes et les services à objets répartis.
  • Connaître les modèles d’interaction dans les applications réparties (client/serveur, agents mobiles)
  • Savoir programmer en objet/service répartis
  • Comprendre les enjeux de l'intégration de service, les problèmes d'interopérabilité (systèmes, langages, protocoles réseaux)
  • Connaître les principaux mécanismes et patrons de conception exploités dans les plates-formes offrant un support pour l'intégration de systèmes et l'interopérabilité : patrons service de nommage (naming), service cycle de vie (factory), proxy, service d'événements, service transactionnel ...

Descriptif

1) Introduction aux systèmes répartis 

Problèmatiques et notions de transparence. Modèles d'interaction. Mécanismes et patrons usuels. Exemples de systèmes répartis

2) Les approches objets répartis

  • Le standard CORBA. L'architecture OMA, notion de bus à objets. Mapping Java et C++. Services standards CORBA (naming et event services)
  • Java RMI. Le modèle agent mobile : migration, services web. Architecture et fonctionnement de java RMI 
  • La plate-forme C#/.NET et les web services . L'architecture .Net, XML et ses outils, C#

3) Les approches services

  • L'architecture JEE
  • Accès aux bases de données distantes, JDBC
  • Gestion des requêtes HTTP, objets Servlet et HttpSession, validation des requêtes
  • Conception d'une application MVC basée sur les Servlets
  • L'architecture NodeJS
  • Programmation asynchrone, gestion des événements, promesses (promises)
  • Échanges de données en JSON (Javascript Object Notation)</li>
  • Conception d'un serveur Web, le framework express, l'API REST, les routes
  • Conception d'une application Web répartie, le framework React</li>

Répartition approximative : 2h introduction, 10h CORBA, 5h RMI, 5h .NET, 12h JEE, 12h NodeJS

Bibliographie

  • Learning Node.js, A Hands-On Guide to Building Web Applications in JavaScript. Marc Wandschneider. Addison Wesley editor. 2017.
  • Java network programming and distributed computing. David Reilly, Addison Wesley editor. 2003.
  • .NET Application Development with C#, ASP.NET, ADO.NET and Web Services. Hanspeter Mossenbock, Dietrich Birngruber, Albrecht Woss, Wolfgang Beer. Addison Wesley editor. 2004.

Langue d'enseignement

Français