# Java Application Server - Webanwendungen



## miketech (12. Aug 2005)

Hi zusammen,

ich habe ein kleines Verständnisproblem:

Was genau machen Java Application Server? Sind JBoss und Glassfish von SUN Application Server? Gehört Tomcat auch dazu?

Wofür brauch ich Java Application Server und wofür genau brauch ich Tomcat? Irgendwie ist mir das nicht ganz klar. Würde mich freuen, wenn mir das jemand erklären könnte.

Gruß

Mike


----------



## KSG9|sebastian (12. Aug 2005)

JBoss ist ein ApplicationServer. Glassfisch von SUN ? Ich kenn nur den normalen SUN Application Server. 

Tomcat ist ein Serlvet-Container. Unterschied zum AppServer: Tomcat hat keine EJB-Container (Enterprise JavaBeans).

Wofür man den braucht ? Den Tomcat brauchst du um Java Webanwendungen (Struts, JSF u.s.w.) laufen zu lassen. Nen AppServer brauchst du wenn du in deiner WebApp noch EJB's brauchst


----------



## miketech (12. Aug 2005)

Hi,

erstmal danke für Deine Antwort. Wofür brauch ich denn EJBs?

Also ich habe mittlerweile rausgefunden, dass die Java Beans eine Art Komponentensammlung ist. Wo ist der Vorteil, wenn ich EJB benutze? 

Ansonsten habe ich mich gestern etwas in Servlets eingelesen. Aber mir ist nicht ganz klar, wo der Vorteil gegenüber PHP oder sowas ist. Ich kann hier genauso Sessions verwalten und somit Daten teilen. Und Servlets sind wahrscheinlich nicht performanter, eher das Gegenteil. Ich komm mit dem Begriff Webanwendung einfach noch nicht ganz zurecht.

Gruß

Mike


----------



## Bleiglanz (12. Aug 2005)

VERGISS EJB für die nächsten paar Monate, da kannst du jetzt als Anfänger nicht durchsteigen

Vorteile gegenüber PHP gibts genügend, aber die Diskussion schenken wir uns besser

Webanwendung

in PHP -> eine lose Sammlung von einzelnen Dateien 

in Java -> EIN Ordner mit festgelegter Struktur


----------



## miketech (12. Aug 2005)

Hi,

hm ist EJB so kompliziert?  

Also sind diese ganzen Webseiten mit PHP, zum Beispiel ein Forum oder sowas eine Webanwendung? Und sowas wie ein Forum ginge dann auch in Java, ja? Mir ist da jetzt keines bekannt. Oder ist ein Forum nichts, was man unter Java Webanwendungen versteht?

Wo finde ich denn Informationen bzgl. Vergleiche von PHP und Java? In PHP habe ich schon relativ viel gemacht und habe bisher nichts vermisst. Daher würde mich mal interessieren, wo Java seine Vorteile ausspielen kann.

Auch wenn das jetzt nicht in dieses Forum passt: Gibts in .NET eigentlich was vergleichbares? Ist ASP.NET sowas wie JSP? Und was sind Applikationsserver für .NET?

Gruß

Mike


----------



## Bleiglanz (12. Aug 2005)

ja, EJB ist komplex

alles was dynamisch erzeutes HTML vom server liefert ist eine Webanwendung, das ist ja kein feststehender Begriff

PHP, RubyOnRails, ASP.NET, JSP, ... machen alle "im Prinzip" das gleiche

warum willstn das alles wissen? wenn du noch kein java kannst, dann lern doch erst mal das


----------



## miketech (12. Aug 2005)

Hi,

naja es ist ja nicht so, dass ich gar kein Java kann. Nur bisher habe ich mich nie mit Webanwendungen mit Java auseinandersetzt und bin aber oft über diese Begriffe gestolpert. Was ich bisher darüber gelesen habe hört sich ja recht interessant an, nur fehlt mir etwas der Überblick.

Ich weiß also nicht genau, wofür ich da nun Java brauche, wo der Vorteil liegt. Und solange ich das nicht weiß, kann ich auch nicht einschätzen, inwiefern sich Java für Projekte eignet, in denen ich bisher PHP, oder sowas verwendet habe.

Gruß

Mike


----------



## Bleiglanz (12. Aug 2005)

Vorteil:

Java ist "besser" als PHP

Java-Webanwendungen haben einen globalen "Context", d.h. man kann einfacher gemeinsam genutzte Daten verwalten (nicht einfach nur ein haufen php-dateien mit scheusslichen includes...)

Es gibt eine Ablaufumgebung (Webcontainer), der Ressourcen verwalten kann (Connection-Pool für Datenbanken, usw)

Es gibt eine vernünftige Security (deklarativ)

Eigene Tags können geschrieben werden (sog. Taglibs)

Zehntausend Frameworks stehen zur Auswahl, die Best-Practices implementieren (Struts, JSF, usw.)


