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

FMK2022 FileMaker DataAPI und Java von Bernhard Schulz

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

Eche un vistazo a continuación

1 de 30 Anuncio

Más Contenido Relacionado

Similares a FMK2022 FileMaker DataAPI und Java von Bernhard Schulz (20)

Más de Verein FM Konferenz (20)

Anuncio

Más reciente (20)

FMK2022 FileMaker DataAPI und Java von Bernhard Schulz

  1. 1. www.filemaker-konferenz.com FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung DI (FH) DI Bernhard Schulz
  2. 2. www.filemaker-konferenz.com FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Was Sie erwartet • Geschichte • Implementierungsdetails • Codebeispiele • Praxisbeispiele
  3. 3. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz FileMaker Schnittstellen • Lasso (1995) • CDML (Claris Data Markup Language), FileMaker 4.1 • Requests mit speziellen Parametern: • FMPro?-DB=db.fp5&-Format=query.htm&-View • Response als HTML oder XML • Hat damals gut funktioniert, war aber sehr „speziell“
  4. 4. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz fx.php FileMaker 5 bis heute? • PHP Abstraktionslayer mit fx.php • Kostenlos und Open Source • Erste Schulung in Salzburg Februar 2003 • „Schwer“ in der Handhabung • Keine „richtige“ Objektorientierung $InstanceName = new FX($serverIP,$serverPORT); $InstanceName=SetDBData (‚guestbook.fp5','www','10') $InstanceName->AddDBParam('Vorname', 'Bernhard','eq'); $InstanceName-AddDBParam('Nachname', 'Schulz','eq'); $ReturnedData = $InstanceName-FMFind(); Akzeptable Abstraktion von CDML/XML
  5. 5. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz FM-and-PHP FileMaker 5 bis 12 und heute • PHP Abstraktionslayer mit FM-and-PHP • Kostenlos und Open Source • Entstand im Sommer 2003 • https://www.schubec.com/de/fm-and-php.php • Deutlich einfacher als fx.php • Keine „richtige“ Objektorientierung • Gute Abstraktion von CDML/XML • CDML Kenntnisse waren von Vorteil
  6. 6. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz FM API 4 PHP FileMaker 12 bis 17 und heute • FileMaker Server wurde ab Version 13 mit der FM API 4 PHP ausgeliefert • Obfuscated PHP Code • Nutzung von CDML/XML im Hintergrund • aber quasi unsichtbar • CDML Kenntnisse für Profi-Debugging • Objektorientiert programmiert • Alter, schlechter PHP Code • für damalige Zeit OK • wirft gefühlte 1.000 Fehler auf heutigen 
 Systemen
  7. 7. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz FM API 4 Java FileMaker 12 bis 17 und heute • Java Bibliothek mit ähnlichem Aufbau wie die FM API 4 PHP • Kostenlos und Open Source • Vorstellung auf der FMK 2012 in Salzburg • Tausendfach täglich im Einsatz
  8. 8. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz FM API 4 PHP FileMaker 12 bis 17 und heute • Deprecated • FM API 4 PHP • XML Schnittstelle • wird nicht mehr gepflegt • Muss für FileMaker Server 19 auf der Kommandozeile aktiviert werden • Für FileMaker Server 19 Linux NICHT mehr verfügbar
  9. 9. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz FM Data API FileMaker bis 17 heute • JSON / REST Schnittstelle • Endlich ein Industriestandard • kein CDML / XML • Claris bietet keine Client-Implementierung • viele 3rd Party Implementierungen • https://support.claris.com/s/article/data-api---admin- api-packages-wrappers-for-fm-17-x? language=en_US
  10. 10. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz FM-DataAPI-4-Java FileMaker bis 17 heute • Nutzt die JSON / REST Schnittstelle • Kostenlos und Open Source • https://github.com/schube/FileMaker-DataAPI-4-Java • Das, was zu 90% benötigt wird, wurde umgesetzt • Wenn mir (oder einem Sponsor) etwas fehlt, ergänze ich es
  11. 11. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz FM Data API €€€ • 2 GB pro lizensierten Benutzer und Monat für lesende Zugriffe • zB FileMaker Server für 5 Benutzer • 120 GB pro Jahr • Schreibende Zugriffe und Medienfelder werden nicht gezählt
  12. 12. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz FM Data API • REST • Stateless • Jedoch, FileMaker Server verlangt vor jeder Abfrage ein Login • Ausloggen nicht vergessen! • Das macht die Schnittstelle unnötig langsam! • oder das Sessionhandling unnötig kompliziert!
  13. 13. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz FM Data API • Legen Datensätze an bzw. ändern Datensatz • gibt nur „OK“ zurück • Daten müssen mit extra Request gelesen werden • unnötig langsam
  14. 14. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz FM Data API • Je nach Abfrage wird die recordid als Zahl oder als Text zurückgeliefert. • Kein Problem für untypisierte „Mickymaus“ Programmiersprachen :-) • Problematisch für statisch typisierte Programmiersprachen wie Java • Aufruf von Scripts je nach Abfrage als URL Parameter oder als JSON Parameter im Body • Client Libraries versuchen diese Probleme so gut es geht zu verstecken • Medienfelder können pro Abfrage nur einmal heruntergeladen werden
  15. 15. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz FM Data API • Uneinheitliches Datumsformat • Je nach FileMaker Sprache anders • dd/mm/yyyy • mm/dd/yyyy • Fehlt ein Feld am Layout, kommt die Info „Field missing“ • aber welches Feld????? • ewige Fehlersuche
  16. 16. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz FM Data API • Besserer Upload von Medienfelder • Meist schneller als die alte XML/CDML Schnittstelle
  17. 17. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz FM Data API 4 Java try (FMSession fmSession = FMSession.login(fmserver.schubec.com my Database, the User, the Pa$$w0rd)) { FMCommandWithData fmAdd = new FMAddCommand(my layout) .setField(Details, 3) .setField(Kategorie, Test); FMResultFMRecordsResponse result = fmSession.execute(fmAdd); } catch (FileMakerException e) { fail(Should not have thrown any exception, e); }
  18. 18. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz FM Data API 4 Java • Mehr Beispiele unter 
 https://github.com/schube/FileMaker-DataAPI-4-Java/tree/main/src/test/ java/com/schubec/libs
  19. 19. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz FM Data API 4 Java • Schnittstelle ist gut und ausreichend performant nutzbar • Es ist eher unwahrscheinlich, wenn man das jährliche Datenvolumen erreicht • Caching implementieren!
  20. 20. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz Praxisbeispiel BINGOOO Shop
  21. 21. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz Praxisbeispiel Middleware • App Entwicklung für iOS nativ • Profi-Entwickler (keine „Studentenbude“) • Daten kommen aus FileMaker • Daten landen in FileMaker • iOS Team hatte noch nie von FileMaker gehört • „kein Problem, machen wir schon“ • Kunde hatte schon sub-optimale Erfahrung mit anderer externer Firma und Zugriff auf FileMaker gemacht, die auch „kein Problem“ versprochen hatten
  22. 22. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz Praxisbeispiel Middleware • FM Middleware auf Java Basis • Quarkus Framework • FM Data API 4 Java • Sämtliche Kommunikation läuft ausschließlich über die Middleware
  23. 23. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz Praxisbeispiel Middleware • Swagger / OpenUI ist Schnittstellen- „Vertrag“ zwischen der Middleware und der App
  24. 24. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz Praxisbeispiel Middleware • Testing
  25. 25. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz Praxisbeispiel Middleware • Logging • Metriken • Caching „at.xxxxxx.app.PriceResource.getPricesTimer: { p99: 8384.669474, min: 2825.998712, max: 9207.493854, mean: 5749.117974649214, p50: 5759.044416, p999: 8384.669474, stddev: 1162.417488905401, p95: 8384.669474, p98: 8384.669474, p75: 6165.470642, fiveMinRate: 1.703304674587E-54, fifteenMinRate: 1.6343398999601892E-19, meanRate: 0.0038593841636479008, count: 396, oneMinRate: 4.0942949358248924E-265, elapsedTime: 1928587.799624 },
  26. 26. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz Live Coding mvn io.quarkus.platform:quarkus-maven- plugin:2.9.2.Final:create -DprojectGroupId=com.schubec -DprojectArtifactId=fmk22demo-backend -Dextensions=resteasy cd fmk22demo-backend
  27. 27. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz Praxisbeispiel Dashboard mit Exceldownloads
  28. 28. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz Praxisbeispiel Dashboard mit Exceldownloads
  29. 29. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Titel Vortrag - Name Sprecher Fragen? Vielen Dank für Ihr Interesse!
  30. 30. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Titel Vortrag - Name Sprecher Vielen Dank unseren Sponsoren

×