La différence entre un serveur d'application et un conteneur de servlet?
Je suis en train d'essayer de comprendre la différence entre une véritable serveur d'application (par exemple, Weblogic, JBoss, etc.) et un conteneur de servlet (Tomcat, Jetty, etc.).
Comment diffèrent-ils et quand utiliser?
Merci,
- stackoverflow.com/questions/936197/...
- si vous savez la question précise cette doublons, puis en fait, vous devez voter pour le fermer comme un doublon.
- Je n'ai pas le droit de voter pour fermer.
- car il n'est pas un doublon. 🙂
- oups ... hésitez pas à m'ignorer, il semble que je n'ai pas encore eu à ma caféine niveau encore.
- La question est différent de ce que vous avez souligné. Je suis en demandant au sujet de l'application serveur et pas de serveur web.
- lire BalusC de réponse.
Vous devez vous connecter pour publier un commentaire.
Un servlet-conteneur prend en charge uniquement la servlet API (y compris les JSP, JSTL).
Un serveur d'application prend en charge l'ensemble de la JavaEE - EJB, JMS, CDI, JTA, la servlet API (y compris les JSP, JSTL), etc.
Il est possible d'exécuter la plupart des technologies JavaEE sur un servlet container, mais vous devez installer une application autonome de mise en œuvre de la technologie en particulier.
De manière générale, un conteneur de servlet se limite plus ou moins à la mise en œuvre de la spécification Servlet J2EE. Aussi, il met l'accent sur l'environnement d'exécution et non pas tant de fournir des outils supplémentaires.
En revanche, à part entière, serveur d'application met en œuvre l'ensemble J2EE pile; de plus il est livré avec tous les enterprisey des outils et des possibilités d'intégration. Un serveur d'application a généralement avancée des interfaces d'administration, il prend en charge le clustering et d'autres caractéristiques principalement utilisés dans les systèmes haut de gamme du développement.
Pour un débutant, il est probablement préférable de rester avec un simple conteneur de servlets, car la courbe d'apprentissage est beaucoup moins raide.
Modifier
@Apache Fan: Cela dépend des spécificités de votre situation, comme les systèmes existants et les futurs plans, entre autres choses. Je ne pense pas qu'un générique organigramme approche est applicable ici.
Sélection de plate-forme est généralement fait par pesée des exigences spécifiques à l'encontre des connaissances de première main des systèmes en cours d'examen.
Cependant que la question ne donne pas d'indices quant à ce que les critères d'évaluation sont. Devrait-il open source? Est autour-le-horloge fournisseur de soutien nécessaire? Quel genre de l'environnement de l'entreprise si le système de l'intégration? Sont de délivrance des permis de frais un problème? Tout doit-technologies ou outils? Etc.
Sans savoir la-dessus c'est assez prise de vue dans l'obscurité.
Fondamentalement un serveur d'application dans Java EE contexte est un logiciel installé sur un serveur et qui met en œuvre l'une spécification Java EE (Java EE 7 par exemple). Que signifie un tel logiciel (serveur d'application) doit être capable d'exécuter des applications Java EE.
Java EE définit 4 domaines, le soi-disant conteneurs:
Deux conteneurs font partie de l'application serveur (EJB et Web contenant) et les deux autres sont une partie de l'ordinateur-client.
JBoss et Weblogic sont les serveurs d'application Tomcat et Jetty sont des conteneur web. C'est pourquoi, Weblogic, JBoss et peut traiter plus de technologies que d'un conteneur Web. Serveur d'Application peut gérer les EJB.
Conteneur de Servlet n'est pas l'expression adéquate qualifié de Tomcat et Jetty, car elle est plus restrictive. Tomcat peut aussi exécuter des JSP et JSF, non seulement les Servlets.
autant que je sache, jboss, websphere et sont entièrement conformes j2ee, serveur qui peut fonctionner au-delà de servlets, comme EJB, alors que Tomcat est juste un conteneur de servlet et vous ne pouvez pas exécuter les Ejb sur elle.
En d'autres termes :
Un Serveur web: gestion des requêtes HTTP (généralement à partir de navigateurs).
Un Conteneur de Servlet (ex: Tomcat) signifie: Il peut gérer les servlets & JSP.
Un Serveur d'Application (par exemple, GlassFish) signifie: *Il permet de gérer des applications Java EE (généralement de servlet/JSP et Ejb).
Pour un débutant, il est probablement préférable de rester avec un simple conteneur de servlet.