Fmk2019 Produktentwicklung mit FileMaker by Harald Mair
FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt
1. Die FMP12-Datei als
wiederverwendbares Objekt
Thomas Hirt
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com
2. Inhaltsübersicht
• Ziele und Einschränkungen
• Wiederverwendbarkeit in FileMaker
• die Idee des "Objektes" im Software Engineering
• Methoden zur Reduktion der Komplexität
• Programmierparadigmen
• Objektorientierung in a Nutshell
• die FileMaker Datenbankdatei als Objekt
• Implementation eines Interface
• Anwendungsbeispiele
• Q&A
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com
3. Ziele und Einschränkungen
• Dieses Referat verfolgt zwei Ziele:
• aufzeigen einer konkreten Arbeitstechnik, die
Wiederverwendbarkeit fördert
• Anregung zum Nachdenken über Möglichkeiten und Grenzen von
FileMaker im grösseren Kontext des Software Engineering
• Wie in jedem Fachgebiet gibt es auch im Software Engineering und in
der FileMaker-Community unterschiedliche Ansichten. Das Referat legt
sich auf einige fest, erhebt aber keinesfalls den Anspruch, alleingültig
zu sein.
• Diverse Themen müssen stark verknappt und daher teilweise auch
etwas unscharf wiedergegeben werden. Diese Themen sind in
besonderem Masse als Anregung zur individuellen Vertiefung nach der
Konferenz gedacht.
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com
4. Wiederverwendbarkeit in FileMaker
• Wiederverwendung explizit von FileMaker vorgesehen
• Verweise
• Tabellen
• Skripten
• Importe
• Tabellen
• Skripten
• Custom Functions
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com
5. Wiederverwendbarkeit in FileMaker
• Wiederverwendung mittels Copy-Paste
• Tabellen und Felder
• Layout-Elemente (sehr bedingt inkl. ihrer Verknüpfungen)
• Skripte
• Custom Function Code
• Grenzen der Wiederverwendbarkeit
• Benutzerkonti & Berechtigungen
• Custom Menus
• Konstrukte
(Kombination von Tabellen, Feldern, Skripten, CFs)
• Schnittstellen und Architekturen
• Module
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com
6. die Idee des Objektes
Methoden zur Reduktion der Komplexität
• Zerlegung
• fachlich
• Abstraktion
• abstrahere (lat.) entfernen
• Reihenfolgen
• Klassifikation (Gemeinsamkeiten)
• Teilsysteme
• Assoziation (Beziehungen)
• Schnittstellen
• Generalisierung und
Spezialisierung
• Abhängigkeiten
• zeitlich
• Analyse
• Aggregation (ist-Teil-von)
• Wiederverwendung
• Design
• "das Rad nicht neu erfinden"
• Implementation
• Algorithmen
• Testing
• Bibliotheken
• Betrieb
• Module
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com
7. die Idee des Objektes
Methoden zur Reduktion der Komplexität
• Zerlegung
• Abstraktion
• fachlich
• abstrahere (lat.) entfernen
• Reihenfolgen
• Klassifikation (Gemeinsamkeiten)
• Teilsysteme
• Assoziation (Beziehungen)
• Schnittstellen
• Generalisierung und
Spezialisierung
• Abhängigkeiten
• Aggregation (ist-Teil-von)
• zeitlich
• Analyse
• Wiederverwendung
• Design
• "das Rad nicht neu erfinden"
• Implementation
• Algorithmen
• Testing
• Bibliotheken
• Betrieb
• Module
Vorgehensweise
mit FM möglich
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
mit FM bedingt möglich
mit FM schwer/unmöglich
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com
8. die Idee des Objektes
Exkurs: Schnittstellen und Layers
Schnittstelle: GUI
Aufbereitung Eingaben
Aufbereitung Ausgaben
Schnittstelle: Geschäftslogik
Logik zu Thema X
Logik zu Thema Y
Schnittstelle: Datenmodell
Datenspeicherung
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
Datensuche
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com
9. die Idee des Objektes
Exkurs: Schnittstellen und Layers
Vorteile von Schnittstellen
und Layers
Realität in FileMaker
• lose Kopplung zwischen Layers
• enge Kopplung
• hohe Kohäsion innerhalb Layers
• hartkodierte Verbindungen
• solange die Schnittstelle konstant
bleibt, kann alles andere
geändert werden
• Datenstruktur der
eingebundenen "external data
sources" wird direkt verwendet
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com
10. die Idee des Objektes
Programmierparadigmen
Prozedurale
Programmierung
Objektorientierte
Programmierung
• Variablen
• Name
• Datentyp
• Dekomposition in Klassen
• Zustand (Attribute)
• Methoden (Funktionen)
• Funktionen mit Parametern
(Prozeduren, Subroutinen)
• Generalisierung mittels
Vererbung
• Kontrollstrukturen
• Sequenz
• Verzweigung
• Schleife
• Assoziation (Beziehungen) mittels
• Komposition
• Aggregation
• Modularisierung
• Instanzierung von Objekten aus
Klassen
• deterministischer, schrittweiser
Ablauf
• Objekte existieren gleichzeitig
und senden sich Botschaften
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com
11. die Idee des Objektes
Objektorientierung in a Nutshell
Klasse
Klassenname
Attribute
Methoden
Fahrzeug
+
+
+
+
+
anzRaeder: int
hatDach: bool
anzPersonen: int
fahren( ziel: Ort )
zusteigen ( personen: int )
Objekt
Instanzierung
auto: Fahrzeug
+
+
+
+
+
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
anzRaeder: 4
hatDach: true
anzPersonen: 0
fahren( ziel: Ort )
zusteigen ( personen: int )
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com
12. die Idee des Objektes
Objektorientierung in a Nutshell
Fahrzeug
+
+
+
+
+
anzRaeder: int
hatDach: bool
anzPersonen: int
fahren( ziel: Ort )
zusteigen ( personen: int )
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com
13. die Idee des Objektes
Objektorientierung in a Nutshell
bewusst
weggelassen
Fahrzeug
+
+
+
+
+
anzRaeder: int
hatDach: bool
anzPersonen: int
fahren( ziel: Ort )
zusteigen ( personen: int )
Interface
• Vererbung
• Polymorphismus
Fahrzeug
+ anzRaeder: int
+ hatDach: bool
+ anzPersonen: int
- reichweite: int
+ fahren( ziel: Ort )
+ zusteigen ( personen: int )
- navigieren ( k: Koordinaten)
- tanken ( liter: int)
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
Kapselung
"information hiding"
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com
14. die Idee des Objektes
Objektorientierung in a Nutshell
Klasse
Klassenname
Attribute
Methoden
Fahrzeug
+
+
+
+
+
anzRaeder: int
hatDach: bool
anzPersonen: int
fahren( ziel: Ort )
zusteigen ( personen: int )
Objekt
Instanzierung
auto: Fahrzeug
+
+
+
+
+
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
anzRaeder: 4
hatDach: true
anzPersonen: 0
fahren( ziel: Ort )
zusteigen ( personen: int )
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com
15. die Idee des Objektes
Objektorientierung in a Nutshell
Objekt
auto: Fahrzeug
+
+
+
+
+
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
anzRaeder: 4
hatDach: true
anzPersonen: 0
fahren( ziel: Ort )
zusteigen ( personen: int )
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com
16. die Idee des Objektes
Objektorientierung in a Nutshell
aufrufendes
Objekt
Objekt
"Tanja Test": Person
+
+
+
+
+
geschlecht: "weiblich"
alter: "30"
kannAutofahren: true
ortVeraendern ( ziel: Ort)
essen ( kalorien: int)
auto: Fahrzeug
zusteigen (1)
+
+
+
+
+
anzRaeder: 4
hatDach: true
anzPersonen: 0
1
fahren( ziel: Ort )
zusteigen ( personen: int )
Botschaft
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com
17. die FileMaker Datenbankdatei
als Objekt
aufrufende
FMDB
external data
source
aufgerufene FMDB
table
table
layout
Interface
script
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
layout
script
script
script
script
$variable
$$VARIABLE
custom
function
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com
19. Anwendungsbeispiele
generell geeignet für
generell ungeeignet für
• externe Verarbeitung von
zeichenbasierten Datenformaten
• externe Verarbeitung von binären
Datenformaten
• Rückgabe von zeichenbasierten
Datenformaten
• Rückgabe von binären
Datenformaten
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com
20. Anwendungsbeispiele
• Funktionsbibliotheken
• Berechnungsgrundlagen
• komplexe Algorithmen
• Verwaltung von Berechtigungen
• Verwaltung von Menüstrukturen
• Message Queue
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com
21. Anwendungsbeispiele
FMDB 1
script
FMDB
Message Queue
FMDB 2
script
FMDB 3
table
script
script
script
script
table
script
FMDB 4
script
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com
22. Anwendungsbeispiele
• Entwurfsmuster
• "Design Patterns. Elements of Reusable Object-Oriented Software",
Gamma E., Helm R., Johnaon R. E., Vlissides J. [1995] AddisonWesley
• Facade Pattern
• Proxy Pattern
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com
23. Questens & Answers
Danke für Ihr Interesse!
Haben Sie Fragen?
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com
24. Vielen Dank unseren Sponsoren
Danke für die Bewertung dieses Vortrages
Thomas Hirt
Die FMP12-Datei als wiederverwendbares Objekt
FileMaker Konferenz 2013 Salzburg
www.filemaker-konferenz.com