Ein neuer Beitrag von mir ist unter der URL
http://bsp.mits.ch/supplements/langsam.htm
im Netz.
Es werden vier Optionen erörtert, um kurze Antwortzeiten in Web-
Anwendungen aufrechtzuerhalten, auch wenn Aufgaben auszuführen sind,
die offenbar viel Zeit beanspruchen:
1.) Performance-Optimierung ist sicher der beste Weg, und in einer
grossen Zahl von Fällen der erfolgversprechende Ansatz. Nur zu oft
werden Ressourcen verschwendet, gibt es einen "Klemmer", der die ganze
Operation zum Erlahmen bringt. Es lohnt sich nicht, andere Wege zu
diskutieren, bevor man eine gründliche Performance-Analyse gemacht
hat.
2.) Aufbereiten und Vorhalten von Daten, z.B. mittels periodischer
Jobs. Das läuft unter dem Thema Pufferung. Oft führt jeder Benutzer
neu eine im Grunde vom Benutzer unabhängige aufwendige Selektion aus.
Diese lässt sich oft zentral ausführen und in Puffern vorhalten.
3.) Einen Hintergrundmonitor einrichten. Wenn sich lange Laufzeiten
wirklich nicht vermeiden lassen, kann man sie asynchron ausführen und
dem Benutzer die Resultate in einem Monitor zeigen. Diese Lösung, die
wir im Retail Store der Migros benutzen, wird ausführlich mit Blick
auf alle Implementierungsdetails diskutiert.
4.) Fortschrittsanzeiger sind zwar eigentlich eine Kapitulation vor
dem Problem. Eine solche Komponente ist jedoch ein guter Anlass, um
den Einsatz des JavaScript-Frameworks Prototype und von Ajax-Mitteln
im BSP-Kontext zu erläutern. Daher wird diese Lösung hier ebenfalls
ausführlich diskutiert. Im "Beispiel"-Abschnitt von
bsp.mits.ch kann
die Implementierung getestet und begutachtet werden ( unter
http://bsp.mits.ch/buch/zz_progress/main.do ).