Application Client

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 81

Application client

serveur et web

Ir Saïd Cham’s Nour OUGDA


Ingénieur de Conception en Informatique
Tel : 75 79 98 46 / 62 79 02 37
chamsougda@gmail.com
• Introduction
• Quelques définitions (rappel)
• Typologie des réseaux
• Architecture Client/Serveur
• Les middlewares
• Le client universel
• Les technologies coté client ou serveur
• Travaux pratiques
2
• Ces vingt dernières années ont vu une évolution majeure
des systèmes d'information, à savoir le passage d'une
architecture centralisée à travers de grosses machines
(des Mainframe : Imposant ordinateur central auquel on
relie des terminaux de faible capacité) vers une
architecture distribuée basée sur l'utilisation de serveurs
et de postes clients grâce à l'utilisation des PC et des
réseaux. Cette évolution a été possible essentiellement
grâce à 2 facteurs qui sont :
Ø la baisse des prix de l'informatique personnelle
Ø le développement des réseaux. 3
Un protocole est un ensemble de règles et procédures
standards à respecter pour émettre et recevoir des
données sur un réseau. Cette standardisation a pour but
principal de permettre à deux programmes s'exécutant
généralement sur différentes machines de communiquer et
de se comprendre mutuellement et de manière
harmonieuse.
4
Internet est un réseau mondial de communication qui relie des
millions d'ordinateurs et de dispositifs électroniques à travers le
monde. C'est un réseau décentralisé et distribué, composé de
réseaux interconnectés utilisant le protocole de communication
Internet (TCP/IP).
En termes plus simples, Internet est un vaste réseau de réseaux,
où chaque réseau peut être géré de manière indépendante mais
peut communiquer avec d'autres réseaux via des protocoles
standardisés. Cette interconnexion permet le partage
d'informations, de ressources et de services à l'échelle mondiale.
5
Internet permet diverses activités telles que la communication (e-
mail, messagerie instantanée, réseaux sociaux), la recherche
d'informations (sites web, moteurs de recherche), le commerce
électronique, le divertissement (streaming de vidéos, jeux en ligne),
le partage de fichiers, et bien plus encore.

6
Un intranet est un réseau informatique privé basé sur les
technologies Internet, utilisé à l'intérieur d'une organisation pour
permettre la communication, le partage d'informations et la
collaboration entre ses membres. Contrairement à Internet, qui est
un réseau public accessible à tous, un intranet est accessible
uniquement aux employés ou aux membres autorisés de
l'organisation.

7
Un extranet est une extension d'un intranet qui permet à des
parties externes, telles que des clients, des fournisseurs, des
partenaires commerciaux ou d'autres parties autorisées, d'accéder à
certaines parties de l'intranet de manière sécurisée. Contrairement à
l'intranet, qui est généralement accessible uniquement aux
membres internes d'une organisation, l'extranet élargit l'accès aux
utilisateurs externes tout en maintenant des contrôles d'accès stricts
pour assurer la confidentialité et la sécurité des informations
partagées.

8
TCP/IP, ou Transmission Control Protocol/Internet Protocol, est une
suite de protocoles de communication utilisée pour interconnecter
des réseaux informatiques sur Internet et d'autres réseaux. Il s'agit
d'un ensemble de règles et de normes qui définissent comment les
données doivent être transmises et reçues sur un réseau.

9
Il existe de très nombreuses manières de mettre les réseaux en
catégories suivant la variable d'analyse choisie. Nous présentons
dans ce qui suit les typologies les plus usitées et qui nous semblent
les plus utiles.

Probablement la classification la plus simple et la plus basique. On y


distingue typiquement trois grandes familles de réseaux :
les LAN, Les MAN, Les WAN.

10
Suivant la relation fonctionnelle (hiérarchique presque) entre les
éléments constituant le réseau, on peut identifier trois grandes
architectures réseaux :

11
Il faut distinguer deux topologies
vLa topologie logique ( électrique ) :
Elle désigne le mode de circulation des données sur le média et
donc le mode d'échange des messages sur le réseau.
La topologie physique:
Elle désigne le mode d'interconnexion physique des différents
éléments du réseau.
Remarque :
Un réseau ayant une topologie physique en étoile peut très bien avoir une
topologie logique en bus. 12
La technologie Peer to Peer se base sur le réseau Internet
pour permettre l'échange de fichiers entre les internautes.
La différence avec un téléchargement classique c'est que le
fichier téléchargé ne se trouve pas sur un serveur FTP
accessible via un site web mais directement sur le disque
dur d'un autre internaute. 13
Chaque internaute peut ainsi disposer sur son disque dur
d'un nombre important de fichiers musicaux, films et autres

