Différence entre serveur Web, conteneur Web et serveur d'applications

96

Veuillez me dire la différence entre le serveur Web, le conteneur Web et le serveur d'applications.

Gautam
la source
Merci pour la réponse. J'ai parcouru ces liens et je voudrais vous demander une chose. Pouvons-nous dire que Tomcat est un serveur d'application
Gautam
Non, Tomcat est un conteneur de servlet.
David Grant

Réponses:

64

Votre question est similaire à celle ci-dessous:

Quelle est la différence entre le serveur d'applications et le serveur Web?

En Java: Web Container ou Servlet Container ou Servlet Engine: permet de gérer les composants tels que les servlets, JSP. Il fait partie du serveur Web.

Serveur Web ou Serveur HTTP: Un serveur capable de gérer les requêtes HTTP, envoyées par un client et de répondre avec une réponse HTTP.

Serveur d'applications ou serveur d'applications: peut gérer toutes les opérations d'application entre les utilisateurs et les applications métier ou bases de données back-end d'une organisation.Il est fréquemment considéré comme faisant partie d'une application à trois niveaux avec: niveau Présentation, niveau logique, niveau données

Domincjuin
la source
Merci pour la réponse .. pouvons-nous dire que Tomcat est un serveur d'applications.
Gautam
Apache Tomcat est Servlet Engine et IBM - WebSphere Application Server est un exemple pour Application Server
Dominc
Apache HTTPD est un serveur Web
atish shimpi
5
Apache HTTPD est un serveur Web, Apache Tomcat est un conteneur Web, qui est en fait Apach HTTPD + un moteur de servlet. Un serveur d'applications Java avec la configuration précédente serait: Apache Tomcat + conteneur EJB + API (JDBC, JNDI, JTA / JTS, JCA, JMX, JAAS, Java Mail, JMS). Un conteneur Web exécute uniquement des WAR, un serveur d'applications exécute des EAR.
ziMtyth
10

Serveur Web: il fournit une requête HTTP et une réponse HTTP. Il gère la demande du client uniquement via le protocole HTTP. Il contient un conteneur Web. Application Web principalement déployée sur un serveur Web. EX: Servlet JSP

Conteneur Web: il maintient le cycle de vie de l'objet Servlet. Appelle la méthode de service pour cet objet servlet. transmettre l'objet HttpServletRequest et HttpServletResponse

Serveur d'applications: il contient une grande application d'entreprise ayant une logique de grande entreprise. C'est un poids lourd ou il contient des applications de poids lourd. Ex: EJB

Avinash Pande
la source
8

Une application Web s'exécute dans un conteneur Web d'un serveur Web. Le conteneur Web fournit l'environnement d'exécution via des composants qui fournissent le contexte de dénomination et la gestion du cycle de vie. Certains serveurs Web peuvent également fournir des services supplémentaires tels que la sécurité et le contrôle d'accès concurrentiel. Un serveur Web peut fonctionner avec un serveur EJB pour fournir certains de ces services. Un serveur Web, cependant, n'a pas besoin d'être situé sur la même machine qu'un serveur EJB.

Les applications Web sont composées de composants Web et d'autres données telles que des pages HTML. Les composants Web peuvent être des servlets, des pages JSP créées avec la technologie JavaServer Pages ™, des filtres Web et des écouteurs d'événements Web. Ces composants s'exécutent généralement sur un serveur Web et peuvent répondre aux requêtes HTTP des clients Web. Les servlets, les pages JSP et les filtres peuvent être utilisés pour générer des pages HTML qui sont l'interface utilisateur d'une application. Ils peuvent également être utilisés pour générer du XML ou d'autres données de format qui sont consommées par d'autres composants d'application.

Source: http://www.service-architecture.com/articles/application-servers/j2ee_web_server_or_container.html

Rahul Maurya
la source
4

Le conteneur Web, également appelé conteneur de servlet, est le composant d'un serveur Web qui interagit avec les servlets Java. Un conteneur Web est chargé de gérer le cycle de vie des servlets, de mapper une URL sur un servlet particulier et de s'assurer que le demandeur d'URL dispose des droits d'accès appropriés.

Indra Kant
la source
1

La principale différence entre les conteneurs Web et le serveur d'applications est que la plupart des conteneurs Web tels qu'Apache Tomcat implémentent uniquement le JSR de base comme Servlet, JSP, JSTL où les serveurs d'applications implémentent l'intégralité de la spécification Java EE. Chaque serveur d'applications contient un conteneur Web.

JFC
la source
0

Conteneur Web + gestion des requêtes HTTP = serveur Web

Serveur Web + EJB + (Messagerie + Transactions + etc) = ApplicaitonServer

Srikant M
la source
-1

Les conteneurs Web sont chargés de fournir l'environnement d'exécution aux applications Web. Il contient des composants qui fournissent un contexte de dénomination et gère le cycle de vie d'une application Web. Les conteneurs Web font partie d'un serveur Web et ils traitent généralement la demande de l'utilisateur et envoient une réponse statique.

Les conteneurs de servlet sont ceux dans lesquels résident les composants créés par JSP. Ils sont essentiellement responsables de fournir un contenu dynamique conformément à la demande de l'utilisateur. Fondamentalement, les conteneurs Web répondent avec un contenu statique selon la demande de l'utilisateur, mais les servlets peuvent créer les pages dynamiques.

Hemang Rindani
la source
-1

L'idée de base du conteneur de servlets utilise Java pour générer dynamiquement la page Web côté serveur à l'aide de servlets et de JSP. Ainsi, le conteneur de servlet fait essentiellement partie d'un serveur Web qui interagit avec les servlets.

Varun Vashista
la source