Ist Glassfish auch ein Webserver?

Status
Nicht offen für weitere Antworten.

Semox

Bekanntes Mitglied
Hallo Forum

Ich experimentiere mit Glassfish. Dabei würde ich gern lernen, wie ich Applikationen, die ich in Netbeans erzeugt habe (Servlets, JSPs, klassische Beans) in meinem "Heimnetznetzwerk" so portiere, als wäre es das Internet himself.

Die Idee ist, daß ich ein Mini-Ausleihsystem (z.B. wie in einer Bücherei mit Bildchen, Kurzbeschr., Ausleihstatus und für den Admin wer's Medium hat) zum tauschen von Movies und Musik bastele. Dazu habe ich einen alten Rechner mit J2EE ausgestattet und ne MySQL Datenbank eingerichtet.

Auf meinem Schlepptop habe ich schon eine *.war file in so einem Beispiel erzeugt und würde nun gern wissen, ob Glassfish nun neben einem Applikationsserver auch einen Webserver enthält, mit dem man Inhalte online (im Heimnetz) stellen kann, wobei es dann eben auch SFTP Zugriff, Rollen, Benutzerkontensteuerung etc. geben können sollte. Kann mich da jemand beraten? Vielen Dank.

Meine Kenntnisse sind was Netzwerkommunikation und Java Programmierung angeht noch nicht sooo unendlich weit, weil ich mitten im Studium bin.

EDIT:
Gruß,
SemoX
 

Semox

Bekanntes Mitglied
Hallo FArt

Danke für die Links. Denen bin ich schon gefolgt. Ist denn Glassfish nun ein vollwertiger Webserver mit den gleichen Fähigkeiten wie z.B. der IIS 7? Das steht da nicht in den Docs, die ich bisher gelesen habe. Hauptsächlich bin ich dabei mich durch das JavaEE Tutorial von Sun durchzuarbeiten... Leider stand da nicht dabei was Glassfish alles kann, obwohl dort eine große Menge an Themen angeschnitten werden.

Was das Studium angeht - das hoffe ich doch auch...

Einige der Profs an meiner Uni und der FH meiner Frau meinen, daß sich Wikipedia viel zu sehr auf journalistischem Niveau (da zu knapp und selten gut belegt), statt wissenschaftlich fundierter Erkenntnisse bewegt - harter Tobac die Aussage... Aber das wäre ein Thema für Trolls und Flamer á la Apple vs. MS, NB vs. Eclipse und Java vs. .NET in der Plauderecke des Forums...

Viele Grüße
Semox
 
M

maki

Gast
Ist denn Glassfish nun ein vollwertiger Webserver mit den gleichen Fähigkeiten wie z.B. der IIS 7?
Wenn es um Webserver geht, ist Apache der Standard, nicht der IIS ;)
Nebenbei bemerkt, Benutzerkonntensteuerung, SFTP Zugriff etc. gehören nicht zum Funktionsumfang eines Webservers.

Einige der Profs an meiner Uni und der FH meiner Frau meinen, daß sich Wikipedia viel zu sehr auf journalistischem Niveau (da zu knapp und selten gut belegt), statt wissenschaftlich fundierter Erkenntnisse bewegt - harter Tobac die Aussage... Aber das wäre ein Thema für Trolls und Flamer á la Apple vs. MS, NB vs. Eclipse und Java vs. .NET in der Plauderecke des Forums...
Das WikiPedia keine Akademische Quelle ist ist klar & unumstritten, denke aber das FArts Aussage darauf abzielte, dass du Fragen zu Grundlagen hattest (Ist Glassfish auch ein WebServer?), diese erschlägt man nunmal mit FAQs, WikiPedia & Google.
 

Semox

Bekanntes Mitglied
Danke Euch beiden!

Manchmal ist es eben doch sehr verlockend, Fragen eben doch in ein Forum zu fragen statt durch 100-200 Webseiten zu scrollen... Tut mir Leid! =) Nichts für ungut...

Dann beeil ich mich mal - mein Sohn schläft endlich und ich habe ganze 50 min Zeit meine Antworten zu ergooglen oder erfragen, bis ich meine Tochter von KiGa abholen darf... *g

Beste Grüße,
Semox
 

JanHH

Top Contributor
Mann mann, so ein Hickhack.

Glassfish ist ein Application Server mit integriertem Servlet-Container. Selbiger "spricht" auch HTTP und kann neben Servlets auch weiteren Webinhalt ausliefern, ist damit aber quasi "zweckentfremdet". So ist es zumindest beim JBoss, und beim Glassfish meines Wissens nach auch. Man sollte also nicht die volle Funktionalität und Leistungsfähigkeit eines richtigen HTTP-Servers erwarten.

