Die Schnittstelle zum REST der Welt
Was ist REST?
Was ist JSON?
Was ist CURL?
REST Anfragen mit FileMaker Client stellen und Antworten verarbeiten
FileMaker Server und die neue auf REST basierende Data API
Steuerung der FileMaker Server Admin Console per REST
Angewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_Essen
FMK2018-FileMaker und JSON/REST by Bernhard Schulz schubec.com
1. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
www.filemaker-konferenz.com
Die Schnittstelle zum REST der Welt
DI (FH) DI Bernhard Schulz
www.schubec.com
FileMaker und JSON/REST
2. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Über den Sprecher
• FM Konferenz Verein
• Inhaber und Geschäftsführer der schubec GmbH
• Studium Telekommunikationstechnik
• Studium Informationstechnologien
• FileMaker seit 21 Jahren
• SQL (MySQL)
• NoSQL (MongoDB)
• Java
• Play Framework
• GWT
• PHP
• Websecurity
• Netzwerktechnik
3. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Vortragsziel
• Was ist REST?
• Was ist JSON?
• Was ist CURL?
• REST Anfragen mit FileMaker Client stellen und Antworten verarbeiten
• FileMaker Server und die neue auf REST basierende Data API
• Steuerung der FileMaker Server Admin Console per REST
• Dieser Vortrag gibt einen Überblick - Details zu JSON im Anschluss, Vortrag
von Thomas Hirt
4. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
REST? Was ist das?
• Steht für Representational State Transfer
• https://de.wikipedia.org/wiki/Representational_State_Transfer
• FMK2017 - REST mobil- die andere Serververbindung by Volker Krambrich
• https://de.slideshare.net/fmkonferenz/fmk2017-rest-mobil-die-andere-
serververbindung-by-volker-krambrich
5. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Programmierparadigma
• Verteilte Systeme / Webservices
• Einheitliche Schnittstellen
• Schwerpunkt auf Maschine-zu-Maschine-Kommunikation
Quelle: Wikipedia
6. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
JavaScript Object Notation (JSON)
• Die JavaScript Object Notation ist ein kompaktes Datenformat in einer einfach
lesbaren Textform zum Zweck des Datenaustauschs zwischen Anwendungen.
Quelle: Wikipedia
{
"nachricht" : "Hallo FileMaker Konferenz 2018!"
}
7. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
JSON und REST
• Gehören für uns einfach zusammen
8. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
JSON und REST
• REST
• Wie werden die Daten übertragen?
• zu welchem Server?
• zu welcher Ressource?
• welches Protokoll?
• http
• https
• Lesen oder schreiben?
• JSON
• Die Daten selbst
• Strukturiert aufbereitet
• Die Gegenseite muss den Aufbau der Daten kennen/verstehen
9. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
JSON und REST
curl 'https://postman-echo.com/time/add?
timestamp=2018-10-18&years=100'
{ "sum" : "Tue Oct 18 2118 00:00:00 GMT+0000" }
10. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Tools
11. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Postman
• Kostenlose Software zum Experimentieren mit JSON/REST
• (kann noch viel viel viel mehr!)
• https://www.getpostman.com
12. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
REST Grundlagen
13. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
JSON und REST
14. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Wie und mit wem kommunizieren wir?
HTTP Protokoll
https - verschlüsselt
Server: postman-echo.com
15. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Welche Ressource nutzen wir?
Ressource "time/add"
16. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Was wollen wir tun?
GET
POST
PUT
DELETE
...
17. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Was wollen wir tun?
• GET
• Daten lesen
• Es wird am Server nichts geändert
• POST
• Daten NEU anlegen
• Am Server wird etwas geändert (zB neuer Datensatz angelegt)
• PUT
• Daten editieren
• DELETE
• Daten löschen
Ausnahmen bestätigen die Regel!
Es gibt weitere Methoden wie PATCH,
HEAD, OPTIONS, etc.
18. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Welche Parameter übergeben wir?
1.Parameter "timestamp"
2.Parameter "years"
19. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Parameter
1.Welche Parameter gibt es?
2.Wie sind die Parameter aufgebaut?
20. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Rückgabe
1.Was erhalte ich als Antwort im Normalfall?
2.Was erhalte ich als Antwort im Fehlerfall?
3.Wie ist die Antwort aufgebaut?
21. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Authentifizierung
• Benutzername und Passwort?
• Tokens?
• Cookies?
22. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
23. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Lösung: OpenAPI Specification
• https://swagger.io/specification/
24. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Swagger
25. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
XML / SOAP
26. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Kennen wir das nicht schon alles?
• SOAP / WSDL
• SOAP ist "schwer"
• WSDL ist ein überprüfbarer Vertrag
• Beispiele: http://www.crcind.com/csp/samples/SOAP.Demo.cls
27. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
SOAP/WSDL vs JSON/REST
Was ist besser?
Mac oder Windows?
Bananen oder Orangen?
Schwarz oder weiß?
kommt drauf an...
28. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
SOAP
• Einfache Alternative zu ähnlichen Verfahren wie SOAP und WSDL
Quelle: Wikipedia
29. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
JSON/REST Live Demo
Im Anschluss Screenshots für zu Hause
30. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Beispiele
31. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Beispiel mit Authentifizierung
• OAuth, siehe
• FileMaker als Kommunikationszentrale by schubec - Bernhard Schulz
• https://de.slideshare.net/schubec/fmk2011-file-maker-als-
kommunikationszentrale-by-schubec-bernhard-schulz
• JSON Web Token
• Username / Passwort
• Authentifizierungsinformationen werden meistens im Header mitgesende
32. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
JSON/REST in FileMaker
33. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
JSON-Nutzung in FileMaker
• JSON Lesen & Schreiben ab FileMaker 16
• davor mit Plugins oder "Handarbeit"
• JSONSetElement / JSONGetElement & Co
34. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
JSON-Nutzung in FileMaker
• JSON Datentypen
35. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
JSON in FileMaker
• Details: Siehe Vortrag von Thomas Hirt
• 14 Uhr
• Raum hgi systems IT
36. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
cURL Nutzung in FileMaker
• CURL mit erweiterten Funktionen ab FileMaker 17
• FileMaker 16 nur eingeschränkt oder mit Plugins
• davor nur mit Plugins
37. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
cURL Optionen
• https://fmhelp.filemaker.com/help/17/
fmp/en/index.html#page/FMP_Help/
curl-options.html
• Die Dokumentation ist schlecht, denn
sie lässt viele Fragen offen
• Ausprobieren!
38. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
cURL Optionen
• FileMaker ist eine Zicke!
Keine einfachen Hochkommata!
39. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Beispiele aus der Praxis
Livedemo und Screenshots für zu Hause
40. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
FileMaker und mobile.de
• Fahrzeuge inkl. Fotos werden in FileMaker verwaltet
• Upload zu online Autobörsen
• Autoscout24
• mobile.de
• https://services.mobile.de/docs/seller-api.html
Mit freundlicher Genehmigung von
41. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
FileMaker und mobile.de
42. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
FileMaker und mobile.de
• Früher
• CSV Upload per FTP
• Jetzt
• JSON/REST-Schnittstelle
• Vorteil
• Update einzelner Fahrzeuge möglich
43. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Rechnungsmerkmale auslesen
44. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Rechnungsmerkmale auslesen
45. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Links zum Nachlesen
https://www.bludelta.ai
46. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Rechnung in Online Buchhaltung laden
47. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Rechnung in Online Buchhaltung laden
48. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
vatlayer
49. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
FileMaker Script zum
Nachprogrammieren
(Es sind keine cURL Optionen erforderlich)
• API Key
• kostenlos bei https://vatlayer.com registrieren
FileMaker Feld „UID“
50. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
JSON in FileMaker
Weitere Einsatzmöglichkeiten
51. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
JSON + Virtual List
• https://filemakerhacks.com/2017/07/27/json-virtual-list/
52. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
FileMaker JSON Script Parameters
• https://www.seedcode.com/filemaker-16-json-script-parameters/
• Details: Siehe Vortrag von Thomas Hirt
• 14 Uhr
• Raum hgi systems IT
53. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
JSON und FileMaker Server
54. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
FileMaker 17 Data API
• Wir haben bisher FileMaker als JSON/REST Client besprochen
• FileMaker Server kann auch als JSON/REST Server dienen
• Löst langfristig FileMaker API for PHP ab
• JSON/REST ist unabhängig von der Programmiersprache
• nicht auf PHP beschränkt
• Achtung: Nutzung der API kostet Geld!
• Lizenzkosten nach Datenvolumen
55. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
FileMaker 17 Data API
• https://fmhelp.filemaker.com/
docs/17/de/dataapi/index.html
56. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
FileMaker 17 Data API
• Session anmelden
57. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
FileMaker 17 Data API
• Datensatz anlegen
• Session im Header mitgeben!!!
58. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
FileMaker 17 Data API
• Datensatz anlegen
• Daten im Body mitgeben
59. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
FileMaker und JSON/REST ohne
Programmieren
60. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Neuer Datensatz in FileMaker und ...
61. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
... dieser "landet" in Trello
62. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
JSON und FileMaker Admin Server
63. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
FileMaker Admin Server
• https://{{host}}:16000/fmi/admin/apidoc/
64. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
FileMaker Admin Server
65. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
FileMaker Admin Server
66. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
FileMaker Admin Server
67. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
FileMaker Admin Server
68. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
FileMaker Admin Server
69. FileMaker und JSON/REST by Bernhard Schulz / schubec.com
9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
FileMaker Beratung
Sollten Sie Dienstleistungen in Zusammenhang mit
FileMaker und JSON/REST benötigen, so kontaktieren Sie uns unverbindlich:
office@schubec.com
https://www.schubec.com
70. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Vortrag und Sprecher
Vielen Dank unseren Sponsoren
Danke für das Bewerten dieses Vortrages