# Server/Tech-Empfehlung für Web-App?



## Evil-Devil (5. Apr 2011)

Hallo allerseits,

für ein mittelgroßes Projekt das neu aufgesetzt werden soll, suche und evaluiere ich soweit im Vorfelde möglich die zur Verfügung stehenden Technologien. Leider ist dies im Java Bereich alles andere als einfach.

Das Projekt selbst läuft zur Zeit auf PHP und würde nach der bisherigen Anforderungsanalyse von einem Application Server profitieren.
Jetzt ist meine Frage ob ihr vielleicht eine Empfehlung aussprechen könnt, damit die Suche ein wenig eingegrenzter werden kann.

Bei dem Projekt handelt es ich um eine Plattform für Umfragen die je nach Umfrage/Kunde mehr oder weniger stark belastet wird. Bei externen Umfragen hatten wir teilweise 100 Zugriffe die Minute, was bei der aktuellen Architektur zu langen Antwortzeiten >5-10sek Ladezeit führte.

Den Vorteil den wir uns von einer entsprechenden Java-Lösung erhoffen ist, dass wir sehr häufig benötigte Daten einfach vorhalten können und diese nicht bei jedem Request erst holen/verarbeiten müssen. 

Ich hoffe das reicht als grundlegender Input, um eine Empfehlung für einen App-Server / Web-Framework geben zu können.

Danke für alle Antworten die da kommen


----------



## homer65 (5. Apr 2011)

Muß da wirklich neu entwickelt werden?
Oder ist es nicht billiger in bessere Hardware zu investieren?


----------



## Noctarius (5. Apr 2011)

Evil-Devil hat gesagt.:


> Bei externen Umfragen hatten wir teilweise 100 Zugriffe die Minute, was bei der aktuellen Architektur zu langen Antwortzeiten >5-10sek Ladezeit führte.



Klingt eher nach einer schlechten Entwicklung / Architektur. Gibt es für PHP keine Profiler? Ich bin sicher es gibt nur irgendwo hässliche Flaschenhälse die man recht einfach fixen kann.


----------



## ARadauer (5. Apr 2011)

Das ist schwer und geht fast in Richtung Religionskrieg... wir benutzen Tapestry und fahren damit sehr gut, Wicket soll auch super sein. Die neuen Entwicklungen im Bereich JSF finde ich aber auch viel besser als das was es vorher in Richtung "Standard" gegeben hat...

An deiner Stelle würde ich einfach mal 2-3 Frameworks ausprobieren und dann selber entscheiden..


----------



## Evil-Devil (5. Apr 2011)

homer65 hat gesagt.:


> Muß da wirklich neu entwickelt werden?
> Oder ist es nicht billiger in bessere Hardware zu investieren?


Ja, weil die Anforderungen die an das System gestellt werden nicht mehr ausreichend sind hinsichtlich der Gestaltungsmöglichkeiten. Die individuellen Gestaltungsmöglichkeiten die von den Kunden gewünscht werden sind häufig nur mit hohem Aufwand umsetzbar. Dieser würde bei einer neuen Applikation durch das Vorwissen das wir in den letzten Jahren gesammelt haben wegfallen bzw. stark reduziert sein.

Also man kann sich das zb. so vorstellen das du am Anfang was gefragt wirst und basierend auf deinen Antworten wird der komplette weitere Verlauf der Umfrage durch deine Antworten bestimmt. Sowohl was die Fragen als auch was die Antworten angeht. Hier ist der Bedarf an einer hohen Flexibilität unabdingbar.



Noctarius hat gesagt.:


> Klingt eher nach einer schlechten Entwicklung / Architektur. Gibt es für PHP keine Profiler? Ich bin sicher es gibt nur irgendwo hässliche Flaschenhälse die man recht einfach fixen kann.


Es ist eine gewachsene Applikation die nie so ausgelegt war wie sie nun ist. Die Hauptlogikdatei ist bereits auf 6k Zeilen angewachsen und das ganze zu ändern steht in keinem Kosten/Nutzen Verhältnis, da wir ohnehin das System neu aufsetzen wollen mit den nun bestehenden Rahmenbedingungen. Wir sind ganz klein gestartet und stehen zur Zeit bei ca. 20k Benutzern.



