Zum Inhalt springen

JBoss oder Tomcat ?


Aiun

Empfohlene Beiträge

hi,

frage, welche Vorteile bringt ein JBoss Application Server gegenüber einem Tomcat bzw. andersherum ?

Ich habe eine Web-Anwendung vorliegen die derzeit über CGI/Java betrieben wird und die soll in Zukunft auf Servlets/Jsp umgestellt werden.

Der Server soll aber so ausgelegt werden das er möglichst viele Möglichkeiten bietet auch über eine Webanwendung hinaus. Da ich bisher kaum mit J2EE & Co gearbeitet habe die frage mal an wissende hier :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

frage, welche Vorteile bringt ein JBoss Application Server gegenüber einem Tomcat bzw. andersherum ?
Gar keine. Deine Frage impliziert, dass beide die gleichen Funktionalitäten darstellen und man daher z.B. einen Tomcat durch einen JBoss substituieren könnte und andersrum. Dem ist nicht so. Es sind zwei verschiedene Produkte, die verschiedene J2EE Aspekte und Bestandteile implementierung und von daher ist diese Frage so nicht zu beantworten.

Tomcat ist ein Servlet Container, JBoss ein Application Server.

JBoss selbst implementiert übrigens nicht selbst die Servlet Specification sondern bringt zur Präsentation auch "nur" einen gebundleten Tomcat mit.

Ich habe eine Web-Anwendung vorliegen die derzeit über CGI/Java betrieben wird und die soll in Zukunft auf Servlets/Jsp umgestellt werden.
Dann wird dir ein Servlet Container (Tomcat, Jetty, Resin, etc.) für den Anfang (und wahrscheinlich auch für den gesamten Lebenszyklus der Applikation) vollkommen ausreichen.

Der Server soll aber so ausgelegt werden das er möglichst viele Möglichkeiten bietet auch über eine Webanwendung hinaus.
Kannst du dieses "möglichst viele Möglichkeiten" ein wenig präzisieren?
Link zu diesem Kommentar
Auf anderen Seiten teilen

Es kann sein / ich vermute das in Zukunft andere Möglichkeiten von J2EE (EJB ?) genutzt werden sollen, evtl. für andere Anwendungen die auf dem gleichen Server laufen. Da ich selbst zu wenig von J2EE weis um das jetzt schon abschätzen zu können...ich formuliere mal so, es sollen auch andere technologien als Servlet/Jsp zur Verfügung stehen.

Soweit ich deine Beschreibung verstehe, wäre ein JBoss die bessere Wahl.

danke

Link zu diesem Kommentar
Auf anderen Seiten teilen

Servus,

wenn Du EJB brauchst, dann ist die Auswahl leicht. Das kann nur der JBoss, nicht der Tomcat. Wenn Dir der Initialaufwand der Einrichtung des JBoss nicht zuviel ist und Du Dich von den vielen Möglichkeiten beim JBoss nicht verunsichern lässt, dann würde ich an Deiner Stelle den JBoss nehmen, dann bist Du auch in Zukunft sicher.

Der JBoss hat übrigens eine gute und kostenlose Doku, da steht viel über den Server und seine Möglichkeiten: http://labs.jboss.com/portal/jbossas/docs

[EDIT]

Servlets bringen Dir ausserhalb von HTTP erstmal nichts. Du willst das auch nicht. :)

Hier ein grober Überblick:

Business-Logik: Session Beans

Anzeigelogik und Zugriff auf Business-Logik: Servlets

Anzeige: JSPs

Persistenz: Entity Beans

Wenn Du also von einem nicht-Web-Client auf die Businesslogik willst, dann verwendest Du SessionBeans. Ebenso von den Servlets aus. Die greifen auch auf SessionBeans zu und implementieren keine Businesslogik direkt.

Das obige gilt natürlich nur, wenn Du Businesslogik und Persistenz mit J2EE / EJB machen willst.

[/EDIT]

Peter

Link zu diesem Kommentar
Auf anderen Seiten teilen

Servlets bringen Dir ausserhalb von HTTP erstmal nichts. Du willst das auch nicht. :)

Servlets sind von Haus aus Protokoll unabhängig.

Man kann also darauf aufbauend auch eigene Client/Server Applikationen schreiben.

Allerdings muss du dann selber ein Protokoll entwerfen. Mit sowas schlägt sich im Zeitalter von Http, Corba, RMI, usw aber eigentlich keiner mehr rum.