ressources et décider d'en faire profiter les autres. On dit


alors que les fichiers sont partagés, c'est-à-dire accessibles
aux autres internautes. L'image suivante schématise ces
propos 14
Comme pour un téléchargement classique pour lequel vous aurez besoin d'un
logiciel spécifique, le Peer to Peer nécessite l'utilisation d'une application
spécialisée appelée « Client Peer to Peer ».
Si le principe est le même pour tous les réseaux Peer to Peer, l'exploitation
technique des possibilités d'Internet diffère. On aura donc parfois recours à des
serveurs intermédiaires ou pas, à l'utilisation de fichiers de description pour
chaque fichier ou encore à des connexions purement poste à poste.
15
Tout cela explique qu'un client Peer to Peer est spécifique à un type
de réseau Peer to Peer car il en existe beaucoup. A noter que
certains logiciels supportent plus d'un type de réseau et peuvent
vous permettre d'en essayer plus d'un rapidement.
Pour profiter du peer to peer il faut disposer :
D'une connexion de type ADSL (Asymmetric Digital Subscriber Line.
Il s'agit d'une technologie de transmission de données qui utilise les
lignes téléphoniques existantes pour fournir un accès à large bande
à Internet. ) illimitée dans le temps car le système est basé sur des
delais d'attente parfois longs.
16
D'un débit minimum de 128 Kbits, 256 étant vivement recommandés.
Les connexions avec modem analogique sont donc à banir,
D'un bon système de refroidissement de votre ordinateur car celui-ci
devra rester allumé de longues heures.
D'un disque dur spacieux de 80 Go au minimum qui vous permet de
lancer plusieurs téléchargements en même temps pour optimiser
l'utilisation de votre bande passante (en général plus votre
connexion est rapide, plus aurez besoin d'un disque dur spacieux).

17
Si le peer to peer est une vraie bénédiction pour les internautes, les
professionnels de la musique et du cinéma mènent une véritable
guerre contre ce mode d'échange de fichiers qui met sérieusement
en dangers leurs entreprises.

18
19
Ø Une adresse de transport = une adresse IP + un numéro de port (16
bits) -> adresse de socket

Ø Une connexion s'établit entre une socket source et une socket


destinataire -> une connexion = un quintuplé (proto, @src, port src,
@dest, port dest)

Ø Deux connexions peuvent aboutir à la même socket

Ø Les ports permettent un multiplexage ou démultiplexage de


connexions au niveau transport

Ø Les ports inférieurs à 1024 sont appelés ports réservés 20


qUDP User Datagram Protocol
Ø protocole de transport le plus simple

Ø service de type best-effort (comme IP)


vles datagrammes UDP peuvent être perdus

vles datagrammes UDP peuvent arriver dans le désordre

Ø mode non connecté : chaque segment UDP est traité indépendamment


des autres

21
Ø Pourquoi un service non fiable sans connexion ?
vsimple donc rapide (pas de délai de connexion, pas d'état entre
émetteur/récepteur)

vpetit en-tête donc économie de bande passante

vsans contrôle de congestion donc UDP peut émettre aussi rapidement


qu'il le souhaite

22
Ø Performance sans garantie de délivrance

Ø Souvent utilisé pour les applications multimédias


§ tolérantes aux pertes

§ sensibles au débit

Ø Autres utilisations d'UDP


§ applications qui envoient peu de données et qui ne nécessitent pas un
service fiable

§ exemples : DNS, SNMP, BOOTP/DHCP


23
Ø Transport Control Protocol

Ø Transport fiable en mode connecté


§ point à point, bidirectionnel : entre deux adresses de transport (@IP src,
port src) --> (@IP dest, port dest)

§ transporte un flot d'octets (ou flux)


§ l'application lit/écrit des octets dans un tampon

§ assure la délivrance des données en séquence

24
§ contrôle la validité des données reçues

§ organise les reprises sur erreur ou sur temporisation

