Struts-Faces und oder Spring Framework für komplexe WebApplication

Flow206

Grünschnabel
Hallo erstmal,

ich habe folgende Situation:
Es geht darum eine recht umfangreiche Software von SQLWindows(veraltete Programmiersprache für WindowsFenster und SQL-DB-Zugriff) auf eine JavaWeb Anwendung zu überführen (die DatenbankSchicht bleibt unangetastet).
Falls euch das jetzt nichts sagt, es handelt sich um eine Qualitätsmanagment-Software
mit ~10 Modulen und unzähligen WindowsFenstern + Datenbankzugriff und Mehrsprachigkeit.

Ich kenne mich relativ gut mit Struts aus und wollte es ursprünglich rein mit
Struts + Hibernate realisieren.
Auf die gute "Control"-Schicht im MVC, das mächtige Tiles-Framework und ferner auch
die ausgereifte Validierung möchte ich nicht verzichten da ich dies für eine so große Anwendung für unerlässlich halte.
Zudem wird struts von praktisch jeder guten IDE unterstützt was ebenfalls sehr wichtig ist
bei der Projektgröße.

Hinsichtlich des UI würde ich sehr gerne JavaServerFaces mit ins Boot nehmen.

Habe aber jetzt aber einiges über das mächtige workfloworientierte Spring-Framework gelesen und die gute und einfache Unterstützung für die Integration weiterer J2EE Komponenten

Meine Fragen:
1.) Ich überlege eine Kombination von Struts mit JSF (über Struts-Faces das ja leider noch nicht in einem final release vorliegt).
Wird dies von Entwicklungsumgebungen als KombiLösung unterstützt? Ich seh das jeweils nur einzeln aufgeführt. (die Frage nach der Entwicklungsumgebung kläre ich im Anschluss)

2.) Kann ich das Spring Framework später noch integrieren oder sollte ich vielleicht
direkt auf Spring setzen?
Eine Spring/Struts Lösung scheint mir zwar interessant aber Spring wird bisher, soviel ich gesehen habe, von kaum einer professionellen IDE direkt unterstützt und das wäre relativ wichtig.

3.) Falls Ihr meint ich bin auf dem Holzweg mit Struts/JSF oder sonstigen Überlegungen dann ruhig äussern


Okay, bin gespannt auf euer Feedback da ich echt noch etwas unsicher in der Framework-Frage bin.
Ich denke aber einige Leute recherchieren in diese Richtung, wäre super wenn man da mal sein Wissen/Erfahrung matchen könnte. (bitte keine Selbstdarsteller)

Gruß
 
Hallo!

1.) Ich überlege eine Kombination von Struts mit JSF (über Struts-Faces das ja leider noch nicht in einem final release vorliegt).
Wird dies von Entwicklungsumgebungen als KombiLösung unterstützt? Ich seh das jeweils nur einzeln aufgeführt. (die Frage nach der Entwicklungsumgebung kläre ich im Anschluss)
IMHO existiert bezüglich dieser Kombination noch keine "Spezielle" IDE-Unterstützung. Jedoch sollte sich diese durch das Zusammenführen von separaten Plugins (jeweils für Struts und JSF) eine geeignete Entwicklungsumgebung zusammenschustern lassen.

2.) Kann ich das Spring Framework später noch integrieren oder sollte ich vielleicht
direkt auf Spring setzen?
Eine Spring/Struts Lösung scheint mir zwar interessant aber Spring wird bisher, soviel ich gesehen habe, von kaum einer professionellen IDE direkt unterstützt und das wäre relativ wichtig.
Für Spring gibt's zumindets mal ein Eclipse Plugin (Spring IDE) und XDoclet Tasks (SpringDoclet). Damit lässt sich zumindest schonmal der Aufwand zum erzeugen des (bzw. der) applicationContext.xml Files minimieren. Arbeitet man mit einem MDA Ansatz und setzt man AndroMDA ein kann man sich sogar noch viel mehr generieren lassen (Spring Cartridge enthält zahlreiche Velocity Templates welche noch eine ganze Menge mehr erzeugen können, als nur ctx.xml Dateien.. Voraussetzung dafür ist jedoch ein UML Meta Model welches in Form eines XMI Dokuments vorliegen muss...).
Aber nun mal zur eigentlichen Frage. Ich würde an deiner Stelle direkt auf Spring setzen. Dependency Injection unter Spring verleitet zu einem "ganz" anderem (IMHO angenehmeren) Programmiermodell...
Würdest du Spring später einsetzen müsstest du unter Umständen nach und nach deinen Code Refaktorieren, da du viel Infrastrukturfunktionalität, welche du selbst implementiert hast gar nicht mehr bräuchtest, da Spring das viel eleganter für dich erledigen könnte.
(Das erlebe ich gerade... ;-) Ich migriere derzeit mehrere EJB Anwendungen nach Spring/Hibernate)

