Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

FMK2019 PSoS - Perform Script on Server Wie einsetzen und wie entwickeln? by Thomas Hirt

162 views

Published on

Immer wieder ist in der FileMaker Community zu hören und zu lesen, wie toll es sei, Scripts auf dem Server laufen zu lassen und wie viel Performance man dadurch gewinne.

Beim Einsatz des zweifelsohne aussergewöhnlichen Script-Schrittes "Perform Script on Server" ist aber einiges zu beachten.

In diesem Vortrag nähern wir uns dem Thema Schritt für Schritt. Einerseits erfahren wir, wie wir Scripts schreiben müssen, damit sie auf dem Server erfolgreich ausgeführt werden können. Andererseits gehen wir auf die etwas speziellen Anforderungen an den Entwicklungsprozess ein, die dadurch entstehen, dass wir auf dem Server den Debugger nicht mitlaufen lassen können.

Published in: Software
  • Login to see the comments

  • Be the first to like this

FMK2019 PSoS - Perform Script on Server Wie einsetzen und wie entwickeln? by Thomas Hirt

  1. 1. www.filemaker-konferenz.com 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 Wie einsetzen und wie entwickeln? Thomas Hirt PSoS - Perform Script on Server
  2. 2. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 PSoS (Perform Script on Server) – Thomas Hirt Über den Sprecher • Studium der Biochemie und des Software Engineering • betreut seit 25+ Jahren Kleinunternehmen und Privatkunden in Informatikbelangen • Geschäftsführer und Inhaber der Tek:Guides GmbH • Windows Umgebungen als Hauptbetätigungsfeld • Einsatz von FileMaker als Entwicklungsplattform seit 2009
  3. 3. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 PSoS (Perform Script on Server) – Thomas Hirt Inhalt • Script Step • Was kann PSoS? • Wie funktioniert PSoS? • Kernpunkte beim Einsatz • sinnvoller Einsatz • Tipps zum Entwickeln mit PSoS • live Demo • Abschlussbemerkungen
  4. 4. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 PSoS (Perform Script on Server) – Thomas Hirt Script Step Perform Script on Server [ Specified: From List; "yourScriptName"; Parameter: [your Calculation]; Wait for Completion: On|Off ] Perform Script on Server [ Specified: By name; [your Calculation]; Parameter: [your Calculation]; Wait for Completion: On|Off ]
  5. 5. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 PSoS (Perform Script on Server) – Thomas Hirt Was kann PSoS? Ohne PSoS Mit PSoS
  6. 6. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 PSoS (Perform Script on Server) – Thomas Hirt Was kann PSoS? synchron, blockierend
  7. 7. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 PSoS (Perform Script on Server) – Thomas Hirt Was kann PSoS? asynchron, nicht-blockierend
  8. 8. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 PSoS (Perform Script on Server) – Thomas Hirt Wie funktioniert PSoS?
  9. 9. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 PSoS (Perform Script on Server) – Thomas Hirt Wie funktioniert PSoS? Initialisierung
  10. 10. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 PSoS (Perform Script on Server) – Thomas Hirt Wie funktioniert PSoS? • Initialisierung ist ein Schlüsselschritt • Script OnFirstWindowOpen wird auch auf dem Server ausgeführt • Initialisierung kann sehr aufwändig sein • Es wird KEIN Kontext übermittelt! • Initialisierung auf dem Client und auf dem Server haben andere Anforderungen • auf dem Server sind diverse Skript- Schritte undefiniert, bzw. nicht erlaubt • auf dem Server sind graphische Elemente überflüssig
  11. 11. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 PSoS (Perform Script on Server) – Thomas Hirt Kernpunkte beim Einsatz • Bei jedem Aufruf von PSoS wird auf dem Server eine vollständige Instanz der Datenbankdatei initialisiert. • Beim Einsatz von PSoS ist eine unterschiedliche Initialisierung auf dem Client und auf dem Server nötig. • Die Initialisierung auf dem Server sollte möglichst schlank sein und auf die Ausführung von Skripten ohne jegliche graphische Elemente ausgerichtet sein. • Es ist sinnvoll, in die Datenbankdatei Layouts speziell für den Einsatz mit PSoS einzubauen. Diese können in vielen Fällen leer sein. • Die Skripten, die via PSoS ausgeführt werden, müssen so geschrieben sein, … • … K x w , . • … " " B .
  12. 12. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 PSoS (Perform Script on Server) – Thomas Hirt sinnvoller Einsatz • Operationen ohne Benutzerinteraktion • Operationen mit klar definierten Rahmenbedingungen • aufwändigere Berechnungen oder Operationen auf Datensätzen, • so dass sich der Aufwand zur Initialisierung auf dem Server lohnt • so dass die asynchrone Ausführung eine Überlegung wert ist
  13. 13. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 PSoS (Perform Script on Server) – Thomas Hirt Tipps zum Entwickeln mit PSoS Tipp 1: Weiche im Skript für Ausführung lokal und auf dem Server Case ( // The file is local and network sharing is switched off. Get ( MultiUserState ) = 0; True; // The file is local but network sharing is turned on. Get ( MultiUserState ) = 1; True; // The file is hosted on either FMS or FMPA Get ( MultiUserState ) > 1; False ) Custom Function: file.isLocal() If ( PatternCount ( Get ( ApplicationVersion ); "Server" ) > 0; True; False ) Custom Function: file.isRunningOnServer
  14. 14. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 PSoS (Perform Script on Server) – Thomas Hirt Tipps zum Entwickeln mit PSoS Tipp 1: Weiche im Skript für Ausführung lokal und auf dem Server If [file.isLocal or file.isRunningOnServer] # your script steps Else Perform Script on Server [ Specified: From List; "yourScriptName"; Parameter: [your Calculation]; Wait for Completion: On|Off ] End If
  15. 15. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 PSoS (Perform Script on Server) – Thomas Hirt Tipps zum Entwickeln mit PSoS Tipp 2: Compatibility Ansicht im Script Workspace
  16. 16. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 PSoS (Perform Script on Server) – Thomas Hirt Tipps zum Entwickeln mit PSoS Tipp 3: Debugging auf dem Client If [$$DEBUG.MODE or file.isLocal or file.isRunningOnServer] # your script steps Else Perform Script on Server [ Specified: From List; "yourScriptName"; Parameter: [your Calculation]; Wait for Completion: On|Off ] End If
  17. 17. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 PSoS (Perform Script on Server) – Thomas Hirt Tipps zum Entwickeln mit PSoS Tipp 4: Serverlogs auswerten 2019-10-08 13:28:14.148 +0200 Informationen 738 fm Datenbank "PSoS" wird geschlossen durch "filemakeradmin"... 2019-10-08 13:28:14.164 +0200 Informationen 168 fm Datenbank "PSoS" geschlossen. 2019-10-08 13:28:30.242 +0200 Informationen 737 fm Datenbank "PSoS" wird geöffnet durch "filemakeradmin"... 2019-10-08 13:28:30.242 +0200 Informationen 184 fm Datenbank "PSoS" geöffnet. 2019-10-08 13:28:48.351 +0200 Warnung 661 fm SICHERHEIT: Authentifizierung von Client "admin (PCxyz) [178.133.15.239]" an Datenbank "PSoS.fmp12" unter Verwendung von "Admin [fmapp]" fehlgeschlagen. 2019-10-08 13:31:22.258 +0200 Informationen 645 fm Zeitplan "addresses.process - admin 1": Scriptingfehler (101) bei "PSoS : addresses.process : 30 : Go to Record/Request/Page".
  18. 18. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 PSoS (Perform Script on Server) – Thomas Hirt Live Demo
  19. 19. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 PSoS (Perform Script on Server) – Thomas Hirt Abschlussbemerkungen • der effektive Nutzen von PSoS hängt von einer Vielzahl von Rahmenbedingungen ab • eingesetzte Script-Schritte • Hardware Client vs. Hardware Server • Netzwerkverbindung • Zeitmessungen mit und ohne PSoS sind sinnvoll, um den effektiven Nutzen richtig einschätzen zu können • PSoS schützt nicht vor Problemen, die auch sonst bei Mehrbenutzerlösungen auftreten, wie z.B. gesperrten Datensätzen • PSoS kann auf dem Server erhebliche oder gar grosse Last erzeugen. • Anzahl gleichzeitiger Script-Sitzungen lässt sich steuern • Einstellung in FileMaker Server 18 nur über Kommandozeile zugänglich • fmsamin SET SERVERCONFIG SCRIPTSESSIONS=10
  20. 20. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 PSoS (Perform Script on Server) – Thomas Hirt Q & R Vielen Dank für Ihr Interesse!
  21. 21. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 PSoS (Perform Script on Server) – Thomas Hirt Vielen Dank unseren Sponsoren Danke für das Bewerten dieses Vortrages

×