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.

FMK2017 - REST mobil- die andere Serververbindung by Volker Krambrich

144 views

Published on

Mobile Apps müssen funktionieren, auch bei keiner oder langsamer Internet Verbindung.

Das Arbeiten mit Sync-Techniken ist gut, erfordert aber eine FileMaker Server Verbindung.

Das ist nicht immer gut und oft auch gar nicht nötig.

Volker Krambrich zeigt eine Handwerks-App, mit der Techniker unterwegs ihre Tätiglkeit berichten, schnell Bilder, Skizzen und Nachrichten senden und empfangen. Benutzt wird ein simples Gateway das mit REST Kommandos gesteuert wird und den FileMaker Befehl "Aus URL einfügen..." nutzt.

Die Lösung und die konzeptionellen Grundlagen werden vorgestellt und erläutert.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

FMK2017 - REST mobil- die andere Serververbindung by Volker Krambrich

  1. 1. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 www.filemaker-konferenz.com Einsatz einer 'low overhead web technique' für schnellen Datenabgleich Mobile Apps müssen funktionieren, auch bei aktuell fehlender oder langsamer Internet Verbindung.
 Das Arbeiten mit Sync-Techniken ist gut, erfordert aber eine FileMaker Server Verbindung.
 Volker Krambrich REST mobil - die andere Serververbindung Neu! FileMaker Server 16 Data API Version vom 15.10.2017 mit Nachträgen zum Data API
  2. 2. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT Über den Sprecher • Volker Krambrich Dr. phil., linguist, computer sciences • Ich habe als Koch gearbeitet und Flugpassagiere damals noch mit exzellentem Essen versorgt. Schiffe gemakelt (Tramp und Liniendienst) und einiges mehr.Ich koche und esse noch immer gern, gehe im Herbst Pilze und Beeren sammeln und spiele Cello im Returorkester in Helsinki. • FileMaker ist meine Passion. Es ist die einfachste Software um schnell eine Individual Programmierung für nahezu jede Plattform zu machen.
  3. 3. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT Über NORSULT… • gegründet 1987 in Hamburg, Deutschland • seit 2005 in Espoo, Finnland • plan and build smart and effective applications • appreciate happy customers and longterm relationships • customers all over Europe • serve many industries form sciences & research, medical care, sales, clothing industry, airlines and public services
  4. 4. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT – Norsult philosophy “We are here to help make your work easier in a changing world.”
  5. 5. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT Überblick 1. REST - was ist das? 2. URI und URL 3. Endlich FileMaker 3.1. Datei "Translator.fmp12"*) 3.2. RESTfm 3.3. Data API 4. Real-World: iHandwerk 4.1.Kurze Demo 4.2.Hinter den Kulissen 5. Diskussion & Fragestunde *) Gibt es komplett zum Download
  6. 6. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT REST? Was ist das • Steht für "Representational State Transfer" • Beschreibt eine Kommunikationsarchitiktur • Erstmals im Jahr 2000 von Roy Fielding in einer Dissertation beschrieben • Umfasst 6 Prinzipien des Client-Server Datenaustauschs im Internet: • Uniform Interface (einheitliche Schnittstelle) Ressourcen-basiert (z. B. Datenbank) und URI identifiziert - einheitliche äußere Form, freie 'innere Werte' (z. B. Finnisch in UTF-8 codiert); selbst erklärend; Repräsentation der Daten (nicht die Datenbank sondern HTML, XML or JSON als Repräsentation eines Records • Stateless (siehe Name) Alle Daten und Informationen zu Ihrer Verarbeitung sind in einer Nachricht enthalten • Cacheable (Lebensdauer) Daten können im Browser gespeichert bleiben. Die Nachricht (soll) hier explizit sein • Client - Server (Trennung der Zuständigkeit) Clients müssen nichts über die Speicherung auf dem Server wissen; der Server ignoriert die Benutzerschnittstelle • Layered System (Aufbau in Schichten) Clients können mit einem Server direkt verbunden sein oder über zwischengeschaltete Stationen • Code on demand (optional) Server können verarbeitende Logik an den Client übertragen (z. B.precompiled Java)
  7. 7. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT URI und URL • URI Universal Ressource Identifier • beschreibt allgemein ein gesuchtes Objekt (Dokument) im Internet Jargon • URL Universal Ressource Locator • eine konventionelle Notation um eine Objekt im Internet zu finden, Sonderform des URI; 'Webadresse' Wir benötigen die URL einer Ressource die wir mit REST nutzen wollen. Beispiel (FMS16 REST API): https://fmfipro.norsult.net/fmi/rest/api/auth/Translator Protokoll Internet Adresse Ressource
  8. 8. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT Endlich Filemaker • Die Datei 'Translator.fmp12' – Beispieldatei zum Kennenlernen • liegt auf Server 16, hat sehr einfache Struktur, Zugriff REST, PHP, XML • Tabelle 'Translator' - 2 Felder 'Deutsch', 'Englisch' • zugänglich über das Layout 'Translator' mit zwei Feldern • das ist unsere Ressource, die wir über REST erreichen wollen
  9. 9. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT FileMaker und Technik • FileMaker Server 16 auf WIN2016 Server mit mässigen Ressourcen • API (experimentell bis 27. September 2018) freigeschaltet • FileMaker PHP installiert und aktiviert • RESTfm V.5.0.0 REST Server von Goya, freeware
  10. 10. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT FileMaker und Technik • FileMaker Server 16 auf WIN2016 Server mit mässigen Ressourcen • API (experimentell bis 27. September 2018) freigeschaltet • FileMaker PHP installiert und aktiviert • RESTfm V.5.0.0 REST Server von Goya, freeware gültiges SSL Zertifikat! Nachtrag 15.10.2017: Man kann ohne oder mit dem FileMaker Test Zertifkat experimentieren!
  11. 11. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT FileMaker und Technik • FileMaker Server 16 auf WIN2016 Server mit mässigen Ressourcen • API (experimentell bis 27. September 2018) freigeschaltet • FileMaker PHP installiert und aktiviert • RESTfm V.5.0.0 REST Server von Goya, freeware
  12. 12. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT FileMaker und Technik • FileMaker Server 16 auf WIN2016 Server mit mässigen Ressourcen • API (experimentell bis 27. September 2018) freigeschaltet • FileMaker PHP installiert und aktiviert • RESTfm V.5.0.0 REST Server von Goya, freeware
  13. 13. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT FileMaker und Technik • FileMaker Server 16 auf WIN2016 Server mit mässigen Ressourcen • API (experimentell bis 27. September 2018) freigeschaltet • FileMaker PHP installiert und aktiviert • RESTfm V.5.0.0 REST Server von Goya, freeware http://manual.restfm.com/restfm-manual/install
  14. 14. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT Demo Translator
  15. 15. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT Desktop
  16. 16. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT Desktop your.server.name REST REST
  17. 17. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT
  18. 18. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT Login Nachtrag 15.10.2017: Man kann Suchbegriffe mit den Standard Suchoperatoren verknüpfen! "=Montag" sucht ganze Worte, "*tag" sucht Wörter die auf 'tag' enden…
  19. 19. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT Methodenwechsel FileMaker Data API Bei dieser Methode wird der Filemaker Server direkt vom Client angesprochen. Wissen über die innere Struktur der Datenbank ist unabdingbar! RESTfm Der Vorgänger und weitaus entwickeltere REST Server für FileMaker Hier steht ein weiterer Dienst zwischen dem Client und dem Server (Definition von Fielding, s. Folie 6) Client ServerHTTP Message Client RESTfmHTTP Message Server
  20. 20. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT Wochentag
  21. 21. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT Skriptaufruf Antwort-Layout
  22. 22. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT Live-Demo Translator
  23. 23. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT RESTfm Schnittstelle – was sahen wir • Interaktion mit dem Server über "insert from URL" Skript Schritt https://REST:REST@fmfipro.norsult.net/RESTfm/Translator/script/ TranslateFromGerman/TranslatorResult.json?RFMscriptParam=Montag • Jede Aktion ist in sich abgeschlossen "Stateless" Eine Anfrage an den Server, eine Antwort. • Trennung Client-Server - eine Repräsentation wird zur Verwendung übergeben data: "Ergebnis__gt" : "Monday" • Das aufrufende Programm (FileMaker Go App) verwendet die Daten nach Bedarf • Es ist möglich nicht nur Daten zu holen (siehe ScriptParam); es können umfangreiche Daten gesendet werden • FileMaker Skripts können ausgeführt werden! Dataformat ist wählbar JSON, simple, FMPXML etc.. Beispiel: { "data" : [ { "Ergebnis__gt" : "Monday" } ], "info" : { "X-RESTfm-Method" : "GET", "X-RESTfm-PHP-memory_limit" : "128M", "X-RESTfm-PHP-post_max_size" : "8M", "X-RESTfm-Profile" : "38ms 1.1M 128M", "X-RESTfm-Protocol" : "6", "X-RESTfm-Reason" : "OK", "X-RESTfm-Status" : 200, "X-RESTfm-Version" : "5.0.0/20170821-1ee8f4e" }, "meta" : [ { "href" : "/RESTfm/Translator/layout/TranslatorResult/1.json", "recordID" : "1" } ], "metaField" : [ { "autoEntered" : 0, "global" : 1, "maxRepeat" : 1, "name" : "Ergebnis__gt", "resultType" : "text" } ] }
  24. 24. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT RESTfm Schnittstelle – was sahen wir • Interaktion mit dem Server über "insert from URL" Skript Schritt https://REST:REST@fmfipro.norsult.net/RESTfm/Translator/script/ TranslateFromGerman/TranslatorResult.json?RFMscriptParam=Montag • Jede Aktion ist in sich abgeschlossen "Stateless" Eine Anfrage an den Server, eine Antwort. • Trennung Client-Server - eine Repräsentation wird zur Verwendung übergeben data: "Ergebnis__gt" : "Monday" • Das aufrufende Programm (FileMaker Go App) verwendet die Daten nach Bedarf • Es ist möglich nicht nur Daten zu holen (siehe ScriptParam); es können umfangreiche Daten gesendet werden • FileMaker Skripts können ausgeführt werden! • Der Server hat einen einzigen Client! (RESTfm PHP call)
  25. 25. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT Data API Schnittstelle – was sahen wir • Interaktion mit dem Server über "insert from URL" Skript Schritt https://REST:REST@fmfipro.norsult.net/fmi/rest/api/record/ Translator/Translator + --header Content-Type:application/json --header FM-Data-token:<FM-token> -X GET • Jede Aktion ist in sich abgeschlossen "Stateless" Eine Anfrage an den Server, eine Antwort. • Trennung Client-Server - eine Repräsentation wird zur Verwendung übergeben data: "Ergebnis__gt" : "Monday" • Das aufrufende Programm (FileMaker Go App) verwendet die Daten nach Bedarf • Es ist möglich nicht nur Daten zu holen; es können umfangreiche Daten gesendet werden • FileMaker Skripts können nicht ausgeführt werden! Eigentlich immer drei Zyklen ( 2 + n {n >=1}): LOGIN <some Operation> LOGOUT Dataformat ist immer JSON. Beispiel: { "data" : [ { "fieldData" : { "Deutsch" : "Montag", "English" : "Monday" }, "modId" : "0", "portalData" : {}, "recordId" : "1" }, {…} ], "errorCode" : "0", "result" : "OK" }
  26. 26. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT Data API Schnittstelle – was sahen wir • Interaktion mit dem Server über "insert from URL" Skript Schritt https://REST:REST@fmfipro.norsult.net/fmi/rest/api/record/ Translator/Translator + --header Content-Type:application/json --header FM-Data-token:<FM-token> -X GET • Jede Aktion ist in sich abgeschlossen "Stateless" Eine Anfrage an den Server, eine Antwort. • Trennung Client-Server - eine Repräsentation wird zur Verwendung übergeben data: "Ergebnis__gt" : "Monday" • Das aufrufende Programm (FileMaker Go App) verwendet die Daten nach Bedarf • Es ist möglich nicht nur Daten zu holen; es können umfangreiche Daten gesendet werden • FileMaker Skripts können nicht ausgeführt werden! Die Suche funktioniert nicht! • Der Server hat einen Client pro Session! (Data API Login call)
  27. 27. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT Data API Session Öffnen jeder Verbindung (Aktion: 'auth') erzeugt eine Sitzung auf dem Server. Sessiondauer ist wie bei Webdirect (Standard 15 min. bei Inaktivität) 2 parallele User --> 2 Connections
  28. 28. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT RESTfm (PHP) Session Öffnen der ersten Verbindung erzeugt eine Sitzung auf dem Server. Weitere Verbindungen nutzen dieselbe Session! Sessiondauer ist wie bei Webdirect (Standard 15 min. bei Inaktivität) 2 parallele User --> 1 Connection
  29. 29. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT Fragen? Weiter mit einem realen Projekt…
  30. 30. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT iHandwerk Probleme: • Zettelwirtschaft • Zeiterfassung Lösung: • mobile Erfassung • asynchrone Anbindung ans Büro
  31. 31. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT
  32. 32. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT Demo iHandwerk
  33. 33. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT Stammdaten aus der Office Anwendung Update der Lösung 'in-App'… 1 2 3 …Feierabend!
  34. 34. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT
  35. 35. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT
  36. 36. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT
  37. 37. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT iHandwerk: Fotos, Skizzen, Nachrichten…
  38. 38. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT iHandwerk - • Entwickelt als Gemeinschaftsprojekt: Kunde und zwei FBA Partner • Schrittweise eingeführt (seit 2015 in der Produktion) • Getrieben vom Kundenwunsch „Ich will mich nicht tief einarbeiten, nur klicken!” • Innovativ besonders in der Anbindung der mobilen Geräte • Extensive Nutzung der REST Kommunikation • Innovatives Synch Verfahren • viele kleine Lösungen um das Leben auf iOS zu erleichtern (ClockPicker etc.) • Abschliessend ein Blick auf das Backend…
  39. 39. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT Benutzerverwaltung
  40. 40. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT RESTexchange - das Herzstück
  41. 41. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT SYNCdown - Daten an mobil Prozess in drei Schritten: Frage nach neuen Daten für 'mich' Ergibt leere Liste oder Liste der RecIDs die zu holen sind Hole jeden einzelnen Record, schicke Quittung und verarbeite lokal. SYNCdown [<RecordID1>] SYNCdown [<RecordID2>] Alle Datenrecords sind uniform! Details sind in den Daten enthalten: Datentyp, Schlüsselangaben, Bilder etc.
  42. 42. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT – John Doe “Time for a break?”
  43. 43. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT ELIZA „???”
  44. 44. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT Fragen und Antworten mailto:dr.filemaker@mac.com Quellen und Literaturtipps, Links zur Dokumentation sind auf der allerletzten Folie!
  45. 45. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT – John Doe “Time for a break!”
  46. 46. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Vortrag und Sprecher Vielen Dank unseren Sponsoren
  47. 47. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT Literatur & Quellen • Fielding, Roy Thomas (2000). "Chapter 5: Representational State Transfer (REST)". Architectural Styles and the Design of Network-based Software Architectures (Ph.D.). University of California, Irvine. “This chapter introduced the Representational State Transfer (REST) architectural style for distributed hypermedia systems. REST provides a set of architectural constraints that, when applied as a whole, emphasizes scalability of component interactions, generality of interfaces, independent deployment of components, and intermediary components to reduce interaction latency, enforce security, and encapsulate legacy systems.” • REST API Tutorial (Pearson o.J) zitiert 5.10.2017 von http:// www.restapitutorial.com/lessons/whatisrest.html • Goya RESTfm, https://github.com/GoyaPtyLtd/RESTfm/releases; Dokumentation unter http://manual.restfm.com • FileMaker Server 16, Dokumentation zum REST API auf jeder Installation des Produkts unter: https://host/fmi/rest/apidoc/ (<host> ist der DNS Name der Maschine, 'localhost' auf der Maschine selbst funktioniert auch) • Beeswax Blog, https://blog.beezwax.net/2017/05/21/getting-started-with- rest-and-curl-using-filemaker-16s-data-api/ Einführung in die Methoden. • Rose, "To-code-or-not-to-code, if that is the question, so what is the answer?", BBC The Knowledge Illusion; zitiert 10.10.2017 von https:// knowledgeillusion.wordpress.com/tag/bbc-basic/ (Eliza Zitat)
  48. 48. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 REST mobil, Volker Krambrich NORSULT Abgabe • Bitte die fertigen Folien im Format Keynote oder Powerpoint an office@filemaker-konferenz.com schicken. • Dateiname: FMK2017-Vorname-Nachname-Titel.Dateiendung • Beispiel: FMK2017-Bernhard-Schulz-FileMaker_16_iBeacons.pptx • Bitte Kurzbeschreibung angeben, zum Beispiel: „Bernhard Schulz zeigt die neuen iBeacon Funktionen in FileMaker 16“ • Bitte Keywords angeben, zum Beispiel: FileMaker 16, iBeacon, Geofencing • Warum? Wir laden die Folien zu Slideshare hoch. Je besser Kurzbeschreibung, Keywords und Titel sind, desto besser wird der Inhalt bei Google gefunden! •Deadline: 9.10.2017

×