Java Web Services Container
Ich habe gerade angefangen Java zu lernen-Web Services ( JAX-WS ) und habe eine Frage. Die Referenz-Dokumentation spricht immer nur über die Web-Services-container. Meine Frage ist : Was ist eine Web-Services-container und warum brauchen wir es.
Ich sah ein einfaches Beispiel für eine JAX-WS im Buch "java web services laufen", wo die web-service veröffentlicht wird Verwendung:
Endpoint.publish("http://127.0.0.1:9876/ts", new TimeServerImpl());
Diesem Beispiel nicht von mir verlangen, zum hosten einer web service in einem Web-Server /App Server oder einen beliebigen container.
war ich auch Zugriff auf diesen web service.
Also, was ein container ist, warum brauchen wir es für web-services?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im Grunde brauchen Sie nur etwas, das ausführen von Java-servlets. Typische Beispiele sind Tomcat, Glassfish, JBoss, Jetty und viele andere.
Dieser Tomcat ist das leichteste Gewicht, als es ist "nur" ein servlet container (JBoss und Glassfish J2EE application Server) und ist die Referenzimplementierung für die Servlet-Spezifikation. Hier finden Sie viele IDE-integration und tutorials, die es auch benutzen.
Den web-service-Spezifikation, Implementierung, indem Sie die verschiedenen Anbieter( Websphere,Weblogic, JBoss) sind durch ein servlet und Sie müssen ein servelet-container zur Unterstützung dieses servlet. Dieses servlet ist speziell zum verarbeiten von SOAP-basierten Datenverkehr (HTTP Datenverkehr mit SOAP-Header und body) eher als plain-HTTP-basierte POST/GET, die Sie senden aus dem Browser.
Den web-Dienst, den Sie erstellt läuft in einem container, welcher in diesem Fall ist der server. Der server kann mehrere Anwendungen auszuführen, die jeweils einen eigenen container. Der container ist erforderlich, da es bietet eine eigenständige Umgebung für die Ausführung von Java enthalten ist, die in die Quelle.
Die Container bieten Sicherheit, so dass, wenn eine Anwendung abstürzt durch ein problem, das andere Anwendungen nicht zum Absturz. Je nach Implementierung kann jeder container führen Sie in Ihrer eigenen VM oder kann laufen über mehrere VMs. Im Grunde sind Sie es zum ausführen des Codes in einer separaten Umgebung, die aus anderen code.
Hier ist etwas älter(ish) - Dokumentation auf der Idee von Containern. Grundsätzlich können Sie in verschiedene sichere Container, ähnlich wie das ausführen mehrerer Anwendungen zur gleichen Zeit in Java, gesteuert über eine einzige Anwendung (web-server).