Webperformanceregeln und JSF 2

JSF flott gemacht

Torsten Gilles


Schon seit seiner Entstehung wird JSF als Nachfolger und Ablösung des noch immer weit verbreiteten, mittlerweile aber von vielen als veraltet bewerteten Struts-Frameworks gehandelt. Während JSF 1 noch mancherlei Probleme barg, liegt mit JSF 2 ein ausgereiftes Framework vor. Vor allem wegen seines durchgängig komponentenorientierten Ansatzes und seiner leicht zu benutzenden Ajax-Integration spricht es Entwickler in besonderem Maße an. Es geht damit in eine ähnliche Richtung wie eine Reihe anderer moderner Frameworks, die es ermöglichen, Websites ähnlich wie Desktopapplikationen zu schreiben – etwa mit Swing. In JSF hat man aber durchaus noch einen View-Begriff, der einer Page innerhalb einer Site entspricht. Dadurch scheint es besser für den Einsatz eher seitenzentrierter, aber funktional reichhaltiger Sites geeignet zu sein, als zum Beispiel GWT oder Vaadin, bei denen sich standardmäßig alles auf einer einzigen Seite abspielt. Denkt man an weitere Aspekte wie Deeplink- und Bookmark-Fähigkeit oder Crawlbarkeit und Optimierung für Suchmaschinen, scheint man hier mit JSF besser gerüstet zu sein. So spricht vieles dafür, JSF als Basistechnologie für kommerzielle Internetportale einzusetzen – oder?

Einführung

In Sachen Performance hat JSF bisher einen eher schlechten Ruf. Googelt man nach „JSF-Performance“, findet man die typischen Berichte über hohen Speicherverbrauch und starke CPU-Belastung. Hier ist JSF tatsächlich sehr viel hungriger als etwa Struts, was hauptsächlich daran liegt, dass pro View ein kompletter Komponentenbaum samt seines (benutzerbezogenen) Zustands verwaltet werden muss. Sicherlich sind solche Probleme ernst zu nehmen, können häufig aber über eine horizontale Skalierung hinter einem Loadbalancer, sprich durch ein ausreichendes Hardwareaufgebot gelöst werden. In manchen Bereichen bieten die Standardimplementierungen Konfigurationen an, um JSF zu tunen, wie zum Beispiel die Möglichkeit, den View ­State auf den Client zu transferieren, um Speicherplatz zu sparen. Bei Internetplattformen ist ein anderer Aspekt meist von größerer Wichtigkeit: die Webperformance, d. h. das für den Benutzer nachvollziehbare Lade- und Anzeigeverhalten einer Site im Browser, das gewöhnlich unter die Rubrik User Experience fällt. Hier hat es in den letzten Jahren weitreichende Entwicklungen gegeben. Regeln, wie sie von Steve Souders [1], [2] formuliert worden sind, finden immer breitere Beachtung und werden in verbreiteten Tools wie etwa YSlow unmittelbar visualisi...

Webperformanceregeln und JSF 2

JSF flott gemacht

Torsten Gilles


Schon seit seiner Entstehung wird JSF als Nachfolger und Ablösung des noch immer weit verbreiteten, mittlerweile aber von vielen als veraltet bewerteten Struts-Frameworks gehandelt. Während JSF 1 noch mancherlei Probleme barg, liegt mit JSF 2 ein ausgereiftes Framework vor. Vor allem wegen seines durchgängig komponentenorientierten Ansatzes und seiner leicht zu benutzenden Ajax-Integration spricht es Entwickler in besonderem Maße an. Es geht damit in eine ähnliche Richtung wie eine Reihe anderer moderner Frameworks, die es ermöglichen, Websites ähnlich wie Desktopapplikationen zu schreiben – etwa mit Swing. In JSF hat man aber durchaus noch einen View-Begriff, der einer Page innerhalb einer Site entspricht. Dadurch scheint es besser für den Einsatz eher seitenzentrierter, aber funktional reichhaltiger Sites geeignet zu sein, als zum Beispiel GWT oder Vaadin, bei denen sich standardmäßig alles auf einer einzigen Seite abspielt. Denkt man an weitere Aspekte wie Deeplink- und Bookmark-Fähigkeit oder Crawlbarkeit und Optimierung für Suchmaschinen, scheint man hier mit JSF besser gerüstet zu sein. So spricht vieles dafür, JSF als Basistechnologie für kommerzielle Internetportale einzusetzen – oder?

Einführung

In Sachen Performance hat JSF bisher einen eher schlechten Ruf. Googelt man nach „JSF-Performance“, findet man die typischen Berichte über hohen Speicherverbrauch und starke CPU-Belastung. Hier ist JSF tatsächlich sehr viel hungriger als etwa Struts, was hauptsächlich daran liegt, dass pro View ein kompletter Komponentenbaum samt seines (benutzerbezogenen) Zustands verwaltet werden muss. Sicherlich sind solche Probleme ernst zu nehmen, können häufig aber über eine horizontale Skalierung hinter einem Loadbalancer, sprich durch ein ausreichendes Hardwareaufgebot gelöst werden. In manchen Bereichen bieten die Standardimplementierungen Konfigurationen an, um JSF zu tunen, wie zum Beispiel die Möglichkeit, den View ­State auf den Client zu transferieren, um Speicherplatz zu sparen. Bei Internetplattformen ist ein anderer Aspekt meist von größerer Wichtigkeit: die Webperformance, d. h. das für den Benutzer nachvollziehbare Lade- und Anzeigeverhalten einer Site im Browser, das gewöhnlich unter die Rubrik User Experience fällt. Hier hat es in den letzten Jahren weitreichende Entwicklungen gegeben. Regeln, wie sie von Steve Souders [1], [2] formuliert worden sind, finden immer breitere Beachtung und werden in verbreiteten Tools wie etwa YSlow unmittelbar visualisi...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang