accueilLogicielsDéveloppement et Qualité LogicielsFailles de sécurité des applications Web
 

Architecture des applications Web


1. Le réseau Internet et ses protocoles
2. Évolution des architectures applicatives
3. Web 2.0

Le réseau Internet et ses protocoles

 Le Web repose sur le réseau Internet et comme tous les réseaux informatiques, celui-ci repose sur des couches de protocoles de communication. Le paquet est l’unité de base de la transmission de données sur Internet.

 L. Shklar et R. Rosen [1] font la description suivante de la couche de protocoles pour Internet dont le couple TCP/IP est la fondation :

PNG - 48.4 ko
Transfert des données à travers la pile de protocoles

 La couche « Réseau » est la couche responsable de la transmission physique des données. Elle peut être implémentée par les lignes téléphoniques, par le GSM ou par du réseau Ethernet par exemple. L’information peut cheminer sur différents supports avant d’atteindre la destination.

 La couche « Internet » est la couche qui indique où les données doivent être envoyées, sans garantie que la destination sera bien atteinte. Elle peut utiliser les protocoles IP (Internet Protocol) et ICMP (Internet Control Message Protocol). ICMP permet de vérifier que des messages peuvent être échangés et de gérer les erreurs de transmission. Il est particulièrement utilisé par des outils tels que « ping » et « traceroute ». IP est utilisé pour la plupart des communications sur Internet. Il prend les données issues des couches supérieures, décrites ci-dessous, et les divise en paquets de taille prédéterminée pour faciliter leur transmission sur le réseau [2]. Ainsi, si un paquet est corrompu durant la transmission, il n’est nécessaire de réémettre tout le message, mais uniquement le paquet. Chaque paquet est transmis individuellement et peut emprunter un chemin différent des autres. A l’arrivée la couche Internet réassemble l’ensemble des paquets pour reformer le message original.

 La couche « Transport » repose sur deux protocoles : TCP et UDP (User Datagram Protocol). TCP s’assure que les paquets sont reçus dans le même ordre qu’ils ont été envoyés et que les paquets perdus sont à nouveau envoyés. TCP est donc un moyen de transmission fiable puisqu’il s’assure que les paquets sont arrivés. Comme indiqué par G.Florin et S.Natkin [3], UDP est un protocole simplifié. Cela permet de transmettre des informations plus rapidement qu’avec TCP puisqu’il y a finalement moins d’informations échangées. UDP est utilisé notamment par NFS (Network File System) et les applications de streaming audio et vidéo telles que la vidéoconférence et la téléphonie sur IP où la perte de paquets est acceptable mais la vitesse de communication primordiale.

 La couche « Application » est celle qui permet aux utilisateurs finaux de communiquer sur Internet avec des protocoles tels que telnet pour agir sur un serveur, FTP (File Transfer Protocol) pour la transmission de fichiers, SNMP (Simple Network Management Protocol) pour l’envoi de courrier électronique et http pour le Web. Http est un protocole de messages de type texte basé sur le paradigme « requête/réponse ». L’utilisateur envoie via son navigateur un message, la requête, au serveur http. Chaque requête est traitée individuellement et de façon unique. Ensuite le serveur renvoie un message, la réponse, au navigateur. Http est un protocole déconnecté, c’est-à-dire que le protocole ne permet pas d’établir des communications entre requêtes pour partager des informations, alors qu’une application Web a besoin de conserver les réponses des différentes requêtes d’un utilisateur pour avoir le même comportement qu’avec une application non-Web. C’est pourquoi la plupart des navigateurs intègrent le système de « cookie » qui permet de conserver le résultat d’une requête.

PNG - 25.4 ko
Pile de protocoles d’Internet

