Apache Tomcat

Apache Tomcat
Page d'aide sur l'homonymie Pour les articles homonymes, voir Tomcat.
Apache Tomcat
Tomcat-logo.svg
Apache-tomcat-frontpage-epiphany-browser.jpg
Serveur d'applications
Développeur Fondation Apache
Dernière version 7.0.22 (27 septembre 2011) [+/-]
Environnement Multiplate-forme
Type Conteneur de servlets
Licence Apache
Site web tomcat.apache.org

Apache Tomcat est un conteneur libre de servlets et JSP Java EE. Issu du projet Jakarta, Tomcat est un projet principal de la fondation Apache. Tomcat implémente les spécifications des servlets et des JSP du Java Community Process[1] . Il est paramétrable par des fichiers XML et de propriétés, et inclut des outils pour la configuration et la gestion. Il comporte également un serveur HTTP.

Sommaire

Environnement

Tomcat ne constitue qu'un conteneur web, et non un serveur Web à part entière[2] : il gère spécifiquement les servlets et les JSP (un compilateur Jasper compilant les pages JSP pour en faire des servlets). Il peut être également parfois désigné comme moteur de servlet, ou plus abusivement comme un serveur Web.

Tomcat est en réalité souvent employé en combinaison avec un serveur Web Apache ou d'autres serveurs Web (JBoss, IIS, WebSphere, etc).

Tomcat a été écrit en langage Java. Il peut donc s'exécuter via la machine virtuelle Java sur n'importe quel système d'exploitation la supportant.

Jasper

Jasper est le moteur JSP d'Apache Tomcat. Tomcat 5.x utilise Jasper 2, qui est une implémentation de la spécification JavaServer Pages 2.0 de Sun Microsystems. Jasper parse les fichiers JSP afin de les compiler en code Java en tant que servlets (gérés par Catalina). Pendant son exécution, Jasper est capable de détecter et recompiler automatiquement les fichiers JSP modifiés.

État de développement

Architecture de Tomcat
Concepts architecturaux de Tomcat

Les membres de la fondation Apache et des volontaires indépendants développent et maintiennent Tomcat. Les utilisateurs ont accès au code source et aux binaires sous la Apache Software License. La première version de Tomcat était la 3.0. En 2005, la version 5.x est sortie, implémentant les servlets 2.4 et les JSP 2.0. Depuis sa version 4.x, Tomcat utilise le serveur de conteneur Catalina.

L'architecture du logiciel se compose ainsi[3]:

  • Un serveur ((en) Server), soit tomcat en cours d'exécution.
    • Des services ((en) Service), intermédiaires collectant différents canaux de transmissions vers un traitement.
      • Un moteur ((en) Engine), qui pour chaque service traite les requêtes des collecteurs et renvoie les réponses.
    • Des hôtes ((en) Host), qui relient une adresse réseau avec le serveur
    • Des connecteurs ((en) Connector), qui interprètent un canal et protocole de communication réseau à disposition des clients. Le connecteur HTTP est le plus typique.
    • Des contextes ((en) Context), qui sont les applications web.

Le contexte est le lieu privilégié pour situer un service informatique que l'on veut rendre sur un réseau. Les autres modules sont mis en œuvre par le logiciel tomcat lui même.

Principe de fonctionnement

Tomcat est souvent utilisé en association avec un autre serveur web plus généraliste, en général Apache, mais ce peut être aussi JBoss:

  • Le serveur Web s'occupe des pages web traditionnelles (.html, .php par exemple)
  • Il délègue à Tomcat les pages relevant spécifiquement d'une application web Java (Servlet, JSP,...).

On peut utiliser le module mod_jk pour paramétrer la communication entre Apache et Tomcat. Techniquement, Apache communique avec Tomcat sur le port 8009 (via le protocole ajp13), mais Tomcat peut aussi être atteint via son propre port (8080 par défaut).

Arborescence de répertoires

