2. 2007-2008 2
Plan
Notion de « Système d’Information »
Évolutions
Client/Serveur
Quelques exemples
Middleware
Tendances
3. 2007-2008 3
Notion de
«Système d’Information»
Système d’Information : ensemble des
informations circulant dans une
organisation, et supportant son activité
Un sous-ensemble de ces informations est
géré au travers du système informatique;
les informations sont épurées et codifiées :
ce sont des données
système informatique : ensemble des
moyens matériels et logiciels destinés à la
gestion des données d’une organisation.
4. 2007-2008 4
Évolution (1) :
« mainframe »
Une seule machine ou plusieurs du même type
reliées en réseau, supportée par un O.S.
propriétaire (MVS/IBM, VMS/DEC,
VME/ICL,…)
Des terminaux passifs, interface texte
Services offerts :
Gestion de fichiers (ISAM), puis des bases de
données (SGBD hiérarchique, puis réseau),
Gestion des transactions (moniteurs
transactionnels)
Logiciels applicatifs spécifiques (développés par
l ’équipe informatique en place)
http://www.osdata.com/oses/
http://en.wikipedia.org/wiki/Mainframe_comp
uter
6. 2007-2008 6
Évolution (2)
PC
PCs des années 80, interface riche
Chaque utilisateur possède un système
complet à son service, évolution de la
bureautique personnelle
Logiciels émulateurs de terminaux pour les
relier aux systèmes centraux
multiplication des applications, et des
fichiers, difficulté de maintenance, risques
7. 2007-2008 7
Évolution (3)
PC serveurs
La puissance des ordinateurs augmente
Standardisation des protocoles réseau
Les Systèmes d’exploitation pour serveurs
évoluent et apportent les mêmes
fonctionnalités que ceux des « mainframe »
+ Avantage des mainframe : robustesse des
systèmes d’exploitation
+ Avantage des PC : souplesse
8. 2007-2008 8
Évolution (4)
Architecture C/S
Tirer profit de ces nouvelles architectures :
Combiner les ressources des ordinateurs en
réseau pour optimiser leur utilisation, accroître
leurs performance, faciliter les évolutions
Répartir l’exécution des applications sur le poste
Client ET sur le poste Serveur
Les différents types de Client/Serveur = une
question de dosage
9. 2007-2008 9
Client/Serveur
Des systèmes centralisés aux systèmes distribués
Appelant
Appelé
Appelant
Appelé
réseau
Appel de procédure Appel de procédure distante
(Remote Procedure Call, RPC)
11. 2007-2008 11
Client/Serveur
Définitions
Clients et Serveurs sont des entités distinctes
fonctionnant de concert sur un réseau pour
accomplir une tâche
Modèle d’architecture applicative où les
programmes sont répartis entre processus
clients et serveurs communiquant à travers un
système de requêtes/réponses
Différencier les notions de
processus client et serveur
machines client et serveur
12. 2007-2008 12
Client / Serveur
Client :
Processus demandant l’exécution d’une
opération à un autre processus par envoi d’un
message contenant le descriptif de l’opération à
exécuter, et attendant la réponse à cette
opération par un message en retour.
Serveur :
Processus à l’écoute, accomplissant une
opération sur demande d’un client, et
transmettant la réponse à ce client.
13. 2007-2008 13
Requête / Réponse
Requête :
Message transmis par un client à un
serveur, décrivant l’opération à exécuter
pour le compte du client
Réponse :
Message transmis par un serveur à un
client, en réponse à une requête suite à
l’exécution d’une opération contenant les
paramètres de retour de l’opération
14. 2007-2008 14
Plusieurs Client/Serveur
serveurs de fichiers
serveurs de base de données
serveurs de transactions
serveurs de groupware
serveurs d’objets
serveurs Web
16. 2007-2008 16
Différents types de C/S
C/S de présentation
Rhabillage (« revamping »)
Mode de rhabillage des interfaces
graphiques pauvres en Windows, Icones,
etc.
C/S de données
C/S de procédures
Systèmes répartis
17. 2007-2008 17
Différents types de C/S
Présentation Données Code Applicatif
client
serveur
Traitement centralisé Traitement coopératif
Données réparties
Ou dupliquées (snapshot)
C/S type
Pb transit réseau
18. 2007-2008 18
Exemple
C/S à 2 niveaux (applications Windows
traditionnelles)
SQL, E/S fichiers,
HTTP
BD
GUI et
applications
SGBD, gestionnaires
de ressources
middleware
19. 2007-2008 19
Exemple
C/S à 3 niveaux (applications et accès à
une base de données)
RPC, ORB, MOM,
HTTP
BD
Navigateur,
ActiveX, Applets
SGBD, gestionnaires
de ressources
Accès
aux
données
SQL
middleware middleware
Services
applicatifs
20. 2007-2008 20
Exemple
Exemple de C/S Web
Protocole HTTP
+ TCP/IP
BD
Navigateur Web
(ex : IE, Mozilla)
SGBD
(ex : Oracle,
MySQL)
SGBD
ODBC,
SQL*NET
middleware
middleware
Serveur Web
(ex : IIS,
Apache)
Doc.
HTML
Script
PHP
21. 2007-2008 21
Exemple
Exemple du dialogue d’envoi d’un
formulaire
prénom Pierre
<html>
…
<body>
<form method=‘POST’ action=‘traite.php’>
Prénom
<input type=‘text’ name=‘prenom’ />
<input type=‘submit’ name=‘envoyer’ value=‘Envoyer’ />
</form>
…
</body>
</html>
submit
Méthode de transport des données du
formulaire vers le serveur en les masquant
(autre : GET, qu’on retrouve dans les liens
hypertexte avec : …?nom=valeur)
Soumission des données du formulaire au
serveur en utilisant la méthode de
transport précisée et en précisant l’action à
effectuer avec les données du formulaire
(script PHP à exécuter, ici)
23. 2007-2008 23
Hétérogénéité des systèmes
informatiques
Problème posé :
permettre qu’une application communique de
manière standard avec une autre à travers les
réseaux
Ce problème est similaire à celui posés par les
matériels :
Pour mettre l’accès à un matériel, envoi de
commandes standard traduites en un langage
spécifique pour un matériel donné : c’est le rôle
du driver matériel
Pour les logiciels,
logiciel médiateur, middleware
24. 2007-2008 24
Middleware, logiciel
médiateur
(intergiciel, logiciel du milieu)
Client Serveur
L’ensemble des services logiciels permettant l’interaction et
la coordination des actions entre l’application Client et
l’application Serveur (communication inter-processus).
CLIENT SERVEUR
Middleware
ODBC,
SQL*NET,
ORB,
RPC,
MOM,
...
réseau
25. 2007-2008 25
Middleware, logiciel
médiateur
(ou intergiciel)
Processus
Client
Processus
Serveur
CLIENT
réseau
FAP : Format And Protocol
Mise en forme des données transportées en fonction des protocoles réseau
API : Application Program Interface
Interfaces avec les applications clients et applications serveurs
SERVEUR
API : Application Program Interface
Interfaces avec les applications clients et applications serveurs
FAP : Format And Protocol
Mise en forme des données transportées en fonction des protocoles réseau
26. 2007-2008 26
Middleware, logiciel
médiateur
(ou intergiciel)
CLIENT
réseau
SERVEUR
Application
client
Application
serveur
API API
FAP FAP
Protocole
Réseau
Protocole
Réseau
Exemple : TCP/IP
Connexion
Déconnexion
Émission
Réception
Un protocole
27. 2007-2008 27
Tendance actuelle
Architecture logicielle nTiers :
Présentation : interface avec l’utilisateur
Métier : traitements spécifiques liés à l’activité
réalisée
Données : gestion des données liées à l’activité
Ces 3 tiers peuvent être implémenté en de
multiples composants logiciels coopérant
répartis sur des processus Clients et Serveurs
(eux-mêmes s’exécutant sur un ou plusieurs
ordinateurs)
28. 2007-2008 28
Retour à la centralisation ?
Exemple :
Windows Terminal Server(TSE) ou Citrix
Certains contextes professionnels ne nécessitent
pas la puissance d’un PC
Type d’architecture :
Terminal : PC « diskless » (écran, clavier, une peu de
RAM pour charger un logiciel de communication avec le
serveur)
Serveur : gère toutes les applications de manière
centralisée (même la bureautique)
mainframe avec un client riche
29. 2007-2008 29
Exemple TSE
« La technologie Terminal Server de Microsoft permet
de publier des applications Windows aux utilisateurs
de l’entreprise. Les applications tournent
uniquement sur le serveur ; celui-ci envoie une
image de l’application aux postes clients mais tous
les traitements sont effectués sur le serveur ».
30. 2007-2008 30
Conclusion C/S
Principe
Obtenir des services quelque soit l’environnement
et la localisation (réseau) de ses services =
transparence pour l’utilisateur
Répartition de la tâche à accomplir
Modèle de développement (année 1990)
Simplification pour les équipes de développement
Architectures ouvertes (fidèles aux standard)
Middleware assure l’intermédiation