Sofern die angepeilte Applikation nicht explizit die Funktionalität eines Application Servers (konkret, EJBs) benötigt, würde ich allerdings dringend davon abraten, mir sowas an die Backe zu binden, und einen ganz normalen Tomcat benutzen.. ist für alles andere ausreichend und deutlich einfacher zu konfigurieren. EJB-Application-Server sind eine Wissenschaft für sich.

Man kann problemlos eine nette effiziente Webanwendung mit JSF und JPA (Hibernate) programmieren, die im Tomcat läuft. Für "kleinere" HTTP-Aufgaben ist der auch ausreichend (kommt halt drauf an, wieviele Leute auf das System zugreifen wollen). Sonst halt noch Apache installieren, ist alles nicht so schwierig. Selbst wenn es ein Application Server sein muss, ist allerdings wohl der JBoss der Standard, den die meisten Leute vorziehen.

Gruß
Jan
 

FArt

Top Contributor
Mann mann, so ein Hickhack.
Was meinst du?

Glassfish ist ein Application Server mit integriertem Servlet-Container. Selbiger "spricht" auch HTTP und kann neben Servlets auch weiteren Webinhalt ausliefern, ist damit aber quasi "zweckentfremdet". So ist es zumindest beim JBoss, und beim Glassfish meines Wissens nach auch. Man sollte also nicht die volle Funktionalität und Leistungsfähigkeit eines richtigen HTTP-Servers erwarten.

Sofern die angepeilte Applikation nicht explizit die Funktionalität eines Application Servers (konkret, EJBs) benötigt, würde ich allerdings dringend davon abraten, mir sowas an die Backe zu binden, und einen ganz normalen Tomcat benutzen.. ist für alles andere ausreichend und deutlich einfacher zu konfigurieren. EJB-Application-Server sind eine Wissenschaft für sich.

Man kann problemlos eine nette effiziente Webanwendung mit JSF und JPA (Hibernate) programmieren, die im Tomcat läuft. Für "kleinere" HTTP-Aufgaben ist der auch ausreichend (kommt halt drauf an, wieviele Leute auf das System zugreifen wollen). Sonst halt noch Apache installieren, ist alles nicht so schwierig. Selbst wenn es ein Application Server sein muss, ist allerdings wohl der JBoss der Standard, den die meisten Leute vorziehen.

Gruß
Jan

Auch wenn du dir viel Mühe gegeben hast und selber hier viel geschrieben hast, die Antwort ist nicht richtig.

Was ist ein "richtiger Webserver" und was heißt hier "zweckendfremdet"? Die JEE Spec deckt auch Webanwendungen ab und somit ist ein Webserver in Applikationsservern enthalten. JBoss hat per Default einen kompletten Tomcat im Bauch.
Die Anforderungen bestimmen die Laufzeitumgbung, also z.B. welchen Webserver ich benötige oder ob es vielleicht doch ein Applikationsserver sein sollte. In dieser Hinsicht teile ich also deine Meinung.

Jetzt frage ich mich: war deine aufwendige Anworte besser und hilfreicher als die Links?

Nichts für ungut...
 
M

maki

Gast
Selbst wenn es ein Application Server sein muss, ist allerdings wohl der JBoss der Standard, den die meisten Leute vorziehen.
Die Zeiten sind doch längst vorbei, JBoss 4 war noch sehr populär, aber JBoss 5 bei weitem nicht mehr so wie der vorgänger, liegt wohl daran dass es so lange gedauert hatte die aktuelle JEE Spek umzusetzen.
 

FArt

Top Contributor
Die Zeiten sind doch längst vorbei, JBoss 4 war noch sehr populär, aber JBoss 5 bei weitem nicht mehr so wie der vorgänger, liegt wohl daran dass es so lange gedauert hatte die aktuelle JEE Spek umzusetzen.

Ich denke, es liegt daran, dass die Community langsam einbrincht. Dafür gibt es zwei Gründe:

* die Core-Entwickler ziehen sich aus der Community zurück; schließlich gibt es den JBoss-Support und dafür zahlen die Kunden
* auch im JBoss-Forum werden immer wieder Fragen gestellt, die leicht durch Doku oder Forensuche beantwortet werden können. Zu selbst gelösten Problemen gibt es kaum noch Rückmeldungen und echte Diskussionen kommen sowieso nicht auf. Die Community besteht vorwiegend noch aus Leechern, die zwar Fragen stellen aber selber der Community nichts zurückgeben. Adrian Brock hat da desöfteren mal sehr extrem reagiert, aber der hat mittlerweile auch lieber seinen eigenen Blutdruck im Blick und zählt lieber mal bis 10... oder bis 1000

Dadurch verliert der JBoss an Attraktivität. Die Technik darunter kann es jedenfalls nicht sein.
 

JanHH