§ réalise le contrôle de flux et le contrôle de congestion (à l'aide


d'une fenêtre d'émission)

25
§ protocole du web

§ échange de requête/réponse entre un client et un serveur web

§ protocole de manipulation de fichiers distants

§ transfert, suppression, création, …

§ système de terminal virtuel

§ permet l'ouverture d'une session distante


26
§ service d'envoi de courrier électronique

§ réception (POP, IMAP, IMAPS, …)

§ assure la correspondance entre un nom symbolique et une adresse Internet (adresse IP)

§ bases de données réparties sur le globe

§ protocole d'administration de réseau (interrogation, configuration des équipements, …)

27
Historique

o architecture centralisée

o terminaux passifs (un seul OS, systèmes propriétaires)

o traitements au niveau du serveur

28
L'architecture client-serveur est un modèle de fonctionnement

logiciel qui peut se réaliser sur tout type d'architecture matérielle


(petites ou grosses machines), à partir du moment ou ces
architectures peuvent être interconnectées.

On parle de fonctionnement logiciel dans la mesure où cette

architecture est basée sur l'utilisation de deux types de logiciels, à


savoir un logiciel serveur et un logiciel client s'exécutant
normalement sur 2 machines différentes.
29
L'élément important dans cette architecture est l'utilisation de
mécanismes de communication entre les 2 applications.

Le dialogue entre les applications peut se résumer par :


Le client demande un service au serveur

Le serveur réalise ce service et renvoie le résultat au client


Dialogue
Client Serveur
Initie et pilote le dialogue Répond au client et
participe au dialogue

Un des principes fondamentaux est que le serveur réalise un traitement pour le client. 30
Primitives de service :

SendRequest()

ReceiveResponse()

ReceiveRequest()

SendResponse()

31
Trois grands types de message :

REQ (Request)

REP (Reply)

ACK (Acknowledgment)

Autres types possibles : AYA (Are You Alive), BUSY

(ordinateur temporairement occupé), ERR (Erreur), etc

32
Ø Dans un environnement hétérogène, on doit effectuer une
présentation adéquate des données.

Ø Traduction des données

Ø Assemblage des paramètres émis et des résultats (marshalling)

Ø Désassemblage des paramètres reçus et des résultats


(unmarshalling)

33
Modes de dialogue

• n’utilise pas de file d’attente

• les messages sont émis aussitôt

• mode bloquant (ex. RPC)

• utilise une file d’attente

• mode non bloquant

• favorise le multitâche (ex. FIFO, email)


34
Dans une application client-serveur, il faut décider de

l’emplacement des composantes de :

Ø présentation : interfaces textuelles ou graphiques, interactions,


entrée des données, validation, etc.

Ø logique d’application : traitements associés à l’application

Ø accès aux données : stockage et accès aux données (base de


données, serveur web, etc)
35
36
37
Il n’y a pas véritablement de définition exhaustive de la notion de Client-serveur,
néanmoins des principes régissent ce que l’on entend par client-serveur :

Comportement d’un programme qui peut rendre service à d’autres Programmes


Exemple : service de traduction noms/adresses IP = service DNS. Un service
est appelé par une requête suivant un certain protocole. Exemple : requête «
donne-moi la traduction de www.bobo.bf » envoyée suivant le protocole DNS.

38
Ø Programme demandant un service à un autre programme ET/ou

Ø machine sur laquelle tourne ce programme client

Ø Le client est consommateur de services

Ø Proactif : à l’origine de la demande

Ø C’est toujours le client qui déclenche la demande de services

39
Programme fournissant des services à d’autres programme ET

Machine sur laquelle tourne ce programme serveur

Ø Le serveur est le fournisseur de services

Ø Le serveur attend passivement les requêtes du client

Ø Traitement de plusieurs clients simultanément

Ø Contrôle d’accès aux ressources

Ø Garant de l’intégrité globale


40
Connexion maintenue entre un logiciel client et un serveur

Par exemple :

Ø identification sur un intranet,

Ø navigation sans donner à nouveau mon login/mdp

Ø le lien entre le client et le serveur est maintenu même quand il ne se passe rien

Ø Une session est en général coupée si elle dure trop longtemps

41
Un serveur traite plusieurs clients en même temps et contrôle leurs accès aux
ressources.

Le logiciel client-serveur masque aux clients la localisation du serveur.

