Joe Kinley Geschrieben 28. August 2006 Geschrieben 28. August 2006 Tach Leute, ich suche gerade ein wenig nach einem geeigneten Server fuer meine Applikation. Ausserdem wuerd ich gern schon JEE lernen, wofuer ich also einen Application Server brauche. Nun gibt es da den JBoss, den Geronimo und den GlassFish. Kennt jemand einen oder mehrere, und kennt da auch Vor- und Nachteile? Mir gehts ja vorallem um JEE5, also die neue EJB Geschichte und so, koennen die anderen (also abgesehn vom GlassFish wo man das weiss) das denn auch? Ich blick da noch nicht so ganz durch... Zitieren
perdian Geschrieben 28. August 2006 Geschrieben 28. August 2006 Nun gibt es da den JBoss, den Geronimo und den GlassFish. Kennt jemand einen oder mehrere, und kennt da auch Vor- und Nachteile?Geronimo steht noch sehr am Anfang der Entwicklung und ist für mich von daher etwas vorsichtig zu betrachten. Für das Testen sicherlich einen Blick wert, aber für den Produktiveinsatz eher Vorsicht walten lassen. JBoss ist im Bereich J2EE, JEE, JavaEE (wie auch immer es gerade heißen mag) ApplicationServer immer noch der Platzhirsch schlechthin. Was mehrere Vorteile mit sich bringt: Die Software ist hinreichend ausgereift und wird von einer breiten Benutzerbasis verwendet und weiterentwickelt. Dadurch werden potentielle Bugs zeitig erkannt und auch sehr zeitnah gefixt. Dazu kommt eine breite Basis an Unterstützungsseiten, FAQs, Foren, etc. Für mich einige sehr überzeugende Punkte. Mir gehts ja vorallem um JEE5, also die neue EJB Geschichte und so, koennen die anderen [...] das denn auch? Ich blick da noch nicht so ganz durch...Könnten sie es nicht hätten sie ihre Existenzberechtigung verloren. Allgemein zum Verständnis von JEE: http://en.wikipedia.org/wiki/Java_EE http://en.wikipedia.org/wiki/Application_server Zitieren
Joe Kinley Geschrieben 29. August 2006 Autor Geschrieben 29. August 2006 Und wie schauts aus mit GlassFish... ? https://glassfish.dev.java.net/index.html Hat da schon wer Erfahrungen mit ? Zitieren
perdian Geschrieben 29. August 2006 Geschrieben 29. August 2006 Und wie schauts aus mit GlassFishIst - wenn ich das richtig im Kopf habe - die Weiterentwicklung von Suns ApplicationServer, jetzt aber mit Hilfe einer OpenSource Community. Den großen Vorteil, den ich darin sehe ist, dass die Informationen quasi aus erster Hand kommen. Man sollte meinen, dass Sun seine eigenen Technologieren noch mit am besten kennt. Java EE 5 zertifiziert ist das Ding inzwischen wohl auch, von daher auch eine Sache der persönlichen Preferenzen, wohin man nun tendiert. Aber mal ganz ab von der Frage welche Application Server: Was für eine Applikation entwickelst du? Gerade am Anfang ist es oftmals vollkommen unnötig sich den gesamten Java EE Overhead anzutun, in vielen Fällen reicht bereits eine "nierdrigere" Lösung wie Struts und Konsorten aus. Zitieren
Joe Kinley Geschrieben 30. August 2006 Autor Geschrieben 30. August 2006 Also die Applikation die ich schreibe basiert auf JSP und ansonsten normalen Javaklassen. Da reicht der Tomcat bisher aus. Daneben nutz ich halt noch JDBC und JDOM fuer XML, alles okay soweit Doch soll die Applikation irgendwann wachsen, und da ueberlege ich ob ich eventuell da EJB nutzen moechte, damit es spaeter leicht ist zusaetzlich zu einer Webapplication auch noch einen normalen Java Client zu bauen. In erster Linie gehts mir bei den Applicationservern aber momentan nur darum, welcher am einfachsten und nuetzlichsten ist die neuen Technologien von Java und JEE 5 zu lernen. So wie ich das sehe ist der einzig auf JEE 5 Zertifizierte Server GlassFish, und die anderen noch nicht, ist das richtig? Sprich, da sich bei EJB viel geaendert hat in JEE 5, und ich dieses ja bevorzugt lernen moechte (wobei da die Ueberlegung ist, ob es nicht sinnvoll ist das alte Modell auch noch zu lernen, da viele Firmen das sicher noch Jahre einsetzen werden(muessen)), muss ich mich mit dem GlassFish vergnuegen.... oder? Zitieren
perdian Geschrieben 30. August 2006 Geschrieben 30. August 2006 Doch soll die Applikation irgendwann wachsen, und da ueberlege ich ob ich eventuell da EJB nutzen moechte, damit es spaeter leicht ist zusaetzlich zu einer Webapplication auch noch einen normalen Java Client zu bauen. Ich bin ein großer Java EE Fan aber man muss hiermit auch nicht alles sofort erschlagen. In der Regel fährst du mit einer "einfachen" Applikation für eine ganze Weile sehr gut. Eine "richtige" Java EE Applikation erfordert eine ganze Menge von Erfahrungen, damit man sich nicht bereits am Anfang in den Details verläuft und viel zu viel Overhead mit einbaut, der eigentlich unnötig wäre und einen letzten Endes nur behindert. Dieses Erfahrung lässt sich sehr gut mir "einfachen" Applikationen sammeln. Dort kommt dann manchmal ganz automatisch die Feststellung "Das ließe sich jetzt mit EJBs viel einfacher gestalten". Und genau dann ist - meiner Meinung nach - der richtige Punkt sich intensiver damit zu beschäftigen. Java EE nur um seiner selbst willen geht meistens in die Hose. Sprich, da sich bei EJB viel geaendert hat in JEE 5, und ich dieses ja bevorzugt lernen moechte [...] muss ich mich mit dem GlassFish vergnuegen.... oder?Nein, überhaupt nicht. Java EE ist eine Technologie bzw. eine Sammlung von verschiedenen Technologien und Spezifikationen unter einem Dach. Glassfish ist eben nur eine Implementierung hierfür. Das heisst wer sich genau an die Spezifikation hält, für den macht es prinzipiell überhaupt keinen Unterschied, ob die Applikation nun auf GlassFish, auf JBoss oder einem WebSphere läuft - das ist ja gerade der Witz an der ganzen Sache. Natürlich bietete jeder ApplicationServer auch eigene Services an, bzw. implementiert bestimmte Services auf eine ganz spezielle Weise, bei der Hersteller A objektiv besser ist als Hersteller B. Das sind aber eher Details. Als kleines Beispiel: Einer der von mir betreuten "lightweight" Java EE Applikationen (also ohne 'richtige' EJBs) läuft auf meinem Entwicklungsrechner einwandfrei "nur" mit einem Tomcat als Webserver. Auf den Livesystem steht aber ein Cluster von JBoss Rechnern für Session Replikation und anderen netten Features. Man muss sich also immer vor Augen halten: Was will ich eigentlich? Auf einem lokalen Testsystem ist es wichtig, dass der Server kurze Startup- und Shutdown Zeiten hat, damit nicht nach jedem Update erstmal fünf Minuten nur für Warten auf den Server draufgehen. Auf dem Livesystem ist die Zielsetzung eine andere - der kann ruhig am Anfang ein wenig brauchen solange er danach stabil läuft. Man muss sich hier das beste rauspicken. Zitieren
Joe Kinley Geschrieben 30. August 2006 Autor Geschrieben 30. August 2006 Verstehe. Nur die Sache ist ja, dass GlassFish der einzige JEE 5 Zertifizierte Server ist. Die anderen haben doch nur 1.4 ... wie lang dauert es denn bis die nachgelegt haben? Schliesslich ist ja bald schonwieder Java 6 am Start.... Zitieren
perdian Geschrieben 30. August 2006 Geschrieben 30. August 2006 Verstehe. Nur die Sache ist ja, dass GlassFish der einzige JEE 5 Zertifizierte Server ist.Er ist der einzige zertifizierte - das heisst nicht, dass die anderen die gleichen Funktionalitäten nicht auch bieten. Beim JBoss weiss ich z.B. definitiv, dass eigentlich alle Java EE 5 Funktionalitäten unterstützt werden (schließlich ist z.B. Gavin King führend im EJB3 Persistence JSR tätig). Sie haben eben nur noch nicht den Sun Zertifizierungsprozess durchlaufen (was aber auch nur noch eine Sache der Zeit sein dürfte). Dem normalen Entwickler sollte davon allerdings in der Regel nichts auffallen - die Funktionalitäten sind trotzdem vorhanden. Schliesslich ist ja bald schonwieder Java 6 am StartJava SE ja - bis EE 6 auf den Markt kommt wird es aber wohl noch ein ganzes Weilchen dauern. Zitieren
ksg9-sebastian Geschrieben 31. August 2006 Geschrieben 31. August 2006 zudem bringt es in Firmen mit großer Kundennähe absolut nichts wenn man bei jedem Versionsupdate, sei es das JDK, JEE, diverses Server oder was auch immer, sofort wechselt. Das macht ein Kunde nicht lange mit. Schau dir mal den IBM WebSphere Application Server CE an. Im Endeffekt ist das der Geronimo mit IBM Label. Und, Geronimo ist auch J2EE 1.4 zertifiziert, wenn mich nicht alles teuscht. Zitieren
perdian Geschrieben 31. August 2006 Geschrieben 31. August 2006 zudem bringt es in Firmen mit großer Kundennähe absolut nichts wenn man bei jedem Versionsupdate, sei es das JDK, JEE, diverses Server oder was auch immer, sofort wechselt. Das macht ein Kunde nicht lange mit.Das musst du mir erklären. In einem gut geführten Dienstleistungsunternehmen bekommt der Kunde überhaupt nicht mit, wenn auf eine neue Version gewechselt wird. Es wird eventuell eine geringe Downtime angekündigt, in der die Umstellung durchgeführt wird aber das wars auch. Den Kunden interessiert in der Regel nicht die Version der Software, die eingesetzt wird sondern nur, dass "es" funktioniert. Schau dir mal den IBM WebSphere Application Server CE an. Im Endeffekt ist das der Geronimo mit IBM Label.Und minimal anderer Preisstruktur. Kennst du die Lizenzkosten für WebSphere im professionellen Bereich? Da geht einem der Hut hoch! Zitieren
ksg9-sebastian Geschrieben 31. August 2006 Geschrieben 31. August 2006 Ich weiß nicht was ihr für Kunden habt. Aber bei uns geht es nicht mal "so kurz still und heimlich" dass man dem Kunden ne neue JDK-Version aufbrummt. Das ist mit ewigen Tests (Performance, Bugs us.w.) verbunden. Und "einfach mal so" verteilen und hoffen geht bei 5-stelligen Kundenzahlen leider nicht Ja, das WebSphere verdammt viel Geld kostet weiß ich (wir haben bei uns in der Fima div. WebSphere Produkte). Aber der WAS CE ist _kostenlos_ Für den produktiven Einsatz in der Firma taugt er nicht unbeding, bzw. kommt das halt auf die Anforderungen an. Gruß seb Zitieren
perdian Geschrieben 31. August 2006 Geschrieben 31. August 2006 Ich weiß nicht was ihr für Kunden habt. Aber bei uns geht es nicht mal "so kurz still und heimlich" dass man dem Kunden ne neue JDK-Version aufbrummt.Dann ist die Software nicht flexibel genug, bzw. es wird nach aussen hin nicht richtig dargestellt. Letzten Endes läuft es auf einen Punkt hinaus: Ich muss die vom Kunden gewünschten Funktionalitäten in meiner Software abbilden können. Mit den neuesten Versionen geht dies in der Regel am besten, einfachsten und sichersten. Wenn ich mich dann selbst einschränke und mein System von vorneherein nicht so aufbaue, dass es mit den Anfoderungen mitwachsen kann und auch neue externe Libraries bzw. Plattformen "verkraftet", dann liegt ein Fehler im Design vor. Aber der WAS CE ist _kostenlos_Huch, und sowas bei IBM Nur kostenlos als Entwicklerversion, oder ist der produktive Einsatz hier auch schon mit eingeschlossen? Zitieren
ksg9-sebastian Geschrieben 31. August 2006 Geschrieben 31. August 2006 Es geht nicht darum ob die Software das verkraftet. Wenn das JDK abwärtskompatibel ist dann geht das ohne Probleme. Und selbst die Änderungen an der Software wären nicht sooo enorm. Aber es geht um's verteilen der Software (bei bei ca. 80000Arbeitsplätzen ein recht großes unterfangen ist) Zu WAS CE: http://www.golem.de/0510/41263.html http://www-306.ibm.com/software/info1/websphere/index.jsp?tab=landings/was-ce Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.