23.04.2008
JSF – Ist das Pferd tot?
Wir alle kenne den Spruch “Wenn Du entdeckst, dass Du ein totes Pferd reitest, steig ab.” Bei meinem ersten Projekt ist es jetzt soweit, ich habe beschlossen das “Pferd” JSF ist vielleicht nicht tot, aber zumindest schwer krank.
Anforderung des Kunden war es sowohl “Deep Links”, also URLs anzubieten die direkt tief in den Webauftrit einsteigen als auch den Browser Back Button sauber zu unterstützen. Nach einigen Experimenten und einer Menge Recherche Arbeit bin ich zu der Erkenntnis gekommen, dass JSF für solche Projekte nicht die richtige Plattform ist. Deep Links lassen sich vielleich nocht realisieren, aber den Back Button in Zusammenhang mit Datatables habe ich nicht in den Griff bekommen. Problem ist, dass die Datatable ihren Zustand aus der Session holt, spricht ihre eigentlichen Objekte auf Basis einer drunterliegenden Collection holt. Wenn diese Collection nicht mehr vorhanden ist, funktioniert die Datatable nicht (einen guten Artikel hierzu gibt es auch im myFaces WIKI). Egal wie ich es gedreht habe, ich konnte mit JSF nicht den Speicherbedarf und die Performance parallel in den Griff bekommen, so dass ich die Anwendung auf klassische Servlets (auf MVC Basis) zurück drehen musste.
Die Moral von der Geschicht? Aus meiner Sicht wird JSF nicht DAS Web Framework werden. Im schlimmsten Fall droht JSF ein ähnliches Schicksal wie EJB 1.x und 2.x, gute Ideen aber für die praktische Umsetzung zu kompliziert, im besten Fall wird es ein mögliches Framework für Web Application bleiben. Den de facto Standard Status, wie Struts ihn bis vor einigen Jahren hatte, wird es aber so schnell nicht erreichen können.