Le logiciel client-serveur est indépendant des plates-formes matériels et logicielles

Il est possible d’ajouter et de retirer des stations clientes. Il est possible de faire
évoluer les serveurs. 42
Les données du serveur sont gérées sur le serveur de façon centralisée. Les
clients restent individuels et indépendants.

On peut modifier le module serveur sans toucher au module client. La réciproque


est vraie. Si une station est remplacée par un modèle plus récent, on modifie le
module client (en améliorant l’interface, par exemple) sans modifier le module
serveur.

43
Le message transmis par le client au serveur s'appelle la : il décrit

l'opération à exécuter pour le compte du client.

Le message transmis par le serveur au client à la suite de l'exécution de l'opération

s'appelle la : il contient les paramètres de retour de l'opération.

Entrée réseau de la machine sur laquelle un serveur « écoute » en attendant des

connexions/ requêtes. Un client va se connecter


44
« Tuyau » entre deux programmes

Quintuplet : (machine1, port1, protocole transmission, port2, machine2)

Exemple

Client sur machine 1 appelle serveur sur machine 2 / port 53.

La connexion s’établit, le canal de communication est ouvert.

Il devient possible de communiquer suivant un protocole application (par

exemple DNS).

45
Web

protocole : HTTP

clients : navigateurs web (Mozilla Firefox, IE, Chrome, Opera...)

serveurs : serveur web (Apache, Nginx, IIS (Internet Information Server), Google
Servers ...)

(port = 80)

46
47
48
v Client lourd
• stocke les données et les applications localement. Le serveur stocke les fichiers mis à
jour

• Le client effectue une bonne partie du traitement

• Le serveur est plus allégé

v Serveur lourd
• On effectue plus de traitements sur le serveur : transactions, groupware, etc

• Déploiement plus aisé

49
v Client léger
• Client à fonctionnalité minimale (terminaux X, périphérique réseau (Network Appliance),
ordinateur réseau (network computer))

• Beaucoup de charge sur le serveur et le réseau

50
les différences sont essentiellement liées aux services qui sont assurés par le serveur.

On distingue couramment :

Le client-serveur de donnée

Dans ce cas, le serveur assure des tâches de gestion, stockage et de traitement de données. C'est
le cas le plus connu de client-serveur qui est utilisé par tous les grands SGBD :

La base de données avec tous ses outils (maintenance, sauvegarde …) est installée sur un poste
serveur. Sur les clients, un logiciel d'accès est installé permettant d'accéder à la base

de donnée du serveur. Tous les traitements sur les données sont effectués sur le serveur qui

renvoie les Informations demandées (souvent à travers une requête SQL) par

le client.
51
Le Client-serveur de présentation

Dans ce cas la présentation des pages affichées par le client est intégralement prise en charge par
le serveur. Cette organisation présente l'inconvénient de générer un fort trafic réseau.

Le client-serveur de traitement

Dans ce cas, le serveur effectue des traitements à la demande du client. Il peut s'agir de traitement
particulier sur des données, de vérification de formulaires de saisie, de traitements d'alarmes …

Ces traitements peuvent être réalisés par des programmes installé sur des serveurs mais
également intégrés dans des bases de données (triggers, procédures, stockées), dans ce cas, la
partie donnée et traitement sont intégrées.

52
Le client-serveur est une architecture récente qui, néanmoins, à déjà connu trois générations
successives. Chaque génération a donné naissance à une architecture ; ainsi nous avons :

Première génération : le «client-serveur» centralisé L'architecture 2 tiers

La première génération, née au début des années 80, est directement issue de l'évolution des
systèmes informatiques distribués autour d'un serveur central de base de données (généralement
un mainframe) accessibles par des postes de travail via un réseau de nature étoilée.

Dans une architecture deux tiers, encore appelée client-serveur de première génération ou client-
serveur de données, le poste client se contente de déléguer la gestion des données à un service
spécialisé. Le cas typique de cette architecture est une application de gestion fonctionnant sous
Windows ou Linux et exploitant un SGBD centralisé.

53
Première génération : le «client-serveur» centralisé L'architecture 2 tiers

Ce type d'application permet de tirer partie de la puissance des ordinateurs déployés en réseau
pour fournir à l'utilisateur une interface riche, tout en garantissant la cohérence des données, qui
restent gérées de façon centralisée.

