COURS OC INFO
VI : Les serveurs Web
1. Le serveur web classique
Le Serveur web classique met à disposition du contenu (en général texte, images, sons et vidéos) qui figure sur des pages préalablement construites. Ces sites sont « fermés » et nécessitent une intervention directement sur la page si le contenu doit être modifié. Ces serveurs sont très satisfaisants pour une utilisation qui ne demande pas des mises à jour quotidiennes et s’ils sont gérés par une ou deux personnes au maximum.
2. Le serveur web dynamique
Rapidement, les serveurs Web ont eu besoin d’aller plus loin que le simple service de pages. Il a fallu permettre l’affichage de données en provenance de bases de données. C’est la qu’apparaît le Serveur web dynamique. Il est l’association d’un serveur (Apache par exemple), d’une base de données (MySQL) et d’un langage (PHP -> script) (ensemble libre de droits - non payant). Autre exemple : IIS, Access, ASP -> VBscripts (Microsoft - payant). Le contenu de la page peut à ce moment être différent en fonction de la demande de l’utilisateur, sans que pour autant il y ait eu une intervention de la part de celui qui maintient le site. Dans un serveur web dynamique, les scripts s’exécutent sur le serveur lui-même et plus sur la machine de celui qui envoie la requête.
3. Le serveur d’applications
La technique précédente est souvent largement suffisante pour les besoins communs, mais il est des cas ou il faut plus de possibilités et de puissances (ex. : les sites de e-commerce). Le niveau supérieur est représenté par les Serveurs d’applications.
Dans un serveur d’applications, on externalise les capacités de traitements d’un site Web. Jusqu’à maintenant, c’est sur le serveur Web que tout se passait, alors qu’avec ce nouveau type de serveur on soulage la charge du serveur Web et l’on fait exécuter le code sur un autre serveur (qui peut être sur la même machine d’ailleurs). Dans ce système, le serveur d’application à la maîtrise totale sur le fonctionnement des programmes, il peut équilibrer les charges comme il le souhaite et supporte mieux les fortes montées de charges justement. Les plus connus de ces serveurs sont J2EE (Java 2 Entreprise Edition) de Sun ou .NET de Microsoft. Chacun de ces serveurs a un langage et une machine virtuelle qui exécute ce langage. Pour J2EE le langage c’est java et la machine virtuelle est JVM (Java Virtual Machine). Pour .Net le langage c’est C# ou VB.Net (Visual Basic .Net) et la machine virtuelle est CLR.
Ces deux serveurs d’application tiennent le haut du pavé. Pour favoriser l’implantation de son système, Sun a ouvert sa plateforme Java ce qui a permis à d’autres entreprises, ou projets du Libre, de développer leurs propres J2EE (dont les spécifications sont à dispositions de tous). Ainsi, il y a du J2EE dans : IBM Websphere, Oracle 9i, BEA Weblogic ainsi que dans des projets Libres comme Blazix JonAS, JBoss,.. Il existe néanmoins d’autres serveurs d’application qui sont moins connus mais qui n’en sont pas moins de bons serveurs, comme : ColdFusion (langage CFML) de l’entreprise Alaire, Zope (langage Python) qui est un projet Libre, Rebol/Express (langage Rebol), WebObjects 4 (langage Objective-C) de Apple, WebObjects 5 (langage Java) de Apple également.