Wie und wo können Angaben zum vorausschauenden Laden von Daten gemacht werden ?
Bei jeder Modul-Spezifikation (Datentyp "ModuleSpec") .kann ein "PreloadParams"-Parameter angegeben werden. Als Parameterwert muss eine Liste von Parameterspezifikationen angegeben sein.
Wird ein Modul mit der angegebenen Spezifikation erzeugt, werden die in PreloadParams angegebenen Parameterwerte beim BACKEND-Modul angefordert.
Wie kann die Nutzung der PreloadParams optimiert werden ?
Werden stets und schnell benötigte Parameterwerte NICHT vorausschauend angefordert, kann dieses zu merklichen Verzögerungen bei der Nutzung des WIM-Systems führen. Werden andererseits unbenötigte Parameterwerte angefordert, entstehen auch dadurch Verzögerungen. Auch wenn Parameterwerte bereits früh angefordert werden, obwohl sie erst etwas später benötigt werden, kann auch das die Reaktionsgeschwindigkeit des Systems beeinträchtigen.
Aus diesem Grunde werden in der WIM-App Daten gesammelt, die beim Optimieren der PreloadParams-Angaben helfen sollen.
Für alle beim BACKEND-Modul angeforderten Parameterwerte wird der genaue Zeitpunkt der ersten Anforderung gemerkt. Handelt es sich um eine PreloadParams-Anforderung, wird dieses speziell gekennzeichnet.
Wird ein Parameterwert dann zur tatsächlichen Verwendung angefragt, wird für PreloadParams-Werte der Zeitpunkt ihrer ersten Nutzung speziell vermerkt. Dadurch kann ermittelt werden, ob ein vorausschauend angeforderter Parameterwert auch tatsächlich verwendet wird oder die vorausschauende Beschaffung eventuell unnötig früh erfolgte.
Weiterhin kann anhand dieser Daten ermittelt werden, ob Parameterwerte beim Hochfahren der App benötigt wurden, die bei den PreloadParams hätten eingetragen sein sollen.
Welche Ergebnisse liefert die Analyse-Funktion ?
Im BACKEND-Modul steht die Methode $preloadAnalysis zur Aufbereitung der Nutzungsdaten der PreloadParams bereit. Die Methode benötigt keine Eingangsparameter.
Als Ergebnis wird ein "PreloadAnalysis"-Datensatz geliefert, der folgende Parameter enthält:
- otherUsedParams: Anfang der Liste von verwendeten (nicht vorbestellten) Parameterwerten mit jeweils der Angabe, wie viele Millisekunden dieser Parameterwert nach dem Start angefragt wurde.
Zu bedenken:
1. Alle Parameter-Spezifikationen werden mit ihrem Projektgruppen-Bezeichner und nicht mit dem Projektnamen versehen;
2. Am Anfang der Liste stehen die (ca. 4) Spezifikationen, die vom APP-Modul ganz am Anfang angefordert werden und bei denen keine PreloadParam -Angabe sinnig ist.
3. Zwischen den aufgelisteten für PreloadParams in Frage kommenden Parameterspezifikationen stehen immer auch Spezifikationen für abgerufene Werte, die zu speziellen (gerade aufgerufenen) Objekten gehören und daher für allgemeine PreloadParams uninteressant sind. - unusedParams: Liste der vorbestellten Parameter, die dann jedoch nicht genutzt wurden in alphabetisch sortierter Folge.
Zu bedenken:
1. Nicht immer werden sämtliche vorbestellten Parameterwerte in der konkreten Aufrufsituation auch immer benötigt. Angaben zur Startseite werden beispielsweise nur bei Aufruf der Startseite benötigt - aber dann möglichst unverzögert.
2. - usedParams: Zeitlich sortierte Liste der tatsächlich verwendeten vorbestellten Parameterwerte. Jeweils mit Angabe der Millisekunden zwischen Vorbestellung und Abfrage.
Derzeit ist noch die Bereitstellung dieser Methode als BACKEN-Service zu erledigen. Übergangsweise kann die Analyse-Funktion per
wim.MODULES.BACKEND.$preloadAnalysis()
im Debugger aufgerufen werden.
WIM-App-Verfahren (techn.) Objektparameter