3.) Falls Ihr meint ich bin auf dem Holzweg mit Struts/JSF oder sonstigen Überlegungen dann ruhig äussern
Was hälst du von den Alternativen WebWork / Tapestry?
Spring WEB MVC bzw. Spring WebFlow hast du dir schon angeschaut?
http://www.theserverside.com/articles/article.tss?l=SpringWebFlow

Gruß Tom
 
Thomas Darimont hat gesagt.:
IMHO existiert bezüglich dieser Kombination noch keine "Spezielle" IDE-Unterstützung. Jedoch sollte sich diese durch das Zusammenführen von separaten Plugins (jeweils für Struts und JSF) eine geeignete Entwicklungsumgebung zusammenschustern lassen.
Der Rational Application Developer 6.0 hat genau dies. Das Teil ist allerdings nicht ganz umsonst. Das Tool basiert auf Eclipse und ist so sehr eingängig.

Von Spring hab ich leider keine Ahnung.

Grüsse TrueSun
 
Hallo!

Der Rational Application Developer 6.0 hat genau dies. Das Teil ist allerdings nicht ganz umsonst. Das Tool basiert auf Eclipse und ist so sehr eingängig.
Auf welcher Eclipse Version basiert der RAD 6.0? Immer noch auf 2.x ?

Gruß Tom
 
Moin,

ich setze den RAD 6.0 ein und bin mit der JSF-Unterstützung sehr zufrieden.
Bei der zugrundeliegenden Eclipse-Version handelt es sich um die 3.0er.
Vor und Nachteil ist die grosse Sammlung von Plugins, die die IDE sehr komfortabel aber auch langsam macht.

Gruss Wolfgang
 
Tachen allerseits,

@stimmt der eclipse-basierte RAD 6.0 ist wohl die Referenz aber auch alles andere als günstig

Aber nutzt jemand von Euch den JDeveloper 10g + Oracle's ADF-Faces?
Das scheint mir auch eine hochinteressante Lösung, wobei ADF-Faces leider noch nicht ausgereift sind. Nächste Woche auf der JavaOne 2005 wird das Lizenzmodell für die ADF-Faces vorgestellt.
Falls jemand die Kombo schon nutzt würden mich mal die pros & cons interessieren.
Hat der IBM RAD eine vergleichbare JSF-Komponetenbib?

Gruß
F
 
Hallo Zusammen,

es gibt eine umfangreiche Koponentenbilbithek, die für unsere Zwecke bisher ausreichend war. Wir haben mittlerweile 3 produkitve Anwendungen mit einem Team von 7 Leuten damit gebaut.

Aus meiner Sicht gibt es 2 Haupvorteile für den RAD:
* autom generierte PageCode-Klasse
* Projektverwaltung und Erstellung des EAR-Files über Wizard

Über die PageCode-Klassen kommt man sehr einfach an die Seitenkomponenten.
Die durch den RAD empfohlene Projektstruktur (Gesamtprojekt und diverse Teilprojekte) wird sauber verwaltet und das erzeugte EAR-File läuft bei uns in bel. App.-Servern (IBM, Jboss), ohne das wir serverspezifische Anpassungen vornehmen müssen.

In der Vergangenheit haben wir mit dem JDeveloper 3.2.3. gearbeitet. Die Erfahrung zeigte jedoch, dass alles irgendwie proprietär (oraclespezifisch) war und letztendlich nur auf dem oc4j lief.

Gruss Wolfgang
 

Neue Beiträge

Zurück