PDA

View Full Version : Nachladen vom Webclient verkürzen



zero
6th February 2018, 13:04
Hallo,<br><br>ich versuche derzeit, die Runtimedaten, welche der Webclient verwendet in einem Gemeinschaftsverzeichnis ab zu legen, damit sie von mehreren Usern gleichzeitig genutzt werden können.<br>Zur Konstellation: Es gibt einen Zenon Runtimeserver 7.0 mit WebServer 7.0, einen Entwicklungsrechner und 9 User die per Webclient 7.1 auf die Runtime zugreifen.<br>Ursprünglich legt jeder User die Runtimedaten beim ersten Start des WebClient unter %TEMP% ab. Bzw. wenn Änderungen an der Runtime vorgenommen werden, werden die geänderten Dateien erneut geladen.<br>Das Problem dabei ist, dass sich die Runtimedaten fast wöchentlich ändern, da unser Projekt stetig wächst. Vor allem die variables.cmp ist mit 170MB so groß, dass das Nachladen an den einzelnen Clients sehr lange dauert.&nbsp;<br>Ich dachte mir, wenn alle auf den gleichen Ordner zugreifen um Ihren Webclient zu starten und um Ihre Runtimedaten ab zu legen, muss nur einer beim Nachladen warten. Da ich die Änderungen durchführe und das Nachladen dementsprechend steuern kann, müsste nur ich warten.<br>Also habe ich einen Ordner im Netzwerk freigegeben in dem die Dateien für den Webclient liegen (Init.htm, global_vars,...etc. (Vorteil alle nutzen die gleichen Einstellungen)) und in der zenon6.ini bei allen 9 Usern ändere ich den Dateipfad für die Runtimedaten des Webclient ebenfalls auf diesen Ordner. Das habe ich mit 3 Usern getestet und im ersten Moment funktioniert das.<br>Allerdings ist es jetzt so, dass wenn 2 Clients verbunden sind und ich lade das Projekt nach, versuchen natürlich beide die gleichen Dateien im Share zu aktualisieren.<br><br>Gibt es hier sonst noch bekannte Probleme bei einer solchen Nutzung des Webclient?<br><br>Ich hoffe die Runtimedaten im freigegeben Ordner direkt aus dem Editor zu erzeugen. Heist, wenn ich die Runtimedaten vom Editor an den Server übertrage, sollen die auch in den Ordner des Webclient übertragen werden. Dann müsste kein Client die Daten runterladen. <br>Kann das funktionieren? Gibt es einen automatischen Weg die Runtimedaten in beide Ordner zu laden (Share und Server)?<br><br>Ein kleines weitere Phänomen (Problem):<br>Seit ich diese Versuche starte, erscheint bei einigen Client's das Zenonfenster während der Webclient läd nicht mehr. Kann man vielleicht eine andere Website anzeigen, die einen zum Warten auffordert, während der Webclient läd?<br><br>Ich hoffe Ihr könnt mir ein paar Tipps geben, was aus eurer Erfahrung alles in einer solchen Konstellation alles zu beachten ist, und wie man sie alltags tauglich kriegt.<br><br>Gruß Tobias<br><br><br>

joris.l
1st March 2018, 13:40
Hallo Tobias,
bzgl deiner Fragen:


Hallo,
Gibt es hier sonst noch bekannte Probleme bei einer solchen Nutzung des Webclient?

Für eine solche Konstellation ist der WebClient eigentlich nicht vorgesehen, daher sind Probleme einer solchen Nutzung mir nicht bekannt. Zumal ja ohnehin der WebClient bei einem Zugriff auf den Netzwerkfolder die Dateien aus dem Netzwerk zieht und ins RAM laden muss. Das sorgt ebenfalls für eine Verzögerung und natürlich auch Probleme beim gleichzeitigen Zugriff (denn jeder Client kann theoretisch auch individuelle Dateien erzeugen (z.B durch Reports und Skripte)). Eine Semaphore oder ähnliche Mechanismen zum Abfangen gleichzeitigen schreibens gibt es hier meines Wissens nach nicht. Die Synchronisation müsste evtl durch ein selbstgeschriebendes Programm erledigt werden.



Ich hoffe die Runtimedaten im freigegeben Ordner direkt aus dem Editor zu erzeugen. Heist, wenn ich die Runtimedaten vom Editor an den Server übertrage, sollen die auch in den Ordner des Webclient übertragen werden. Dann müsste kein Client die Daten runterladen.
Kann das funktionieren? Gibt es einen automatischen Weg die Runtimedaten in beide Ordner zu laden (Share und Server)?
Die für die Runtime erstellten Dateien können auch für die Webclients verwendet werden. Einen automatischen Weg für den Webclient-Transport gibt es nicht.



Ein kleines weitere Phänomen (Problem):
Seit ich diese Versuche starte, erscheint bei einigen Client's das Zenonfenster während der Webclient läd nicht mehr. Kann man vielleicht eine andere Website anzeigen, die einen zum Warten auffordert, während der Webclient läd?

Der Content der über C:\Inetpub\wwwroot\zenon\ zur Verfügung gestellt wird ist beliebig anpassbar. Sofern man die notwendingen Web-Programmierskills hat wäre es wohl möglich einen Ladescreen zu programmieren.

Ich hoffe ich konnte damit weiterhelfen.

Beste Grüße,