La gestion des données est prise en charge par un SGBD centralisé, s'exécutant le plus souvent
sur un serveur dédié. Ce dernier est interrogé en utilisant un langage de requête qui, le plus
souvent, est SQL. Le dialogue entre client et serveur se résume donc à l'envoi de requêtes et au
retour des données correspondant aux requêtes.

54
Cet échange de messages transite à travers le réseau reliant les
deux machines. Il met en oeuvre des mécanismes relativement
complexes qui sont, en général, pris en charge par un middleware.

55
Première génération : le «client-serveur» centralisé L'architecture 2 tiers

L'expérience a démontré qu'il était coûteux et contraignant de vouloir faire porter l'ensemble des
traitements applicatifs par le poste client. On en arrive aujourd'hui à ce que l'on appelle le client
lourd, avec un certain nombre d'inconvénients :

• On ne peut pas soulager la charge du poste client, qui supporte la grande majorité des
traitements applicatifs ;

• Le poste client est fortement sollicité, il devient de plus en plus complexe et doit être mis à jour
régulièrement pour répondre aux besoins des utilisateurs;

• Les applications se prêtent assez mal aux fortes montées en charge car il est difficile de modifier
l'architecture initiale;

56
Première génération : le «client-serveur» centralisé L'architecture 2 tiers

• La relation étroite qui existe entre le programme client et l'organisation de la partie serveur
complique les évolutions de cette dernière;

• Ce type d'architecture est grandement rigidifié par les coûts et la complexité de sa maintenance.

Malgré tout l’architecture deux tiers présente de nombreux avantages qui lui permettent de
présenter un billan positif :

• elle permet l’utilisation d’une interface utilisateur riche,

• elle a permis l’appropriation des applications par l’utilisateur,

• elle a introduit la notion d’interopérabilité.

57
Première génération : le «client-serveur» centralisé L'architecture 2 tiers

Pour résoudre les limitations du client-serveur deux tiers tout en conservant ses avantages, on a
cherché une architecture plus évoluée, facilitant les forts déploiements à monidre coût. La réponse
est apportée par les architectures distribuées.

58
Deuxième génération : le «client-serveur» coopératif L'architecture 3 tiers

Les limites de l'architecture deux tiers proviennent en grande partie de la nature du client utilisé :

• le frontal est complexe et non standard (même s'il s'agit presque toujours d'un PC sous
Windows),

• le middleware entre client et serveur n'est pas standard (dépend de la plateforme, du SGBD …).

La solution résiderait donc dans l'utilisation d'un poste client simple communicant avec le serveur
par le biais d'un protocole standard.

Dans ce but, l'architecture trois tiers applique les principes suivants :

59
Deuxième génération : le «client-serveur» coopératif L'architecture 3 tiers

• Les données sont toujours gérées de façon centralisée,

• La présentation est toujours prise en charge par le poste client,

• La logique applicative est prise en charge par un serveur intermédiaire.

Cette architecture trois tiers, également appelée client-serveur de deuxième génération ou client-
serveur distribué sépare l'application en 3 niveaux de services distincts, conformes au principe
précédent :

• Premier niveau : l'affichage et les traitements locaux (contrôles de saisie, mise en forme de
données...) sont pris en charge par le poste client,

60
• Deuxième niveau : les traitements applicatifs globaux sont pris en charge par le service
applicatif,

• Troisième niveau : les services de base de données sont pris en charge par un SGBD

61
Deuxième génération : le «client-serveur» coopératif L'architecture 3 tiers
Tous ces niveaux étant indépendants, ils peuvent être implantés sur des machines différentes, de ce
fait :

• Le poste client ne supporte plus l'ensemble des traitements, il est moins sollicité et peut être moins
évolué, donc moins coûteux,

• Les ressources présentes sur le réseau sont mieux exploitées, puisque les traitements applicatifs
peuvent être partagés ou regroupés (le serveur d'application peut s'exécuter sur la même machine
que le SGBD),

• La fiabilité et les performances de certains traitements se trouvent améliorées par leur centralisation,

• Il est relativement simple de faire face à une forte montée en charge, en renforçant le service
applicatif.
62
Deuxième génération : le «client-serveur» coopératif L'architecture 3 tiers
Dans l’architecture trois tiers, le poste client est communément appelé client léger ou Thim Client,
par opposition au client lourd des architectures deux tiers. Il ne prend en charge que la présentation
de l’application avec, éventuellement, une partie de logique applicative permettant une vérification
immédiate de la mise en forme des données.

