SlideShare a Scribd company logo
1 of 30
Download to read offline
www.filemaker-konferenz.com
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
FileMaker Data API und Java Anbindung
DI (FH) DI Bernhard Schulz
www.filemaker-konferenz.com
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Was Sie erwartet
• Geschichte


• Implementierungsdetails


• Codebeispiele


• Praxisbeispiele
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“
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
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
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
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
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
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
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
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
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!
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
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
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
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
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);


	
	
}
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
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!
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
FileMaker Data API und Java Anbindung - Bernhard Schulz
Praxisbeispiel BINGOOO Shop
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
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
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
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
FileMaker Data API und Java Anbindung - Bernhard Schulz
Praxisbeispiel Middleware
• Testing
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


},
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
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
FileMaker Data API und Java Anbindung - Bernhard Schulz
Praxisbeispiel Dashboard mit
Exceldownloads
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
FileMaker Data API und Java Anbindung - Bernhard Schulz
Praxisbeispiel Dashboard mit
Exceldownloads
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Titel Vortrag - Name Sprecher
Fragen?
Vielen Dank für Ihr Interesse!
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Titel Vortrag - Name Sprecher
Vielen Dank unseren Sponsoren

More Related Content

What's hot

Drools and jBPM 6 Overview
Drools and jBPM 6 OverviewDrools and jBPM 6 Overview
Drools and jBPM 6 OverviewMark Proctor
 
MemSQL 201: Advanced Tips and Tricks Webcast
MemSQL 201: Advanced Tips and Tricks WebcastMemSQL 201: Advanced Tips and Tricks Webcast
MemSQL 201: Advanced Tips and Tricks WebcastSingleStore
 
Solidity Security and Best Coding Practices
Solidity Security and Best Coding PracticesSolidity Security and Best Coding Practices
Solidity Security and Best Coding PracticesGene Leybzon
 
중니어의 고뇌: 1인분 개발자, 다음을 찾아서
중니어의 고뇌: 1인분 개발자, 다음을 찾아서중니어의 고뇌: 1인분 개발자, 다음을 찾아서
중니어의 고뇌: 1인분 개발자, 다음을 찾아서Yurim Jin
 
Regular Expressions Cheat Sheet
Regular Expressions Cheat SheetRegular Expressions Cheat Sheet
Regular Expressions Cheat SheetAkash Bisariya
 
Hacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersHacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersDeepikaRana30
 
Taking advantage of Prometheus relabeling
Taking advantage of Prometheus relabelingTaking advantage of Prometheus relabeling
Taking advantage of Prometheus relabelingJulien Pivotto
 
M Team Brick Diagrams
M Team Brick DiagramsM Team Brick Diagrams
M Team Brick Diagramsjimphelps
 
Solving PostgreSQL wicked problems
Solving PostgreSQL wicked problemsSolving PostgreSQL wicked problems
Solving PostgreSQL wicked problemsAlexander Korotkov
 
WebXR: A New Dimension For The Web Writing Virtual and Augmented Reality Apps...
WebXR: A New Dimension For The Web Writing Virtual and Augmented Reality Apps...WebXR: A New Dimension For The Web Writing Virtual and Augmented Reality Apps...
WebXR: A New Dimension For The Web Writing Virtual and Augmented Reality Apps...GeilDanke
 
PromQL Deep Dive - The Prometheus Query Language
PromQL Deep Dive - The Prometheus Query Language PromQL Deep Dive - The Prometheus Query Language
PromQL Deep Dive - The Prometheus Query Language Weaveworks
 
lista de estudiantes UTO 2009
lista de estudiantes UTO 2009lista de estudiantes UTO 2009
lista de estudiantes UTO 2009luismollinedo
 
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansaiJavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansaiTomohiro Kumagai
 
Shoot Me a Token: OpenAM as an OAuth2 Provider
Shoot Me a Token: OpenAM as an OAuth2 ProviderShoot Me a Token: OpenAM as an OAuth2 Provider
Shoot Me a Token: OpenAM as an OAuth2 ProviderForgeRock
 
[1A7]Ansible의이해와활용
[1A7]Ansible의이해와활용[1A7]Ansible의이해와활용
[1A7]Ansible의이해와활용NAVER D2
 