Zum JBoss:

Wenn ihr nur Servlets und Jsp benötigt würde ich auf alle Fälle nur einen Servlet Container nutzen. Application Server sind um ein vielfaches komplizierter.

Sollte dann tatsächlich mal eine EJB Anwendung entwickelt werden. Kann man immer noch wechseln.

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo nochmal,

stimmt, da war meine Aussage ein wenig voreilig. Ich hätte dazuschreiben sollen, sie bringen ohne extra Aufwand ausserhalb von HTTP nichts.

Die Komplexität des JBoss würde ich nicht so hoch bewerten. Es gibt mehr Dateien, mehr Konfiguration, usw. Aber man muss diese ja nicht beachten. Die Nutzung des reinen Servlet-Containers gestaltet sich in meinen Augen genauso unkompliziert wie mit einem Nur-Tomcat.

Peter

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es kann sein / ich vermute das in Zukunft andere Möglichkeiten von J2EE (EJB ?) genutzt werden sollen, evtl. für andere Anwendungen die auf dem gleichen Server laufen.
Erfahrungsgemäß tritt der "soll eventuell irgendwann (auch) laufen" Fall im Großteil der Anwendungsfälle überhaupt nicht ein.

Aber unabhängig davon: Das schöne an der Servlet Specification (und der gesamten J2EE Specification) ist, dass sie unabhängig von der eigentlichen Implementierung ist. Das heisst wenn du heute mit einer Webapplication beginnst und diese im Tomcat deployst legst du dich damit nicht darauf fest, sondern kannst (immer gesetzt der Fall du programmierst gegen die Spezifikation und verwendest keine Tomcat Interna) ohne Probleme später wechseln.

Ich benutze für die Entwicklung auch "nur" einen Tomcat, das Live-System hingegen ist ein Cluster von JBoss Maschinen. Klappt alles einwandfrei.

Da ich selbst zu wenig von J2EE weis um das jetzt schon abschätzen zu können
Auch das ist eigentlich immer noch viel zu allgemein. Es ist für das genaue Deployszenario essentiell zu wissen, was an Services zur Verfügung stehen soll. Ansonsten bleibt dir nur die Möglichkeit den ApplicationServer mit allem auszurüsten, was er zu bieten hat (beim JBoss also inklusive HA Unterstützung, Clustering, etc). Das ist in der Regel ein vollkommen unnötiger Overhead und nicht zuletzt immer wieder eine - unnötige - potentielle Fehlerquelle.

wenn Du EJB brauchst, dann ist die Auswahl leicht. Das kann nur der JBoss, nicht der Tomcat.
Was aber deswegen auch nicht automatisch heisst, dass die Webapplication deswegen auch im JBoss laufen muss. Zugegeben, ein eher exotisches Szenario aber es ist durchaus möglich die Webapplication in einer separaten Tomcat Instanz laufen zu lassen, und für den Zugriff auf EJBs eine (entfernte) JBoss Instanz zu kontaktieren.

Inwieweit kann ich Servlets auch außerhalb von HTTP verwenden?
Du kannst ein Servlet durchaus ausserhalb eines Servletcontainers betreiben, allerdings wie schon gesagt: Das willst du nicht wirklich. Es ist ja gerade Sinn und Zweck eines Servlets "nur" den Zugriff und die Verarbeitung über HTTP zu kapseln - die eigentliche Businesslogik sollte nicht auf die Verwendung innerhalb eines Servlets ausgelegt sein. Und damit besteht in der Regel überhaupt keine Notwendigkeit ein Servlet ausserhalb seines dafür vorgesehenen Containers zu verwenden. Wenn man doch immer wieder vor der Problemstellung steht: Wo bekomme ich jetzt ein Servlet her sollte man eher sein Design überdenken als auf tefeukommraus zu versuchen einen Wrapper zu entwickeln/verwenden, der die Servlet API implementiert.
Link zu diesem Kommentar
Auf anderen Seiten teilen

ich danke vielmals für diese vielschichtigen Einblicke. Wird mir sicher bei der Entscheidung helfen.

Noch eine Info: es geht ein wenig auch um Ausbildungszwecke. Damit ein Auszubildender sich in J2EE einarbeiten kann - wie tief, ist wirklich noch nicht abzuschätzen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...