ARadauer hat gesagt.:


> Das ist schwer und geht fast in Richtung Religionskrieg... wir benutzen Tapestry und fahren damit sehr gut, Wicket soll auch super sein. Die neuen Entwicklungen im Bereich JSF finde ich aber auch viel besser als das was es vorher in Richtung "Standard" gegeben hat...
> 
> An deiner Stelle würde ich einfach mal 2-3 Frameworks ausprobieren und dann selber entscheiden..


2-3 rauspicken sagt sich so leicht bei der Menge an Frameworks die per se zur Auswahl stehen.

Ok, dann werde ich mich erst mal in den vorgeschlagenen Dinge belesen. Was fällt denn unter die "neuen Entwicklungen im Bereich JSF"? Bin da leider nicht so bewandert.


----------



## RoNa (6. Apr 2011)

Evil-Devil hat gesagt.:


> ... Was fällt denn unter die "neuen Entwicklungen im Bereich JSF"? Bin da leider nicht so bewandert.




Z.B. ICEfaces - Open Source Ajax, J2EE Ajax, JSF Java Framework oder RichFaces Project Page - JBoss Community

Apache Click hört sich auch gut an, da habe ich noch keine Erfahrungen. Hatte nur eben Apache Click 2.3.0 is now available - TheServerSide.com gelesen.

Viel Spass und Erfolg,

Robert


----------



## schalentier (6. Apr 2011)

Ist Java als Technologie gesetzt? 

Wenn nicht und bei euch nicht alles Javaentwickler sind (des Vorwissens wegen) - koennte man auch z.B. Ruby on Rails in Betracht ziehen. Das kann man uebrigens auch (Stichwort JRuby) in einem Application Server laufen lassen (wir setzen Glassfish dafuer ein). Ich glaube, wenn man weder ein Java-Webframework, noch RoR kennt, kommt man mit RoR schneller ans Ziel. Viel (Ein-)Arbeit ist es in beiden Faellen.


----------



## jule37 (6. Apr 2011)

man soll ja nach möglichkeit das rad nicht neu erfinden... was du beschreibst klingt so, als würdest du eigentlich Lime Survey verwenden wollen. das ist schon fertig und kann was du haben willst.

darüber hinaus würde ich dir von einem rewrite abraten. versuche lieber deine php anwendung zu optimieren, als wieder bei 0 anzufangen. gehe davon aus, dass alles fehler und probleme in der neugeschriebenen anwendung wieder auftreten und es genauso lange dauert, den rewrite zu entwickeln wie die ursprüngliche app. viele, auch große, projekte sind gestorben, weil man einen rewrite machen wollte (u.a. auch eine version von ms word).

falls es dennoch sein muss: JSF 2.0 ist ein gutes framework mit dem sich recht fix mächtige apps hochziehen lassen. nachteil: abhängigkeit von javascript (will man eigtl nicht). ich persönlich finde einfache JSP's gut. wenn man fancy UI haben will kann man zusätzlich JQueryTools hernehmen (wieder javascript :/ ). wichtiger tip: bevor man mit java eine webapp schreibt sollte man unbedingt servlets richtig verstehen, es erspart einem viele kopfschmerzen, weil diese hinter jedem framework stehen und man da immerwieder mal an grenzen stößt.


----------



## Evil-Devil (7. Apr 2011)

schalentier hat gesagt.:


> Ist Java als Technologie gesetzt?
> 
> Wenn nicht und bei euch nicht alles Javaentwickler sind (des Vorwissens wegen) - koennte man auch z.B. Ruby on Rails in Betracht ziehen. Das kann man uebrigens auch (Stichwort JRuby) in einem Application Server laufen lassen (wir setzen Glassfish dafuer ein). Ich glaube, wenn man weder ein Java-Webframework, noch RoR kennt, kommt man mit RoR schneller ans Ziel. Viel (Ein-)Arbeit ist es in beiden Faellen.


