Unterschied zwischen einem Anwendungsserver und einem Servlet-Container?
Ich versuche zu verstehen, den Unterschied zwischen einem vollwertigen application server (z.B. Weblogic, JBoss, etc.) und ein servlet-container (Tomcat, Jetty, etc.).
Wie Sie sich unterscheiden und Wann welcher zu benutzen ist?
Dank,
InformationsquelleAutor der Frage Pushkar | 2011-02-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einem servlet-container unterstützt nur die servlet-API (einschließlich JSP, JSTL).
Application-server unterstützt das ganze Java ee - EJB, JMS, CDI, JTA, der servlet API (einschließlich JSP, JSTL), etc.
Ist es möglich, führen Sie die meisten Java ee-Technologien, die auf einem servlet-container, aber Sie haben die Installation einer standalone-Implementierung der jeweiligen Technologie.
InformationsquelleAutor der Antwort Bozho
Allgemein gesprochen, ein servlet-container beschränkt sich mehr oder weniger um die Umsetzung der J2EE-Servlet-Spezifikation. Auch, es konzentriert sich auf die Laufzeitumgebung und nicht so sehr auf die Bereitstellung zusätzlicher tools.
Dagegen, einen vollwertigen application server implementiert die gesamte J2EE-stack, plus es kommt mit allen enterprisey tools und Integrationsmöglichkeiten. Ein application server hat in der Regel erweiterte Administrations-Schnittstellen, unterstützt clustering und andere Merkmale, die meist in high-end-Systeme Entwicklung.
Für einen Anfänger, ist es wahrscheinlich besser, zu bleiben mit einer einfachen servlet-container, da die Lern-Kurve ist viel weniger steil.
Bearbeiten
@Apache-Fan: Es hängt von den Besonderheiten Ihrer situation, wie bestehende Systeme und Pläne für die Zukunft unter anderem. Ich glaube nicht, dass eine generische Flussdiagramm Ansatz ist hier anwendbar.
Plattform Auswahl erfolgt in der Regel durch Wiegen bestimmten Voraussetzungen gegen wissen aus Erster hand von Systemen unter Berücksichtigung.
Jedoch die Frage gibt keine Anhaltspunkte, was die Kriterien für die Bewertung sind. Sollte es open source sein? Ist rund-um-die-Uhr-support durch den Anbieter notwendig? Was für eine enterprise-Umgebung sollte das system mit integrieren? Sind lizensierungs-Gebühren ein Thema? Alle must-have-Technologien oder-tools? Etc.
Ohne zu wissen, die oben, es ist so ziemlich das Schießen in der Dunkelheit.
InformationsquelleAutor der Antwort Saul
Grundsätzlich eine application server im Java EE-Kontext ist eine software auf einem server installiert und implementiert die Java EE-Spezifikation (Java EE 7 zum Beispiel). Das bedeutet, dass solche software (application server) werden können, muss das ausführen von Java-EE-Anwendung.
Java EE definiert 4 Domänen, die so genannten Container:
Zwei Container sind Teil des application server (EJB-und Web-container) und zwei andere sind Teil der client-computer.
JBoss und Weblogic application Server, Tomcat und Jetty web-container. Das ist, warum JBoss und Weblogic können sich mit mehr Technologien als Web-container. Application server verwalten kann, EJB.
Servlet-container ist nicht der richtige Ausdruck qualifizierten Tomcat und Jetty, weil es restriktiver ist. Tomcat kann auch ausführen, JSP und JSF, nicht nur Servlets.
InformationsquelleAutor der Antwort nanachimi
afaik, websphere und jboss sind vollständig kompatibel mit j2ee-server ausgeführt werden können, ist über servlets, wie EJB, während Tomcat ist nur ein servlet-container und die Sie nicht ausführen können EJBs.
InformationsquelleAutor der Antwort asgs
In Laie Begriffe :
Ein web-Server bedeutet: die Bearbeitung von HTTP-Anfragen (in der Regel von Browsern).
Ein Servlet-Container (z.B. Tomcat) bedeutet: Es kann mit servlets & JSP.
Einem Application Server (z.B. GlassFish) bedeutet: *verwalten können Java EE-Applikationen (in der Regel beide servlet/JSP und EJBs).
Für einen Anfänger, ist es wahrscheinlich besser, zu bleiben mit einer einfachen servlet-container.
InformationsquelleAutor der Antwort Crroods