Top Contributor
Mit "Webserver" meinte ich: HTTP-Server. Ein "nativer" solcher wie Apache ist ja doch effizienter, wenn es ums Ausliefern von grossen Dateien (Bildern, Filmen) usw geht, sowas würde ich nicht einem eingebetten Servlet Container, der halt "auch" HTTP spricht, aufbürden. Zumindest nicht dann wenn nenneswerte Mengen an Zugriff auf die Seite stattfinden.

Die HTTP-Fähigkeiten der Servlet-Container dienen ja, denke ich mal und habe ich auch schon öfters gehört, vorwiegend einer einfachen Konfigurationsmöglichkeit zu Entwicklungszwecken, aber nicht dem Produktivbetrieb.

Würde die Kernfrage des Threads allerdings eher darin sehen, herauszufinden, ob für den Threadstarter nicht ein Tomcat die beste Lösung wäre. Eine Diskussion über den angesagtesten Appliaction Server scheint mir hier fehl am Platze.
 

JanHH

Top Contributor
Eigentlich ist es auch eine Frage der Begriffsdefinition.. Was ist ein "Webserver" eigentlich genau? Eigentlich teilt man ja auf in Servlet Container, Application Server und HTTP-Server.
 
M

maki

Gast
Mit "Webserver" meinte ich: HTTP-Server. Ein "nativer" solcher wie Apache ist ja doch effizienter, wenn es ums Ausliefern von grossen Dateien (Bildern, Filmen) usw geht, sowas würde ich nicht einem eingebetten Servlet Container, der halt "auch" HTTP spricht, aufbürden. Zumindest nicht dann wenn nenneswerte Mengen an Zugriff auf die Seite stattfinden.

Die HTTP-Fähigkeiten der Servlet-Container dienen ja, denke ich mal und habe ich auch schon öfters gehört, vorwiegend einer einfachen Konfigurationsmöglichkeit zu Entwicklungszwecken, aber nicht dem Produktivbetrieb.

Würde die Kernfrage des Threads allerdings eher darin sehen, herauszufinden, ob für den Threadstarter nicht ein Tomcat die beste Lösung wäre. Eine Diskussion über den angesagtesten Appliaction Server scheint mir hier fehl am Platze.
Die Zeiten in denen man einen Apache Server mit mod_jk vor den Tomcat geschaltet hat nur der Performance wegen sind imho vorbei, zumindest seit 4.0.
 

FArt

Top Contributor
Die Zeiten in denen man einen Apache Server mit mod_jk vor den Tomcat geschaltet hat nur der Performance wegen sind imho vorbei, zumindest seit 4.0.
Na ja, statische Inhalte liefert der Apache (besonders unter Last) immer noch schneller aus als der Tomcat. Und ein Loadbalancing lässt sich mit mod_jk auch noch wesentlich einfacher und flexibler realisieren.
 
M

maki

Gast
Ja, ist aber imho nicht mehr die Regel, so wie es früher mal war, seit TC 4.0 ist der TC nicht mehr ganz so langsam, da lohnt sich ein vorgeschalteter Apache imho erst wenn wirklich große Last auf dem WebServer .
 

JanHH

Top Contributor
Ich finde es auch sinnvoller, den Tomcat vom HTTP-Bedienen zu entlasten. Die Frage ist doch auch, wie komplex das ist, was innerhalb des Servlets abläuft. Der Tomcat sollte seine volle Power schon dafür nutzen können. Ausserdem ist der Apache ja ein "richtiges" Programm (nativer Maschinenecode), während Tomcat ja auch "nur" java ist. Es kommt natürlich wirklich auf den Einzelfall an. Für eine kleine intranet-Anwendung, bei der nicht viel los ist, reicht der Tomcat natürlich locker aus. Aber der Threadstarter schweigt dazu ja ;).
 
M

maki

Gast
Ich finde es auch sinnvoller, den Tomcat vom HTTP-Bedienen zu entlasten. Die Frage ist doch auch, wie komplex das ist, was innerhalb des Servlets abläuft. Der Tomcat sollte seine volle Power schon dafür nutzen können. Ausserdem ist der Apache ja ein "richtiges" Programm (nativer Maschinenecode), während Tomcat ja auch "nur" java ist. Es kommt natürlich wirklich auf den Einzelfall an. Für eine kleine intranet-Anwendung, bei der nicht viel los ist, reicht der Tomcat natürlich locker aus. Aber der Threadstarter schweigt dazu ja ;).
Wie gesagt, für normale Anwendungen lohnt sich meist kein Apache, denn die Komplexität steigt dadurch.

Alles in allem muss man Messen ob es etwas bringt, denn alles andere ist geraten ;)
 

JanHH