L'installation par défaut de Tomcat comprend les répertoires suivants :

  • bin : Scripts et exécutables pour différentes tâches : démarrage (startup), arrêt, etc. ;
  • common : Classes communes que Catalina et les applications Web utilisent ;
  • conf : Fichiers de configuration au format XML et les DTD que ces fichiers XML utilisent ;
  • logs : Journaux des applications Web et de Catalina ;
  • server : Classes utilisées seulement par Catalina ;
  • shared : Classes partagées par toutes les applications Web ;
  • webapps : Répertoire contenant les applications web (et les éventuels .war);
  • work : Fichiers et répertoires temporaires (le cache).

Historique

Le projet Tomcat a été lancé comme implémentation de référence des servlets par James Duncan Davidson, architecte logiciel chez Sun. Il a contribué à rendre le projet libre et a joué un rôle majeur dans sa donation par Sun à la fondation Apache.

Davidson aspirait dès le départ à rendre le projet libre. Comme la plupart des projets libres sont associés à un livre O'Reilly avec un animal en couverture, il a souhaité donner un nom d'animal au projet. Il a choisi le nom Tomcat (litt. matou) car cet animal représentait quelque chose qui peut prendre soin de lui-même [4]. Son souhait de voir une couverture d'animal s'est finalement concrétisé lorsque O'Reilly a publié un livre sur Tomcat avec un félin en couverture[5].

Fonctionnalités des versions

Tomcat 3.x (version initiale)

  • implémente les spécifications Servlet 2.2 et JSP 1.1 ;
  • rechargement des servlets ;
  • fonctionnalités HTTP de base.

Tomcat 4.x

  • implémente les spécifications Servlet 2.3 et JSP 1.2 ;
  • nouveau conteneur de servlets Catalina ;
  • nouveau moteur JSP Jasper ;
  • connecteur Coyote ;
  • Java Management Extensions (JMX), JSP et administration Struts.

Tomcat 5.x

Tomcat 6.x

  • implémente les spécifications Servlet 2.5 et JSP 2.1 ;
  • support de Java 5 ;
  • amélioration de l'utilisation mémoire.

Tomcat 7.x

  • implémente les spécifications Servlet 3.0, JSP 2.2 et EL 2.2;
  • support de Java 6 ;
  • amélioration de la détection et de la prévention des fuites de mémoire
  • mode hébergé simplifié

Voir aussi

Article connexe

Liens externes

Notes et références



Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Apache Tomcat de Wikipédia en français (auteurs)

Игры ⚽ Нужно сделать НИР?

Regardez d'autres dictionnaires:

  • Apache Tomcat — Apache Tomcat …   Википедия

  • Apache Tomcat — Standard Startseite des …   Deutsch Wikipedia

  • Apache Tomcat — Infobox Software name = Apache Tomcat caption = Apache Tomcat Default Page collapsible = yes developer = Apache Software Foundation latest release version = 6.0.18 latest release date = release date|2008|07|31 latest preview version = latest… …   Wikipedia

  • Tomcat (serveur) — Apache Tomcat Apache Tomcat …   Wikipédia en Français

  • Apache Axis2 — Apache Axis Entwickler: Apache Software Foundation Ak …   Deutsch Wikipedia

  • Apache OpenEJB — Developer(s) Apache Software Foundation Stable release 3.1.4 / November 17, 2010; 11 months ago (2010 11 17) Development status Active …   Wikipedia

  • Apache OFBiz — Screenshot  …   Wikipedia

  • Apache Commons — проект фонда Apache Software Foundation (далее ASF), имеющий своей целью разработку и поддержку открытого программного обеспечения повторного использования на языке Java, т.е. библиотек Java. В более узком смысле Apache Commons это «большая… …   Википедия

  • Apache Maven — Тип Автоматизация сборки Разработчик …   Википедия

  • Apache Axis — Entwickler Apache Software Foundation Aktuelle Version Apache Axis: 1.4 Apache Axis2: 1.5.3 (Apache Axis: 22. April 200 …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”