liftIO 2022 quasiquote
liftIO 2022 quasiquoteliftIO 2022 quasiquote
liftIO 2022 quasiquoteHyunseok Cho
 
Bachelorproef Maatschappelijk Werk & Dienstverlening Nathanya Wouden
Bachelorproef Maatschappelijk Werk & Dienstverlening Nathanya Wouden Bachelorproef Maatschappelijk Werk & Dienstverlening Nathanya Wouden
Bachelorproef Maatschappelijk Werk & Dienstverlening Nathanya Wouden Nathanya Wouden
 
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようTasuku Otani
 
Staying Ahead of the Curve with Spring and Cassandra 4 (SpringOne 2020)
Staying Ahead of the Curve with Spring and Cassandra 4 (SpringOne 2020)Staying Ahead of the Curve with Spring and Cassandra 4 (SpringOne 2020)
Staying Ahead of the Curve with Spring and Cassandra 4 (SpringOne 2020)Alexandre Dutra
 

What's hot (20)

Drools and jBPM 6 Overview
Drools and jBPM 6 OverviewDrools and jBPM 6 Overview
Drools and jBPM 6 Overview
 
MemSQL 201: Advanced Tips and Tricks Webcast
MemSQL 201: Advanced Tips and Tricks WebcastMemSQL 201: Advanced Tips and Tricks Webcast
MemSQL 201: Advanced Tips and Tricks Webcast
 
Solidity Security and Best Coding Practices
Solidity Security and Best Coding PracticesSolidity Security and Best Coding Practices
Solidity Security and Best Coding Practices
 
중니어의 고뇌: 1인분 개발자, 다음을 찾아서
중니어의 고뇌: 1인분 개발자, 다음을 찾아서중니어의 고뇌: 1인분 개발자, 다음을 찾아서
중니어의 고뇌: 1인분 개발자, 다음을 찾아서
 
Regular Expressions Cheat Sheet
Regular Expressions Cheat SheetRegular Expressions Cheat Sheet
Regular Expressions Cheat Sheet
 
Hacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersHacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginners
 
Taking advantage of Prometheus relabeling
Taking advantage of Prometheus relabelingTaking advantage of Prometheus relabeling
Taking advantage of Prometheus relabeling
 
M Team Brick Diagrams
M Team Brick DiagramsM Team Brick Diagrams
M Team Brick Diagrams
 
Solving PostgreSQL wicked problems
Solving PostgreSQL wicked problemsSolving PostgreSQL wicked problems
Solving PostgreSQL wicked problems
 
WebXR: A New Dimension For The Web Writing Virtual and Augmented Reality Apps...
WebXR: A New Dimension For The Web Writing Virtual and Augmented Reality Apps...WebXR: A New Dimension For The Web Writing Virtual and Augmented Reality Apps...
WebXR: A New Dimension For The Web Writing Virtual and Augmented Reality Apps...
 
PromQL Deep Dive - The Prometheus Query Language
PromQL Deep Dive - The Prometheus Query Language PromQL Deep Dive - The Prometheus Query Language
PromQL Deep Dive - The Prometheus Query Language
 
lista de estudiantes UTO 2009
lista de estudiantes UTO 2009lista de estudiantes UTO 2009
lista de estudiantes UTO 2009
 
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansaiJavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
 
Shoot Me a Token: OpenAM as an OAuth2 Provider
Shoot Me a Token: OpenAM as an OAuth2 ProviderShoot Me a Token: OpenAM as an OAuth2 Provider
Shoot Me a Token: OpenAM as an OAuth2 Provider
 
Git tutorial
Git tutorialGit tutorial
Git tutorial
 
[1A7]Ansible의이해와활용
[1A7]Ansible의이해와활용[1A7]Ansible의이해와활용
[1A7]Ansible의이해와활용
 
liftIO 2022 quasiquote
liftIO 2022 quasiquoteliftIO 2022 quasiquote
liftIO 2022 quasiquote
 
Bachelorproef Maatschappelijk Werk & Dienstverlening Nathanya Wouden
Bachelorproef Maatschappelijk Werk & Dienstverlening Nathanya Wouden Bachelorproef Maatschappelijk Werk & Dienstverlening Nathanya Wouden
Bachelorproef Maatschappelijk Werk & Dienstverlening Nathanya Wouden
 
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
 