Es ist mit im Gespräch, genauso wie Ruby on Rails. Aktuell geht es noch darum zu schauen mit welcher Technologie wir die Anforderungen unseren Wünschen entsprechend umsetzen und später mit weiteren APIs ergänzen können. zb. Reports in Excel und SPSS. 



jule37 hat gesagt.:


> man soll ja nach möglichkeit das rad nicht neu erfinden... was du beschreibst klingt so, als würdest du eigentlich Lime Survey verwenden wollen. das ist schon fertig und kann was du haben willst.
> 
> darüber hinaus würde ich dir von einem rewrite abraten. versuche lieber deine php anwendung zu optimieren, als wieder bei 0 anzufangen. gehe davon aus, dass alles fehler und probleme in der neugeschriebenen anwendung wieder auftreten und es genauso lange dauert, den rewrite zu entwickeln wie die ursprüngliche app. viele, auch große, projekte sind gestorben, weil man einen rewrite machen wollte (u.a. auch eine version von ms word).
> 
> falls es dennoch sein muss: JSF 2.0 ist ein gutes framework mit dem sich recht fix mächtige apps hochziehen lassen. nachteil: abhängigkeit von javascript (will man eigtl nicht). ich persönlich finde einfache JSP's gut. wenn man fancy UI haben will kann man zusätzlich JQueryTools hernehmen (wieder javascript :/ ). wichtiger tip: bevor man mit java eine webapp schreibt sollte man unbedingt servlets richtig verstehen, es erspart einem viele kopfschmerzen, weil diese hinter jedem framework stehen und man da immerwieder mal an grenzen stößt.


Lime Survey haben wir bereits evaluiert und leider als nicht verwendbar gekennzeichnet. Wenn wir es verwenden würden hätten wir zwar ein Umfragesystem das für sich alleine stehen kann, aber es würden noch diverse Frage/Antwort Möglichkeiten fehlen. 

Und der Aufwand beim Erstellen einer Umfrage ist bei Lime Survey in etwa gleich mit dem den wir zur Zeit bereits haben.
Ich stimme dir aber zu, dass die Gefahr bei einer Neuentwicklung die selben Fehler zu machen, nicht aus dem Weg ist. Eine optimierung der bestehenden App ist im aktuellen Zustand wie bereits gesagt jenseits von gut und böse. Wer PHP-Spagetti Code kennt weiß was ich meine. Die App ist wie gesagt gewachsen. Ursprünglich als kleines Umfrage-Panel konzipiert ist es über die Jahre mit Features und Erweiterungen gewachsen. Meist immer nur schnell schnell um den Kundenwunsch entsprechen zu können. 

Danke für den Servlet Tipp. Javascript verwenden wir zur Zeit nicht soviel. Primär für Schieberegler, Einkaufsregal und derlei interaktive Mittel. Für die neue App ist da mehr Verwendung geplant.


Falls sich wer das aktuelle Panel aus der User-Sicht anschauen will, hier der Link: mafo.de ^^

Danke nochmals für alle Antworten bisher.


----------



## schalentier (7. Apr 2011)

Evil-Devil hat gesagt.:


> Aktuell geht es noch darum zu schauen mit welcher Technologie wir die Anforderungen unseren Wünschen entsprechend umsetzen und später mit weiteren APIs ergänzen können. zb. Reports in Excel und SPSS.



Nur zur Info: Mit JRuby kannste jede in Java geschriebene (genauer, jede fuer die JVM verfuegbare) Library problemlos benutzen. Also auch z.B. POI fuer Excel. 

Weiterhin weiss ich grad net was gegen den Einsatz von JavaScript spricht. Mit Rails 3 gibts da eine hervorragende Anbindung (Stichwort: unobtrusive javascript). Wie das mit JSF/JSP und JavaScript aussieht, weiss ich nicht.


----------



## Evil-Devil (7. Apr 2011)

Gegen Javascript hab ich doch gar nichts gesagt. Denn wir brauchen das schließlich und nutzen es doch auch jetzt schon.


----------



## Noctarius (7. Apr 2011)

Oh noch wer, der sich mit einem Export für SPSS rumschlagen soll


----------



## Massenhaft (19. Apr 2011)

Seam, Spring, Grails (Goovy), Lift(Scala)


----------