Top Contributor
Naja im Endeffekt muss ja ein und dieselbe CPU die Arbeit verrichten, egal ob sie ihre Taktzyklen dem Tomcat oder dem Apache schenkt. Insofern hast Du wohl Recht. Man neigt aber dazu, davon auszugehen, dass nativer Code deutlich effizienter läuft als java-Bytecode, aber das ist wohl auch schon seit einiger Zeit nicht mehr der Fall..
 

JanHH

Top Contributor
Aber wenn man jetzt ein Multiprozessorsystem hat, macht der Apache dann nicht wieder richtig Sinn? Weil sich das hervorragend auf die verschiedenen CPUs aufteilen lässt?

Aber der Herr Threadstarter sollte endlich mal darlegen, wieviel Auslastung seiner Applikation eigentlich zu erwarten ist. Und/oder wieviel Erfolg er mit Glassfish hatte.
 
M

maki

Gast
Die Frage ist auhc, ob mod_jk richtig konfigueriert ist, ist auch nicht ohne.

Einen Apache davorzuschalten hat natürlich auch andere Gründe als Performance, aber wie gesagt, "normal" bzw. häufig ist dieses Setup heutzutage nicht mehr.
 

Noctarius

Top Contributor
Wir nutzen AJP um die Webanwendungen an die verschiedenen Domains zu binden. Brauchen würde man es nicht aber die VHOST Config von Apache ist fein :D
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Glassfish Custom Realm (oder wie auch immer man das löst) Allgemeines EE 5
thor_norsk Glassfish Server unter Windows startet nicht! Allgemeines EE 20
M Glassfish Deployment-Problem unter Eclipse Allgemeines EE 0
FINF_AW_Alex remote Glassfish Library unverträglichkeit Allgemeines EE 0
J JSF Glassfish jdbcRelam und Oracle-Datenbank - WEB9102: Web Login Failed Allgemeines EE 0
Yamanuchi Glassfish 4 : Client Anzahl restriktieren Allgemeines EE 2
N Glassfish 4 JDBC-Realm Authentifizierung Beispiel gesucht Allgemeines EE 7
C Komplettes Durcheinander / Locales OSX/Linux Glassfish Allgemeines EE 3
A Probleme bei der Einbindung eines Liferay Portalserver (Glassfish) Allgemeines EE 7
D [Glassfish EJB] OneToMany geht nicht Allgemeines EE 7
H Bean läuft unter GlassFish, aber JBoss nicht Allgemeines EE 5
ruutaiokwu glassfish library konflikte vermeiden? Allgemeines EE 3
H Glassfish - Open Source Lizenz für den kommerziellen produktiven Einsatz? Allgemeines EE 2
S Glassfish: Deployment von Realms Allgemeines EE 2
L Eclipse (Helios); Glassfish 3; EJB und VirtualBox Allgemeines EE 1
F Java EE Server nutzung kostenlos an Schule? (zB. mit Glassfish) Allgemeines EE 6
T Auf GlassFish JDBC-Ressourcen zugreifen Allgemeines EE 4
T MS SQL Server, GlassFish, JDBC Allgemeines EE 2
M Fehler bei Javamail Session mit Glassfish 3 Allgemeines EE 3
M Problem mit Lookup auf EJB3 mit Glassfish Allgemeines EE 11
D Debug Modus im Glassfish 2.1 plötzlich nicht mehr möglich Allgemeines EE 2
D Glassfish 3 ohne Cluster Support? Allgemeines EE 1
musiKk Glassfish: Properties zur Laufzeit... wohin? Allgemeines EE 6
K Glassfish Application Client Allgemeines EE 4
B Glassfish, Sjsas und wie sich das Teil noch nennt . . Allgemeines EE 8
B GlassFish & JAAS - Konfiguration für AppClient Allgemeines EE 1
B eine vom Admin hochgeladene csv -Datei in der Datatable auch von jedem User sichtbar Allgemeines EE 0
J Programmierweise bei Webframeworks - Nervt es euch auch? Allgemeines EE 4
MQue funkt. encodeURL auch wenn Cookies eingeschalten sind Allgemeines EE 8
R Sourcen einbinden von J2EE bzw auch für Servlets in Eclipse Allgemeines EE 8
S Downloadbox auch ohne Daten erzwingen // Content-Disposition Allgemeines EE 6
S JSP auch mit Klassen? Allgemeines EE 2
xehpuk Webserver kaum noch erreichbar Allgemeines EE 4
G Suche "billigen" WebServer Allgemeines EE 24
K Wie statisch ist static in einem Webserver? Allgemeines EE 5
Escorter JBoss AS als Webserver Allgemeines EE 2
P WebServer Allgemeines EE 2
M Mehrere Webanwendungen über einen Webserver? Allgemeines EE 2
V tomcat 6 webserver oder was ist sein Sinn? Allgemeines EE 3
M JSP auf Webserver? Allgemeines EE 6

Ähnliche Java Themen


Oben