Staying Ahead of the Curve with Spring and Cassandra 4 (SpringOne 2020)
Staying Ahead of the Curve with Spring and Cassandra 4 (SpringOne 2020)Staying Ahead of the Curve with Spring and Cassandra 4 (SpringOne 2020)
Staying Ahead of the Curve with Spring and Cassandra 4 (SpringOne 2020)
 

Similar to FMK2022 FileMaker DataAPI und Java von Bernhard Schulz

FMK2022 FileMaker und Javascript von Adam Augustin
FMK2022 FileMaker und Javascript von Adam AugustinFMK2022 FileMaker und Javascript von Adam Augustin
FMK2022 FileMaker und Javascript von Adam AugustinVerein FM Konferenz
 
FMK2013: FileMaker und Kerio Connect by Bernhard Schulz - schubec GmbH und Ca...
FMK2013: FileMaker und Kerio Connect by Bernhard Schulz - schubec GmbH und Ca...FMK2013: FileMaker und Kerio Connect by Bernhard Schulz - schubec GmbH und Ca...
FMK2013: FileMaker und Kerio Connect by Bernhard Schulz - schubec GmbH und Ca...Verein FM Konferenz
 
FMK2017 - Plugins für die FileMaker Cloud by Christian Schmitz
FMK2017 - Plugins für die FileMaker Cloud by Christian SchmitzFMK2017 - Plugins für die FileMaker Cloud by Christian Schmitz
FMK2017 - Plugins für die FileMaker Cloud by Christian SchmitzVerein FM Konferenz
 
FMK2017 - MBS FileMaker Plugin by Christian Schmitz
FMK2017 - MBS FileMaker Plugin by Christian SchmitzFMK2017 - MBS FileMaker Plugin by Christian Schmitz
FMK2017 - MBS FileMaker Plugin by Christian SchmitzVerein FM Konferenz
 
FMK2015: FileMaker 14 Webdirect by Michael Valentin
FMK2015: FileMaker 14 Webdirect by Michael ValentinFMK2015: FileMaker 14 Webdirect by Michael Valentin
FMK2015: FileMaker 14 Webdirect by Michael ValentinVerein FM Konferenz
 
FMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico Busch
FMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico BuschFMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico Busch
FMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico BuschVerein FM Konferenz
 
FMK2019 FileMaker Anbindung an Online Systeme by Michael Heider
FMK2019 FileMaker Anbindung an Online Systeme by Michael HeiderFMK2019 FileMaker Anbindung an Online Systeme by Michael Heider
FMK2019 FileMaker Anbindung an Online Systeme by Michael HeiderVerein FM Konferenz
 
FMK2019 FileMaker Anbindung an Online Systeme mit cURL & JSON by Michael Heider
FMK2019 FileMaker Anbindung an Online Systeme mit cURL & JSON by Michael HeiderFMK2019 FileMaker Anbindung an Online Systeme mit cURL & JSON by Michael Heider
FMK2019 FileMaker Anbindung an Online Systeme mit cURL & JSON by Michael HeiderVerein FM Konferenz
 
FMK2019 FileMaker Data API mit Node.js nutzen - Workshop by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen - Workshop by Adam AugustinFMK2019 FileMaker Data API mit Node.js nutzen - Workshop by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen - Workshop by Adam AugustinVerein FM Konferenz
 
FMK2017 - Vortrag FileMaker als Frontend zum Aktuallisieren von dynamischen W...
FMK2017 - Vortrag FileMaker als Frontend zum Aktuallisieren von dynamischen W...FMK2017 - Vortrag FileMaker als Frontend zum Aktuallisieren von dynamischen W...
FMK2017 - Vortrag FileMaker als Frontend zum Aktuallisieren von dynamischen W...Verein FM Konferenz
 
FMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin SchwarzFMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin SchwarzVerein FM Konferenz
 
FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...
FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...
FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...Verein FM Konferenz
 
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang WunderlichFMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang WunderlichVerein FM Konferenz
 
FMK2016 - Christian Schmitz - MBS FileMaker Plugin
FMK2016 - Christian Schmitz - MBS FileMaker PluginFMK2016 - Christian Schmitz - MBS FileMaker Plugin
FMK2016 - Christian Schmitz - MBS FileMaker PluginVerein FM Konferenz
 
FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...
FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...
FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...Verein FM Konferenz
 
FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam AugustinFMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam AugustinVerein FM Konferenz
 
FMK2014: FileMaker Server in Windows Server Umgebungen by Thomas Hirt
FMK2014: FileMaker Server in Windows Server Umgebungen by Thomas HirtFMK2014: FileMaker Server in Windows Server Umgebungen by Thomas Hirt
FMK2014: FileMaker Server in Windows Server Umgebungen by Thomas HirtVerein FM Konferenz
 
FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch
FMK2015: Von Skriptparametern Variablen und Globalen by Patrick RischFMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch
FMK2015: Von Skriptparametern Variablen und Globalen by Patrick RischVerein FM Konferenz
 
FMK 2013 Schnittstellen Datenaustausch, Longin Ziegler
FMK 2013 Schnittstellen Datenaustausch, Longin ZieglerFMK 2013 Schnittstellen Datenaustausch, Longin Ziegler
FMK 2013 Schnittstellen Datenaustausch, Longin ZieglerVerein FM Konferenz
 
FMK2015: FileMaker Server 14 by Volker Krambrich
FMK2015: FileMaker Server 14 by Volker KrambrichFMK2015: FileMaker Server 14 by Volker Krambrich
FMK2015: FileMaker Server 14 by Volker KrambrichVerein FM Konferenz
 

Similar to FMK2022 FileMaker DataAPI und Java von Bernhard Schulz (20)

FMK2022 FileMaker und Javascript von Adam Augustin
FMK2022 FileMaker und Javascript von Adam AugustinFMK2022 FileMaker und Javascript von Adam Augustin
FMK2022 FileMaker und Javascript von Adam Augustin
 
FMK2013: FileMaker und Kerio Connect by Bernhard Schulz - schubec GmbH und Ca...
FMK2013: FileMaker und Kerio Connect by Bernhard Schulz - schubec GmbH und Ca...FMK2013: FileMaker und Kerio Connect by Bernhard Schulz - schubec GmbH und Ca...
FMK2013: FileMaker und Kerio Connect by Bernhard Schulz - schubec GmbH und Ca...
 
FMK2017 - Plugins für die FileMaker Cloud by Christian Schmitz
FMK2017 - Plugins für die FileMaker Cloud by Christian SchmitzFMK2017 - Plugins für die FileMaker Cloud by Christian Schmitz
FMK2017 - Plugins für die FileMaker Cloud by Christian Schmitz
 
FMK2017 - MBS FileMaker Plugin by Christian Schmitz
FMK2017 - MBS FileMaker Plugin by Christian SchmitzFMK2017 - MBS FileMaker Plugin by Christian Schmitz
FMK2017 - MBS FileMaker Plugin by Christian Schmitz
 
FMK2015: FileMaker 14 Webdirect by Michael Valentin
FMK2015: FileMaker 14 Webdirect by Michael ValentinFMK2015: FileMaker 14 Webdirect by Michael Valentin
FMK2015: FileMaker 14 Webdirect by Michael Valentin
 
FMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico Busch
FMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico BuschFMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico Busch
FMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico Busch
 
FMK2019 FileMaker Anbindung an Online Systeme by Michael Heider
FMK2019 FileMaker Anbindung an Online Systeme by Michael HeiderFMK2019 FileMaker Anbindung an Online Systeme by Michael Heider
FMK2019 FileMaker Anbindung an Online Systeme by Michael Heider
 
FMK2019 FileMaker Anbindung an Online Systeme mit cURL & JSON by Michael Heider
FMK2019 FileMaker Anbindung an Online Systeme mit cURL & JSON by Michael HeiderFMK2019 FileMaker Anbindung an Online Systeme mit cURL & JSON by Michael Heider
FMK2019 FileMaker Anbindung an Online Systeme mit cURL & JSON by Michael Heider
 
FMK2019 FileMaker Data API mit Node.js nutzen - Workshop by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen - Workshop by Adam AugustinFMK2019 FileMaker Data API mit Node.js nutzen - Workshop by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen - Workshop by Adam Augustin
 
FMK2017 - Vortrag FileMaker als Frontend zum Aktuallisieren von dynamischen W...
FMK2017 - Vortrag FileMaker als Frontend zum Aktuallisieren von dynamischen W...FMK2017 - Vortrag FileMaker als Frontend zum Aktuallisieren von dynamischen W...
FMK2017 - Vortrag FileMaker als Frontend zum Aktuallisieren von dynamischen W...
 
FMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin SchwarzFMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin Schwarz
 
FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...
FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...
FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...
 
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang WunderlichFMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
 
FMK2016 - Christian Schmitz - MBS FileMaker Plugin
FMK2016 - Christian Schmitz - MBS FileMaker PluginFMK2016 - Christian Schmitz - MBS FileMaker Plugin
FMK2016 - Christian Schmitz - MBS FileMaker Plugin
 
FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...
FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...
FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...
 
FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam AugustinFMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
 
FMK2014: FileMaker Server in Windows Server Umgebungen by Thomas Hirt
FMK2014: FileMaker Server in Windows Server Umgebungen by Thomas HirtFMK2014: FileMaker Server in Windows Server Umgebungen by Thomas Hirt
FMK2014: FileMaker Server in Windows Server Umgebungen by Thomas Hirt
 
FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch
FMK2015: Von Skriptparametern Variablen und Globalen by Patrick RischFMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch
FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch
 
FMK 2013 Schnittstellen Datenaustausch, Longin Ziegler
FMK 2013 Schnittstellen Datenaustausch, Longin ZieglerFMK 2013 Schnittstellen Datenaustausch, Longin Ziegler
FMK 2013 Schnittstellen Datenaustausch, Longin Ziegler
 
FMK2015: FileMaker Server 14 by Volker Krambrich
FMK2015: FileMaker Server 14 by Volker KrambrichFMK2015: FileMaker Server 14 by Volker Krambrich
FMK2015: FileMaker Server 14 by Volker Krambrich
 

More from Verein FM Konferenz

FMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdfFMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdfVerein FM Konferenz
 
FMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp PulsFMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp PulsVerein FM Konferenz
 
FMK2022 Dokumentation - Thomas Hirt
FMK2022 Dokumentation - Thomas HirtFMK2022 Dokumentation - Thomas Hirt
FMK2022 Dokumentation - Thomas HirtVerein FM Konferenz
 
FMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas HirtFMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas HirtVerein FM Konferenz
 
FMK2022 FileMaker Integrated Development Environment - Russell Watson
FMK2022 FileMaker Integrated Development Environment - Russell WatsonFMK2022 FileMaker Integrated Development Environment - Russell Watson
FMK2022 FileMaker Integrated Development Environment - Russell WatsonVerein FM Konferenz
 
FMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph KlussFMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph KlussVerein FM Konferenz
 
FMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph KlussFMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph KlussVerein FM Konferenz
 
FMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell WatsonFMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell WatsonVerein FM Konferenz
 
FMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menannoFMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menannoVerein FM Konferenz
 
FMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza KoudelkaFMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza KoudelkaVerein FM Konferenz
 
FMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza KoudelkaFMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza KoudelkaVerein FM Konferenz
 
Fmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald MairFmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald MairVerein FM Konferenz
 
FMK2019 Layout und Eigene Menüs-Management by Jörg Köster
FMK2019 Layout und Eigene Menüs-Management  by Jörg KösterFMK2019 Layout und Eigene Menüs-Management  by Jörg Köster
FMK2019 Layout und Eigene Menüs-Management by Jörg KösterVerein FM Konferenz
 
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens ...
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens  ...FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens  ...
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens ...Verein FM Konferenz
 
FMK2019 FM Data Migration Tool by Stefan Tischler
FMK2019 FM Data Migration Tool by Stefan TischlerFMK2019 FM Data Migration Tool by Stefan Tischler
FMK2019 FM Data Migration Tool by Stefan TischlerVerein FM Konferenz
 
FMK2019 dot-Net-Plugin selbst programmieren by Werner Staub
FMK2019 dot-Net-Plugin selbst programmieren by Werner StaubFMK2019 dot-Net-Plugin selbst programmieren by Werner Staub
FMK2019 dot-Net-Plugin selbst programmieren by Werner StaubVerein FM Konferenz
 
FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...
FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...
FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...Verein FM Konferenz
 
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp Puls
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp PulsFMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp Puls
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp PulsVerein FM Konferenz
 
