Les technologies clés |
Architectures client-serveur |
Fiche Technologie-clé n : 37
VERSION 3
On appelle client/serveur tout modèle de fonctionnement logiciel dans lequel plusieurs programmes autonomes communiquent entre eux par échanges de messages. Par extension, l'architecture client/serveur définit tout système informatique en rupture avec le modèle site central/terminaux passifs. Dans le meilleur des cas, les puissances de calcul, les données et les applications se situent en n'importe quel point de l'entreprise, avec de multiples possibilités d'accès. Dans ce contexte, on parle également d'architecture flexible ou répartie.
Le logiciel serveur joue un rôle passif en ce sens qu'il attend des requêtes provenant des logiciels clients. Dès qu'il reçoit une requête, il parcourt ses contenus pour trouver l'élément demandé puis le retourne au logiciel client qui l'a demandé. Quant au logiciel client, on l'utilise pour préparer une requête à adresser vers un serveur. Ainsi, tout ce qui touche l'affichage des menus, la saisie de mots-clés ou de l'adresse spécifique d'un serveur à rejoindre sont sous sa responsabilité. Lorsque la requête est lancée, une « petite commande » est acheminée vers le serveur à consulter. On attend ensuite que le serveur fouille ses contenus, trouve ce qui a été « commandé » puis le retourne vers le client demandeur. Sur réception, le client affiche le tout à l'écran.
Ainsi, l'architecture client-serveur permet à une application de s'adresser à une autre application physiquement à distance, à travers un protocole d'échanges standardisés, pour lui demander de réaliser une tâche pour son propre compte.
Les trois niveaux de l'architecture client-serveur :
L'informatique d'entreprise a connu une évolution très rapide au cours des dix dernières années. Cette évolution a été marquée par un double phénomène :
L'architecture client-serveur répond à la demande des utilisateurs pour des systèmes ouverts (par opposition au règne des systèmes propriétaires). Elle vise l'intégration de systèmes hétérogènes (intéropérabilité logicielle, matérielle et réseaux).
La technologie Client/Serveur permet à une entreprise d'augmenter sa compétitivité en donnant à ses employés le moyen de mieux réagir et coller aux besoins de son marché. Ceci est rendu possible grâce à une meilleure répartition de la puissance d'information et de traitement de manière appropriée sur l'ensemble du réseau et jusqu'aux postes de travail des utilisateurs.
Concrètement, tout système Client/Serveur comprend un certain nombre d'ordinateurs, de systèmes d'exploitation, d'applications et de données reliés entre eux, permettant ainsi de fournir les informations les plus récentes, très rapidement et sous la forme requise par l'utilisateur.
Les architectures propriétaires (ex : mainframe IBM) ont nécessités des investissements lourds de la part des industriels qui s'en sont équipés. La migration des applications vers le clients-serveur pour ces entreprises se fera immanquablement. Toutefois, dès l'attente d'une baisse des coûts, d'une stabilisation des standards et du développement des savoir-faire, bon nombre d'architectures propriétaires resteront encore en place dans les cinq prochaines années.
La pénurie d'outils méthodologiques pour la conception d'applications est un obstacle majeur au développement de cette technologie. Il est donc important que soient développés les savoir-faire aux 3 niveaux d'une architecture client-serveur. Ceci nécessite que soient stimulés les programmes de formation. Le développement de la technologie est lié à l'introduction et au développement d'OSF (Open Software Fondation) pour la normalisation des plates-formes Unix. Ces développements sont encore freinés par l'ampleur des coûts engendrés pour les éditeurs et par le protectionnisme des constructeurs qui essaient d'assurer la continuité de leur gamme (Legacy system). Mais ce protectionnisme tend à disparaître ; l'unification UNIX 95 via X/OPEN et Windows NT est un pas important dans la voie de l'ouverture.
Il reste à développer en France les compétences en génie progiciel pour la migration des architectures mainframe vers les architectures clients-serveur. Les efforts doivent porter sur la standardisation autour d'OSF et sur les développements des technologies micro-noyaux pour clients-serveur utilisables dans les applications de télécommunication. Les dix prochaines années devraient voir se développer une bibliothèque importante de progiciels applicatifs et de nombreuses applications multimédia. Une application prometteuse est le Datawarehouse (applications pour l'aide à la décision).
Dans le mesure où l'approche clients/serveur est considérée comme une approche commerciale, il n'y a pas de grands programmes coopératifs dans ce domaine financés par la Communauté Européenne.
L'initiative OMG (Object Management Group) vise l'introduction des technologies objet pour compléter OSF et introduire un degré de réutilisation de programmes en particulier dans les établissements de session interactive.