Hallo zusammen,
ihr holt aber gleich weit aus

. Bevor man so umfangreiche und komplexe Entscheidungen trifft, sollten ein paar Dinge klar sein: Kleine Logik in JSPs, sondern in Klassen die unabhängig von jedweder technologie sind. Begrifflichkeiten wie "Bean" oder "JavaBean" machen die Sachen nicht einfacher. Für denen einen sind es Klassen mit einfachen Gettern und Settern, für andere EJBs, für den nächsten wieder Springbeans.
Deswegen ist es IMHO absolut unfruchtbar sich erst darüber Gedanken zu machen, welchen Container man sich ins Haus holt, welches Framework man verwendet usw. Der erste - relativ untechnische - Schritt sollte sein, seine Anwendung logisch zu zerlegen, fachliche Subsysteme zu bilden und (nicht)funktionale Anforderungen mit in Betracht zu ziehen: mit welchen anderen Systemen muss ich reden, gibt es Infrastrukturvorgaben usw.
Um jetzt doch wieder zu den Technoogien zu kommen: ich halte es für sinnvoll etwas zu wählen, was den geringstmöglichen Einfluss auf das Design der Klassen, deren Testbarkeit usw. hat. Ich möchte nicht unbedingt die EJB VS. Spring Debatte aufmachen, aber ich habe das Gefühl das Projekte von einem kleineren Container profitieren. Es gibt sehr wenige Gründe (und es werden immer weniger) die für den Einsatz eines komplette AS sprechen. Witziger Weise hat sich das Management in meinem aktuellen Projekt (Bankumfeld) aus einem eigentlich sinnvollen Grund für einen AS entschieden (JMS über einen JCA Resourceadapter). Als dann allerdings die konkreten Anforderungen klar wurden, stellte sich raus, das die Kiste das, was wir genau brauchten, einfach nicht kann. Und das für einen 5stelligen Eurobetrag pro CPU ^^. Jetzt ziehen wir den Resourceadapter mit 5 Zeilen XML in Spring selbst hoch und die App läuft auf den Devrechnern in nem Tomcat. Das ist aber auch nicht das erste mal, dass ich ähnliche Szenarien erlebt hab.
Genug gebasht. Kurz: man tut gut daran, sich im Code an so wenig wie möglich Technologien zu knüpfen.
Gruß
Ollie