----------



## byte (12. Aug 2005)

es gibt so ne seite, die heisst wikipedia. da kann man eigentlich prima sachen rausfinden, wenn man zum beispiel nicht weiss, was ejbs etc sind. versteh mich nich falsch, du kannst gerne fragen stellen, aber ansich sollte man sich erstmal ein grundwissen aneignen und wenn man dann noch fragen hat, kann man gerne gezielt fragen stellen.

also in zukunft die "was ist eigentlich ...?" fragen hier stellen: http://de.wikipedia.org/wiki/Hauptseite (oder google bemühen)


----------



## miketech (12. Aug 2005)

Hi,

ok, das mit Wiki stimmt natürlich  Hab mich daher grad mal durchgelesen, aber wirklich was drunter vorstellen kann ich mir immer noch nicht. Ich denke, ich müsste einfach mal so etwas implementieren, um wirklich einen Einblick zu bekommen, wie das abläuft. Nur fällt mir jetzt auf die Schnelle nichts ein, was man mit J2EE machen könnte. Es scheint ja, so wie ich das nun verstanden habe primär für große Projekte zu sein. Für kleinere Projekte ist es wohl absolut Overkill. 

Was ich interessant finde: Ich bin öfter auf den Begriff der "verteilten Anwendung" gestoßen. Anscheinend ist es irgendwie möglich sehr geschickt Java Anwendungen auf mehreren Servern zu verteilen. Ok, ich sehe das so:

Ich habe die Präsentationsschicht auf einem Server, die Geschäftslogik und die Datenhaltung auf anderen Servern.

Kann ich das noch mehr aufteilen? Angenommen ich realisiere eine Art Messaging System mit J2EE. Ich habe nun 1000 Anwender parallel auf meinem System und da es sich um ein Messaging System handeln soll, mit möglichst schnellen Reaktionszeiten haben alle 1000 Anwender eine Verbindung zum Server offen. Nun müssen ja bei einem Messaging System Daten hin und her geschoben werden zwischen den Verbindungen.

Kann ich nun die 1000 Personen aufteilen auf mehrere Server und dennoch Daten hin und herschieben? Oder lohnt sich das da nicht wirklich? Weil ob ich nun 1000 direkte Verbindungen auf einem Server habe, oder mehrere Server, die dann aber untereinander ständig Nachrichten schicken müssen, ist doch fast egal. 

Oder bin ich hier wieder am Anwendungsbereich vorbeigeschossen? *g*


Zu PHP:

Aha, Java ist besser als PHP  Also PHP eignet sich ja wohl insbesondere für kleinere Projekte, wo Java wohl zu viel ist. Oder eignet sich Java auch für kleinere Anwendungen? Dann aber wohl nicht mit J2EE... oder doch?

Struts hab ich mir noch nicht angeschaut, werde mich auch diesbzgl. nochmal schlau machen  Danke

Gruß

Mike


----------



## KSG9|sebastian (12. Aug 2005)

Java macht eine Anwendung nicht overdosed. Die Techniken die du benutzt machen ne Anwendung overdosed.

Wenn du wegen nem Gästebuch anfängst EJBs zu implementieren ist das Schwachsinn. 


Du kannst mir Java sehr gut auch kleinere Webauftritte machen. Mit Struts und/oder JSF geht das ganze sehr schnell und vor allem hast du den Vorteil, dass sich die Anwendung (bei sauberer Programmierung) wesentlich einfacher erweitern lässt als es mit PHP möglich ist 

Zudem hast du in PHP meistens irgendwelche prozeduralen Webkrücken. Da OOP in PHP5 IMHO net wirklich ausgereift ist wirds auch noch ne weile so gehen.


----------



## miketech (12. Aug 2005)

Hi,

ok das mit PHP5 kann ich jetzt nicht beurteilen. PHP verleitet immer recht schnell zu üblen Hacks und Spaghetti-Code 

Ich werde mir mal eine Übersicht von Struts verschaffen, jedoch habe ich davon nicht immer gutes gehört. Angeblich sei die Konfiguration unschön und das ganze sei bei einigen sehr langsam. Selbst beurteilen kann ich das nun nicht, vielleicht gibt sich mir ja mal die Möglichkeit dazu.

Gruß

Mike


----------



## Dukel (13. Aug 2005)

Hier mal ein Text über Application Server:
http://www.torsten-horn.de/techdocs/applicationserver.htm

Die ganzen Tech Docs lohnen sich mal reinzuschauen.


----------



## miketech (13. Aug 2005)

Ah cool, danke. Dann les ich mir das nochmal durch.

Hab aber gehört, dass Struts einen ganz schönen Speicherverbrauch hat und man nen guten Server braucht, um nen Webautrtitt damit umzusetzen.

Gruß

Mike


----------