63
Troisième génération : le «client-serveur» réparti L'architecture n-tiers
L'architecture n-tiers a été pensée pour pallier aux limitations des architectures trois tiers et concevoir
des applications puissantes et simples à maintenir. Ce type d'architecture permet de distribuer plus
librement la logique applicative, ce qui facilite la répartition de la charge entre tous les niveaux.

Cette évolution des architectures trois tiers met en oeuvre une approche objet pour offrir une plus grande
souplesse d'implémentation et faciliter la réutilisation des développements.

Théoriquement, ce type d'architecture supprime tous les inconvénients des architectures


précédentes :

64
Troisième génération : le «client-serveur» réparti L'architecture n-tiers
• Elle permet l'utilisation d'interfaces utilisateurs riches ;

• Elle sépare nettement tous les niveaux de l'application :

• Elle offre de grandes capacités d'extension ;

• Elle facilite la gestion des sessions.

65
Troisième génération : le «client-serveur» réparti L'architecture n-tiers
L'appellation « n-tiers » pourrait faire penser que cette architecture met en oeuvre un nombre
indéterminé de niveaux de service, alors que ces derniers sont au maximum trois (les trois niveaux
d'une application informatique). En fait, l'architecture n-tiers qualifie la distribution d'application entre
de multiples services et non la multiplication des niveaux de service.

Cette distribution est facilitée par l'utilisation de composants « métier », spécialisés et indépendants,
introduits par les concepts orientés objets (langages de programmation et middleware). Elle permet
de tirer pleinement partie de la notion de composants métiers réutilisables.

66
Troisième génération : le «client-serveur» réparti L'architecture n-tiers
Ces composants rendent un service si possible générique et clairement identifié. Ils sont capables
de communiquer entre eux et peuvent donc coopérer en étant implantés sur des machines
distinctes.

La distribution des services applicatifs facilite aussi l'intégration de traitements existants dans les
nouvelles applications. On peut ainsi envisager de connecter un programme de prise de commande
existant sur le site central de l'entreprise à une application distribuée en utilisant un middleware
adapté.

67
Troisième génération : le «client-serveur» réparti L'architecture n-tiers
Ces nouveaux concepts sont basés sur la programmation objet ainsi que sur des communications
standards entre application. Ainsi est né le concept de Middleware objet.

68
On appelle middleware (ou logiciel médiateur en français), littéralement ‘élément
du milieu’, l'ensemble des couches réseau et services logiciel qui permettent le
dialogue entre

les différents composants d'une application répartie. Ce dialogue se base sur un


protocole applicatif commun, défini par l'API du middleware.

Le Gartner Group définit le middleware comme une interface de communication


universelle entre processus. Il représente véritablement la clef de voûte de toute
application client-serveur.

69
L'objectif principal du middleware est d'unifier, pour les applications, l'accès et la

manipulation de l'ensemble des services disponibles sur le réseau, afin de rendre

l'utilisation de ces derniers presque transparente.

70
Conversion : Service utilisé pour la communication entre machines mettant en oeuvre
des formats de données différents

Adressage : Permet d'identifier la machine serveur sur laquelle est localisé le service

demandé afin d'en déduire le chemin d'accès dans la mesure du possible.

Sécurité : Permet de garantir la confidentialité et la sécurité des données à l'aide de

mécanismes d'authentification et de cryptage des informations.

Communication : Permet la transmission des messages entre les deux systèmes sans

altération. Ce service doit gérer la connexion au serveur, la préparation de l'exécution des

requêtes, la récupération des résultats et la déconnexion de l'utilisateur.


71
Le middleware masque la complexité des échanges inter-applications
et permet ainsi d'élever le niveau des API utilisées par les programmes.
Sans ce mécanisme, la programmation d'une application client-serveur
serait complexe et difficilement évolutive.

72
SQL*Net : Interface propriétaire permettant de faire dialoguer une application cliente avec
une base de données Oracle. Ce dialogue peut aussi bien être le passage de requêtes
SQL que l'appel de procédures stockées.

ODBC : (Object Data Base Connexion) Interface standardisée isolant le client du serveur
de données. C'est l'implémentation par Microsoft d'un standard défini par le SQL Access
Group. Elle se compose d'un gestionnaire de driver standardisé, d'une API s'interfaçant
avec l'application cliente (sous Ms Windows) et d'un driver correspondant au SGBD utilisé.

DCE : (Distributions Computing environment) Permet l'appel à des procédures distantes


depuis une application. Correspond à RPC (Remote Procedure Call) qui permet
d'exécuter des procédures distantes.

73
Le choix d'un middleware est déterminant en matière d'architecture, il joue un
grand rôle dans la structuration du système d'information.

Pour certaines applications devant accéder à des services hétérogènes, il est


parfois nécessaire de combiner plusieurs middlewares. On en vient à la notion de
client lourd.

74
Pour permettre la répartition d'objets entre machines et l'intégration des systèmes non objets,
il doit être possible d'instaurer une communication entre tous ces éléments. Ainsi est né le
concept de middleware objet qui a donné naissance à plusieurs spécifications, dont
l'architecture CORBA 5common Object Request Broker Architecture) préconisée par l'OMG
(Object Management Group) et DCOM développée par Microsoft.

Ces middlewares sont constitués d'une série de mécanismes permettant à un ensemble de


programmes d'inter opérer de façon transparente. Les services offerts par les applications
serveurs sont présentés aux clients sous la forme d'objets. La localisation et les mécanismes
mis en oeuvre pour cette interaction sont cachés par le middleware.

La communication entre objets gomme la différence entre ce qui est local ou distant. Les
appels de méthodes d'objet à objet sont traités par un mécanisme se chargeant d'aiguiller les
messages vers les objets (locaux ou distants). 75
Dans le cadre d'un Intranet ou d'un Extranet, le poste client prend la forme d'un simple
navigateur Web, le service applicatif est assuré par un serveur HTTP et la communication

avec le SGBD met en oeuvre les mécanismes bien connus des applications client-serveur de

la première génération.

Répartition des tâches

Ce type d'architecture fait une distinction nette entre deux tronçons de communic

ation indépendants et délimités par le serveur HTTP :

• le premier tronçon relie le poste client au serveur Web pour permettre l'interaction avec
l'utilisateur et la visualisation des résultats. Ce premier tronçon n'est composé que de
standards (principalement HTML et HTTP) et est basé sur un simple navigateur Web. Le
serveur Web tient le rôle de frontal HTTP,
76
Répartition des tâches
• le deuxième tronçon permet la collecte des données. Les mécanismes utilisés sont

comparables à ceux mis en oeuvre pour une application deux tiers. Ils ne franchissent

jamais la façade HTTP et, de ce fait, peuvent évoluer sans influence sur la

configuration des postes clients.

77
Ce type d'architecture est définie par certain comme le client-serveur universel dans la mesure où il
s'appuie sur des standards existant sur toutes les plate-formes.

De plus, dans la même approche, on peut dire au vu de l'explosion des architectures Internet que le
navigateur Web est le client universel, puisque de plus en plus utilisé pour tout type de
développement, ou d'interface.

L'avantage de ce client universel est qu'il est aujourd'hui présent sur tout type de

machine :
Postes de bureau

Portables

Pockets PC

Téléphones portables

De plus, tous les constructeurs de produits embarqués embarquent dans leurs applicatifs un
78
serveur http qui permet d'administrer facilement à distance leurs machines.
Pour revenir aux architectures 3 tiers de l'Internet, cette solution peut s'appuyer sur
toutes les nouvelles technologies, et permet de répartir en fonction des besoins les
traitements coté client ou coté serveur.

79
Les technologies côté client font appel à :
• du javascript

• des applets JAVA

• des composants ACTIVEX (Microsoft)

Côté serveurs, toutes les techniques permettant de faire du Web dynamique à savoir :

• des scripts CGI (Perl, C, C++)

• des servlets écrit en JAVA : JSP (Java Server Pages)

• des traitements en ASP (Active Server Pages) - technologie Microsoft

• du côte PHP

80
Le futur appelé par certains Web 2.0 s’oriente néanmois vers des clients plus riche
afin de pouvoir bénéficier d’interfaces plus conviviaux, tout en gardant le côté
universel du poste clients. Un exemple en est donnée aujourd’hui à travers
certains de messgerie (Yahoo, MSN)

81

Vous aimerez peut-être aussi