Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Cargando en…3
×

Eche un vistazo a continuación

1 de 38 Anuncio

Más Contenido Relacionado

Presentaciones para usted (20)

Similares a FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin (20)

Anuncio

Más de Verein FM Konferenz (17)

Más reciente (20)

Anuncio

FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin

  1. 1. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 www.filemaker-konferenz.com Dr. Adam G. Augustin FileMaker Data API mit Node.js nutzen www.agametis.de
  2. 2. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin 2 Wer bin ich? • Selbständiger FileMaker Entwickler im Raum München • Beratung und Entwicklung seit über 10 Jahren • Entwicklung von CustomApps und Betreuung bestehender Lösungen • FileMaker 12 bis 18 zertifiziert • Zahlreiche Vorträge auf der FMK und dotfmp • Mehr zu meiner Philosophie auf www.agametis.de
  3. 3. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin 3 swagger terminal routing application/json express nodemon vscode header body response json parameter package.json npm V8node_modules query axios stateless application layer
  4. 4. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin Lasst uns das Abenteuer beginnen • Was ist das Data API (DAPI) und wie ist es aufgebaut? • Demo (Swagger Datei und REST Client) • Was ist Node.js? • Einführung und Demo • Wie kann die Kommunikation zwischen Node.js und FMS DAPI realisiert werden? • Demo (Details im anschließenden Workshop) 4
  5. 5. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin Was ist das Data API? • "Das FileMaker® Data API ist ein Application Programming Interface (API), das Webdiensten ermöglicht, auf Daten in bereitgestellten Datenbanken zuzugreifen. Da dieses API der Representational-State-Transfer- (REST-) Architektur entspricht, ist das FileMaker Data API ein REST API." • "Ihr Webdienst bzw. Ihre Anwendung ruft das FileMaker Data API auf, um einen Authentifizierungstoken für den Zugriff auf eine bereitgestellte Datenbank zu erhalten, und verwendet dann in nachfolgenden Aufrufen diesen Token, um Datensätze zu erstellen, zu aktualisieren und zu löschen sowie Suchabfragen durchzuführen." • "Das FileMaker Data API gibt Daten in JavaScript-Object-Notation- (JSON-) Format zurück, einem Textformat, das häufig bei REST APIs verwendet wird, da es unabhängig von bestimmten Programmiersprachenformaten ist." 5 Quelle: https://fmhelp.filemaker.com/docs/18/de/dataapi/index.html#overview
  6. 6. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin Was ist das Data API? • REST API • Zugriff wird mit Hilfe eines Authentifizierungstoken geregelt • Ausgabenformat der Daten ist JSON 6
  7. 7. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin FileMaker Server Data API - Einrichten • Um es zu nutzen, muss man zunächst das "FileMaker Data API" auf dem Server in der Admin Konsole unter "Konnektoren" aktivieren... 7
  8. 8. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin FileMaker Server Data API - Einrichten • ... und in der FileMaker Datei das Extended Privilege Set "fmrest" für jedes Privilege Set aktivieren, welches die Schnittstelle nutzen soll. 8
  9. 9. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin FileMaker Server Data API - Fakten • Für jeden User in jeder Lizenzart enthalten => keine zusätzlichen Lizenzkosten • 2 GB Datentransfer pro Monat/User => 24GB pro Jahr/User • Nur der ausgehender Verkehr wird gezählt • Containerinhalte werden nicht gezählt • Unverbrauchte Datenmenge verfällt nicht monatlich • Datenmenge verfällt erst nach einem Jahr (wird zusammen mit der Lizenz zurückgesetzt) • Zum Beispiel: Durchschnittsgröße der Bibel ist ca. 4,5 MB - 6 MB (ohne Kommentare und Querverweise) => 300 bis 400 Bibeln können pro Monat über das DAPI gelesen werden 9
  10. 10. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin FileMaker Server Data API - Fakten • Wie lange bleibt man am Server angemeldet? • Authentifizierungstoken ist 15 Minuten lang gültig (es zählt nur die Inaktivität) • Welche Daten werden bei einer Anfrage zurückgegeben? • Lesende Zugriffe bekommen nur die Daten der Felder zurück, die sich auf dem Layout befinden • Wie wird ein Datensatz eindeutig identifiziert? • Zugriffe müssen die Datensatz-ID (recordId) als Referenz verwenden (FileMaker Funktion: Get (RecordID)) • Wie kann man die Datenintegrität sicherstellen? • Bei schreibenden Zugriffen kann man unter Verwendung der Änderungs- ID (modId) sicherstellen, dass ein Datensatz nur dann geändert wird, wenn die modId's übereinstimmen. (FM Fkt: Get (RecordModificationCount)) 10
  11. 11. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin FileMaker Server Data API - Funktionsumfang • Der Funktionsumfang (Endpunkte eines REST API) wird seit FMS18 in einer Swagger Datei beschrieben • C:Program FilesFileMakerFileMaker ServerWeb Publishingpublishing-enginenode- wipdapi_v1.json 11
  12. 12. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin FileMaker Server Data API - Weitere Infos • Allgemeine DAPI Dokumentation DE/EN • https://fmhelp.filemaker.com/docs/18/de/dataapi/index.html • "17" oder "18" • "de" oder "en" • DAPI Dokumentation der Endpunkte (liegt direkt auf dem Server) • https://<Serveradresse>/fmi/data/apidoc • Seit FMS18: noch bessere Dokumentation der Endpunkte in der Swagger Datei • C:Program FilesFileMakerFileMaker ServerWeb Publishingpublishing- enginenode-wipdapi_v1.json 12
  13. 13. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin Aufbau des FMS Data API 13 Demo
  14. 14. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin Was ist Node.js? • Serverseitiges Javascript • Von der OpenJS Foundation organisiert und unter der MIT Lizenz bereitgestellt • Entwickelt und vorgestellt in 2009 von Ryan Dahl • Originalpräsentation: https://youtu.be/ztspvPYybIY • Basiert auf der Javascript Engine V8 von Google • Geschrieben in C++ mit weiteren Bibliotheken wie libuv (event loop) • Dokumentation: https://nodejs.org/api/documentation.html 14
  15. 15. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin Node.js ist groß • Riesige Open Source Community • Module/Pakete u.a. auf https://www.npmjs.com • Eine ganze Industrie rund um Node.js entstanden • Entweder werden Dienstleistungen wie z.B Hosting von Node.js Projekten angeboten • z.B. Heroku, AWS, Microsoft Azure • Oder es sind Dienstleistungen, die Node.js als Basis benutzen • z.B. Now von zeit.co, FeathersJS, Prisma für GraphQL APIs • Oder es sind viele Frameworks für alle möglichen Anwendungszwecke verfügbar • z.B. UI: Angular, Ember, React, Vue, API: ExpressJS, NestJS, etc. 15
  16. 16. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin Erste Schritte mit Node.js • Installationspaket auf der Homepage: https://nodejs.org/de/ • Installation beinhaltet u.a. npm (Package Manager) • Sehr anschauliche Node.js-Einführung "Getting Started with Node.js - Full Tutorial" unter https://youtu.be/gG3pytAY2MY • Das Video is zwar in Englisch, man kann aber Untertitel einblenden 16
  17. 17. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin npm • Das Kommandozeilentool npm (ursprünglich: node package manager) ist ein fundamentaler Bestandteil jeder Node.js Umgebung • Gesamtes Node.js Projekt kann mit npm und der Datei package.json organisiert werden 17
  18. 18. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin package.json • package.json definiert und organisiert ein Node.js Projekt • Kann mit "npm init" erzeugt werden • Mit "npm install ‹package›" wird ein Node.js Projekt um Pakete ergänzt und in package.json festgehalten • Kann alle relevanten Einstellungen eines Projektes und der Entwicklungsumgebung enthalten (für eslint, prettier, babel,...) 18
  19. 19. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin Die ersten npm Befehle • "npm init" initiiert ein Projekt und erzeug package.json • "npm install ‹package›" installiert ein Paket und fügt es zu package.json hinzu • "npm install" installiert alle Pakete die in package.json aufgeführt sind • "npm install -g ‹package›" installiert ein Paket global. Damit steht es allen Projekten zur Verfügung • "npm update" aktualisiert alle Pakete im Projekt • "npm uninstall ‹package›" deinstalliert ein Paket • "npm run ‹skript›" startet ein in package.json definiertes Skript • "npm -l" zeigt eine ausführliche Liste der Optionen • Weitere Infos: https://docs.npmjs.com/cli-documentation/ 19
  20. 20. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin Erste Schritte mit Node.js 20 Demo
  21. 21. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin • Webapplikation basierend auf clientseitigem Javascript (Webapp selbst kann z.B. mit Hilfe von Node.js entwickelt werden) Kommunikation mit dem DAPI 21 • Vorteile: • direkte Kommunikation mit dem DAPI • Nachteile • gesamte Businesslogik im Quelltext der Webapplikation Client Webapplikation (z.B. Angular, React oder Vue) FileMaker Server ≥ 17 Data API
  22. 22. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin • Skripten innerhalb eines Node.js Servers Kommunikation mit dem DAPI 22 • Vorteile: • Gute Grundlage zum Lernen und Verstehen der Funktionsweise • Basis für weiterführende Projekte • Nachteile • keine echten Anwendungsszenarien Node.js Server FileMaker Server ≥ 17 fms-api-client express.js Data API
  23. 23. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin • Webapplikation mit einem Node.js Server als Application-Layer Kommunikation mit dem DAPI 23 • Vorteile: • Gesamte Businesslogik auf dem Node.js Server => außerhalb der Webapplikation • Nachteile • Erhöhte Komplexität durch den zusätzlichen Node.js Server Node.js Server FileMaker Server ≥ 17 fms-api-client express.js Client Data API Webapplikation (z.B. Angular, React oder Vue)
  24. 24. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin Kommunikation mit dem DAPI 24 node.js Server FileMaker Server ≥ 17 fms-api-client express.js Clients Data API web/mobile Applikation (z.B. Angular, React oder Vue) node.js Server FileMaker Server ≥ 17 fms-api-client express.js Data API Clients web/mobile Applikation (z.B. Angular, React oder Vue) FileMaker Server ≥ 17 Data API 1 2 3
  25. 25. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin Zu 1: Node.js Paket "myFMApiLibrary" • Paket zur Kommunikation mit dem DAPI • https://github.com/myFMbutler/myFMApiLibrary-for-JS • Entwickelt von Lesterius • JavaScript Paket für den direkten Einsatz im html/JS Code ohne Node.js Server 25
  26. 26. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin Zu 2: Node.js Paket "fms-api-client" • Paket zur Kommunikation mit dem DAPI • https://github.com/Luidog/fms-api-client • "npm install fms-api-client" • Entwickelt von Lui de la Parra (SeedCode) • Deckt den gesamten Funktionsumfang des DAPI ab • Kümmert sich selbständig um den Erhalt der Verbindung • Enthält viele nützliche Zusatzfunktionen für Datenhandling • Kann auch auf einem Node.js Server eingesetzt werden 26
  27. 27. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin Kommunikation mit dem DAPI 27 Demo
  28. 28. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin Logfiles Auswerten 28 • Logfiles herunterladen und lokal in einem Editor öffnen
  29. 29. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin Logfiles Auswerten 29 • Mit dem "Event Viewer" unter Windows
  30. 30. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin Logfiles Auswerten 30 • Mit der "Konsole" unter MacOS
  31. 31. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin Logfiles Auswerten 31 Nö
  32. 32. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin Logfiles Auswerten 32 • Node.js basierter LogViewer im Webbrowser • Kann lokal oder auf einem Webserver eingesetzt werden
  33. 33. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin LogViewer 33 Demo
  34. 34. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin • Die Schnittstelle selbst ist ein Node.js Server basierend auf express.js • C:Program FilesFileMakerFileMaker ServerWeb Publishingpublishing-enginenode-wip DAPI als Node.js Projekt 34
  35. 35. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin Es gibt noch mehr 35 https://link.agacloud.net/fmk2019 fmk2019-HH Quellcode und weitere Materialien unter und auf https://www.github.com/agametis
  36. 36. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin Fragen und Antworten 36
  37. 37. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin Vielen Dank 37 Bis gleich im Workshop
  38. 38. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 FileMaker Data API mit Node.js nutzen | Dr. Adam G. Augustin Vielen Dank unseren Sponsoren Danke für das Bewerten dieses Vortrages

×