Évolution des architectures applicatives

 Les applications Web ont suivi la même évolution que les applications plus anciennes.

 La décennie 1970-1980 était dominée par le système Mainframe. Un serveur centralisait l’ensemble des informations, exécutait les traitements, gérait les droits d’accès. Le client manipulé par l’utilisateur permettait d’envoyer des demandes de traitement au serveur et d’en afficher les résultats. La machine était passive. Ce mode de fonctionnement est le même que celui du protocole http. Le navigateur ne sert qu’à afficher les réponses http.

 La décennie suivante 1980-1990 a vu l’émergence du système client/serveur. Le client récupérait des données depuis le serveur de base de données, exécutait les traitements puis affichait les informations à l’écran et enfin mettait à jour les données sur le serveur si nécessaire. Le serveur ne servait plus qu’à stocker les informations et à exécuter éventuellement des traitements de nuit. Cette architecture posait des problèmes de maintenance des applications sur chacun des postes utilisateur concerné. Les applications Web ont suivi cette évolution avec les « applets » au début des années 90. Il s’agissait d’applications écrites dans un langage de développement, exécutées par le navigateur depuis un site Web.

 A partir des années 90, les architectures étaient composées de plusieurs tiers. L’application cliente présentait alors les informations à l’utilisateur et invoquait des services. Les services étaient responsables de l’exécution des processus. Les processus pouvaient être distribués sur plusieurs serveurs. Enfin des serveurs étaient responsables du stockage des données. Dans le milieu des années 90, les applications Web ont également intégré plusieurs composants. Le navigateur Web ne s’occupe plus que de l’affichage. Le serveur http pour répondre aux requêtes génère dynamiquement l’interface graphique dans les pages HTML en faisant appel à des services ou en interrogeant les bases de données.

 Depuis les années 2000 les applications Web et les autres types d’applications clientes peuvent utiliser les mêmes services, ce qui facilite la réutilisation des développements et évite la redondance des données.

Web 2.0

 J. Governor, D. Hinchcliffe et D. Nickull [4] expliquent que le Web 2.0 n’est pas une mise à jour technique mais un changement de comportement des internautes. Comme évoqué précédemment, le Web avait pour but initial de mettre à disposition des informations. L’utilisateur était passif face aux sites Web. Puis le Web est devenu collaboratif, l’utilisateur est alors devenu créateur de contenu sans avoir à connaître les protocoles techniques sous-jacents. L’internaute ne consulte plus l’information, il publie du contenu quel que soit le média (texte, vidéo, musique). Internet a permis de mettre en relation des ordinateurs et est devenu le support du Web qui a permis d’y mettre à disposition des informations. A son tour le Web est devenu le support du Web 2.0 qui a permis de mettre en relation des personnes.

 Ce nouveau comportement a pu naître grâce à la possibilité de modifier l’interface graphique sans recharger complètement la page Web. Elle devient en réalité un conteneur dans lequel il est possible de mettre à jour et de différencier le contenu, les fonctions, selon la zone de la page.

 

Retour vers le haut de la page   PDF
Article précédent Page d'accueil Article suivant
< Applications Web Sommaire | Composants du client Web >

 

Guillaume HARRY
Envoyer un courriel

 

Contenu sous licence Creative Commons CC-BY-NC-ND


[1] L. Shklar et R. Rosen. Web Application Architecture : Principles, Protocols and Practices. John Wiley & Sons Ltd, 372p, 2003

[2] S. Gulati. Under the hood of the Internet : Connector : the Internet protocol, part one : the foundations. Magazine Crossroads 6, article 3, 2000

[3] G.Florin et S.Natkin. Support de cours RESEAUX ET PROTOCOLES. CNAM, 884p, 2007

[4] J. Governor, D. Hinchcliffe et D. Nickull. Web 2.0 Architectures. O’Reilly Media, 248p, 2009


ARESU
Direction des Systèmes d'Information du CNRS

358 rue P.-G. de Gennes
31676 LABEGE Cedex

Bâtiment 1,
1 Place Aristide Briand
92195 MEUDON Cedex



 

 

Direction des Systèmes d'Information

Pôle ARESU

Accueil Imprimer Plan du site Credits