2009-05-10 7 views
4

Ich muss eine Web-Service-Schicht auf einer vorhandenen Anwendung entwerfen. Wirklich, ich bin am meisten interessiert an WS-Sicherheit und JMS-Unterstützung, möglicherweise JTA.Soll ich mit Tomcat oder einem vollständigen Java EE Container gehen?

Was ist der beste Server für diesen Zweck? Wäre es eine kluge Entscheidung, mit leichtem Tomcat (mit dem ich Erfahrung habe) zu gehen, oder wäre ich besser mit einem Server, der den kompletten Java EE Stack implementiert, wie JBoss AS, WebLogic oder sogar GlassFish?

+1

Hinweis für zukünftige Leser hat sich seit 2009 viel geändert. Siehe die neueren [Warum wählen die Leute Tomcat über ein Java EE-konformer Anwendungsserver?] (Http://stackoverflow.com/q/11262617/190816) –

Antwort

7

Im Allgemeinen, wenn Sie nicht wissen, dass Sie versuchen, Java EE-Dienste besonders zu verwenden, sind Sie besser mit nur Tomcat. Die Java EE-Umgebung ist sehr schwergewichtig; J2EE wurde für wirklich große Umgebungen wie eBay entwickelt. (Ich schrieb Suns ersten J2EE-Architekturkurs; ich habe diese Argumente lange verfolgt.)

Aber dann sagen Sie "JMS", das ist streng genommen ein Java EE-Dienst.

+0

Die Migration von Tomcat zu einem vollständigen JEE-Stack ist relativ einfach. – skaffman

2

Vielleicht möchten Sie experimentieren mit JBoss und sehen, wie es mit dem gehen kann, was Sie wollen, wenn Sie jedoch bei Tomcat bleiben möchten, sollten Sie das Spring Framework betrachten und sehen, ob das die Funktionen hat wollen, da es eine Möglichkeit ist, Java EE ohne einen Java EE Container zu haben.

Es hängt davon ab, wenn Sie mit ein paar Ideen experimentieren und sehen wollen, was für Sie arbeiten wird, oder nur eine Sache tun und dabei bleiben.

Ich tendiere zu experimentieren, bis ich mich wohl fühle, dass ich genug weiß, um die beste Entscheidung zu treffen.

Persönlich würde ich mit Tomcat und Spring gehen, aber ich habe Frühling zuvor verwendet.

Es wäre hilfreich, wenn Sie einen Anwendungsfall für die Verwendung einiger der von Ihnen erwähnten Funktionen angeben könnten, um zu sehen, ob es eine bessere Antwort geben könnte.

1

Sofern Sie nicht etwas im Java EE Stack benötigen, das Tomcat nicht anbietet, würde ich Tomcat verwenden.

Außerdem können Sie jederzeit später ändern, wenn Sie sich entscheiden, Elemente aus dem Java EE-Stapel zu verwenden, wenn sie nicht speziell für den Container codieren.

1

Ich denke, Sie sollten beginnen, einen Full-Stack-Java EE-Container zu verwenden. Sie können natürlich Java EE-Funktionalität an Tomcat anhängen, aber wenn Sie JMS, JTA, WS usw. zusammenhalten, bauen Sie einen Java EE-Server selbst auf. JBoss, Glassfish, JonAS usw. Sie alle bieten eine bereits getestete und (hoffentlich) stabilere Lösung als Ihre :)