L'unité d'enseignement « Architectures client-serveur » est
une UE de niveau (300) spécialisation relevant de la licence d'informatique.
Elle possède un volume de 6 ECTS et
s'étend sur 7 semaines en alternance. Elle est placée sous la responsabilité de Marin, olivier.
Description
Ce module a pour but de présenter les bases de l'informatique client/serveur. Différents systèmes client/serveur seront abordés au travers de deux exemples concrets : les systèmes client/serveur pour le Web et ceux pour les applications d'entreprises (CORBA). Ce module permet de se familiariser d'une part avec les modèles de programmation des systèmes client/serveur et d'autre part avec leurs architectures internes. Ainsi en ce qui concerne les premiers, les langages de définition de services, les interfaces de programmation, les liaisons avec les langages de programmation seront abordés. En ce qui concerne les architectures internes, les politiques de gestion de threads, de connexion réseau et de ressources mémoire ou CPU seront étudiées.
Avec le développement de l'informatique distribuée et des réseaux, les applications informatiques sont de plus en plus interconnectées entre elles. Ces interconnections ont pour but de faciliter les échanges d'information et de construire des systèmes de plus grande taille et de puissance supérieure aux systèmes centralisés. Dans les dix dernières années, de nombreuses couches logicielles, dites middleware, sont apparues pour permettre l'interconnection à distance d'applications. Le but de ce module est d'étudier les concepts de base fournis par ces couches middleware. Ces concepts de base sont ceux de l'informatique client/serveur. Nous les illustrerons au travers de deux cas concrets : le Web et CORBA.
Préalables et buts pédagogiques
Bibliographie
R. Orfali, D. Harkey, J. Edwards. The Essential Client/Server Survival Guide. Wiley 1996.
B. Meyer. Object-Oriented Software Construction. Prentice Hall 1997.
A. Tanenbaum. Distributed Operating Systems. Prentice Hall 1995.
Contenu indicatif par semaine
Introduction - Principes généraux de l'informatique client/serveur
Communications distantes pour le client/serveur
Programmation concurrente pour le client/serveur
Client/serveur pour le Web
CORBA 1 - Introduction, principes généraux de la gestion d'objets distribués
CORBA 2 - Point de vue développeur
CORBA 3 - Point de vue architecture interne