FMK2019 Softwaretest in Filemaker Programmen by Volker Krambrich
FMK2019 Softwaretest in Filemaker Programmen by Volker KrambrichFMK2019 Softwaretest in Filemaker Programmen by Volker Krambrich
FMK2019 Softwaretest in Filemaker Programmen by Volker KrambrichVerein FM Konferenz
 
FMK2019 Indirections - Layout und Eigene Menüs-Management by Jörg Köster
FMK2019 Indirections - Layout und Eigene Menüs-Management by Jörg KösterFMK2019 Indirections - Layout und Eigene Menüs-Management by Jörg Köster
FMK2019 Indirections - Layout und Eigene Menüs-Management by Jörg KösterVerein FM Konferenz
 

More from Verein FM Konferenz (20)

FMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdfFMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdf
 
FMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp PulsFMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp Puls
 
FMK2022 Dokumentation - Thomas Hirt
FMK2022 Dokumentation - Thomas HirtFMK2022 Dokumentation - Thomas Hirt
FMK2022 Dokumentation - Thomas Hirt
 
FMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas HirtFMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
 
FMK2022 FileMaker Integrated Development Environment - Russell Watson
FMK2022 FileMaker Integrated Development Environment - Russell WatsonFMK2022 FileMaker Integrated Development Environment - Russell Watson
FMK2022 FileMaker Integrated Development Environment - Russell Watson
 
FMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph KlussFMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph Kluss
 
FMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph KlussFMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph Kluss
 
FMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell WatsonFMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell Watson
 
FMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menannoFMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menanno
 
FMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza KoudelkaFMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
 
FMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza KoudelkaFMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza Koudelka
 
Fmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald MairFmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald Mair
 
FMK2019 Layout und Eigene Menüs-Management by Jörg Köster
FMK2019 Layout und Eigene Menüs-Management  by Jörg KösterFMK2019 Layout und Eigene Menüs-Management  by Jörg Köster
FMK2019 Layout und Eigene Menüs-Management by Jörg Köster
 
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens ...
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens  ...FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens  ...
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens ...
 
FMK2019 FM Data Migration Tool by Stefan Tischler
FMK2019 FM Data Migration Tool by Stefan TischlerFMK2019 FM Data Migration Tool by Stefan Tischler
FMK2019 FM Data Migration Tool by Stefan Tischler
 
FMK2019 dot-Net-Plugin selbst programmieren by Werner Staub
FMK2019 dot-Net-Plugin selbst programmieren by Werner StaubFMK2019 dot-Net-Plugin selbst programmieren by Werner Staub
FMK2019 dot-Net-Plugin selbst programmieren by Werner Staub
 
FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...
FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...
FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...
 
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp Puls
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp PulsFMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp Puls
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp Puls
 
FMK2019 Softwaretest in Filemaker Programmen by Volker Krambrich
FMK2019 Softwaretest in Filemaker Programmen by Volker KrambrichFMK2019 Softwaretest in Filemaker Programmen by Volker Krambrich
FMK2019 Softwaretest in Filemaker Programmen by Volker Krambrich
 
FMK2019 Indirections - Layout und Eigene Menüs-Management by Jörg Köster
FMK2019 Indirections - Layout und Eigene Menüs-Management by Jörg KösterFMK2019 Indirections - Layout und Eigene Menüs-Management by Jörg Köster
FMK2019 Indirections - Layout und Eigene Menüs-Management by Jörg Köster
 

FMK2022 FileMaker DataAPI und Java von Bernhard Schulz

  • 1. www.filemaker-konferenz.com FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung DI (FH) DI Bernhard Schulz
  • 2. www.filemaker-konferenz.com FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Was Sie erwartet • Geschichte • Implementierungsdetails • Codebeispiele • Praxisbeispiele
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz Praxisbeispiel BINGOOO Shop
  • 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. 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. 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. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz Praxisbeispiel Middleware • Testing
  • 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. 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. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz Praxisbeispiel Dashboard mit Exceldownloads
  • 28. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker Data API und Java Anbindung - Bernhard Schulz Praxisbeispiel Dashboard mit Exceldownloads
  • 29. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Titel Vortrag - Name Sprecher Fragen? Vielen Dank für Ihr Interesse!
  • 30. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Titel Vortrag - Name Sprecher Vielen Dank unseren Sponsoren