1

FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

Die FMP12-Datei als wiederverwendbares Objekt

Thomas Hirt

Page 2: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

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

Page 3: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

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.

Page 4: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

Wiederverwendbarkeit in FileMaker

• Wiederverwendung explizit von FileMaker vorgesehen

• Verweise

• Tabellen

• Skripten

• Importe

• Tabellen

• Skripten

• Custom Functions

Page 5: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

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

Page 6: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

die Idee des Objektes Methoden zur Reduktion der Komplexität

• Zerlegung

• fachlich

• Reihenfolgen

• Teilsysteme

• Schnittstellen

• Abhängigkeiten

• zeitlich

• Analyse

• Design

• Implementation

• Testing

• Betrieb

• Abstraktion

• abstrahere (lat.) entfernen

• Klassifikation (Gemeinsamkeiten)

• Assoziation (Beziehungen)

• Generalisierung und

Spezialisierung

• Aggregation (ist-Teil-von)

• Wiederverwendung

• "das Rad nicht neu erfinden"

• Algorithmen

• Bibliotheken

• Module

Page 7: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

die Idee des Objektes Methoden zur Reduktion der Komplexität

• Zerlegung

• fachlich

• Reihenfolgen

• Teilsysteme

• Schnittstellen

• Abhängigkeiten

• zeitlich

• Analyse

• Design

• Implementation

• Testing

• Betrieb

• Abstraktion

• abstrahere (lat.) entfernen

• Klassifikation (Gemeinsamkeiten)

• Assoziation (Beziehungen)

• Generalisierung und

Spezialisierung

• Aggregation (ist-Teil-von)

• Wiederverwendung

• "das Rad nicht neu erfinden"

• Algorithmen

• Bibliotheken

• Module

Vorgehensweise mit FM möglich mit FM schwer/unmöglich mit FM bedingt möglich

Page 8: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

die Idee des Objektes Exkurs: Schnittstellen und Layers

Schnittstelle: Datenmodell Datenspeicherung Datensuche

Schnittstelle: Geschäftslogik Logik zu Thema X Logik zu Thema Y

Schnittstelle: GUI Aufbereitung Eingaben Aufbereitung Ausgaben

Page 9: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

die Idee des Objektes Exkurs: Schnittstellen und Layers

Vorteile von Schnittstellen

und Layers

• lose Kopplung zwischen Layers

• hohe Kohäsion innerhalb Layers

• solange die Schnittstelle konstant

bleibt, kann alles andere

geändert werden

Realität in FileMaker

• enge Kopplung

• hartkodierte Verbindungen

• Datenstruktur der

eingebundenen "external data

sources" wird direkt verwendet

Page 10: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

die Idee des Objektes Programmierparadigmen

Prozedurale

Programmierung

• Variablen

• Name

• Datentyp

• Funktionen mit Parametern (Prozeduren, Subroutinen)

• Kontrollstrukturen

• Sequenz

• Verzweigung

• Schleife

• Modularisierung

• deterministischer, schrittweiser Ablauf

Objektorientierte

Programmierung

• Dekomposition in Klassen

• Zustand (Attribute)

• Methoden (Funktionen)

• Generalisierung mittels Vererbung

• Assoziation (Beziehungen) mittels

• Komposition

• Aggregation

• Instanzierung von Objekten aus Klassen

• Objekte existieren gleichzeitig und senden sich Botschaften

Page 11: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

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 )

auto: Fahrzeug

+ anzRaeder: 4 + hatDach: true + anzPersonen: 0

+ fahren( ziel: Ort ) + zusteigen ( personen: int )

Objekt

Instanzierung

Page 12: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

die Idee des Objektes Objektorientierung in a Nutshell

Fahrzeug

+ anzRaeder: int + hatDach: bool + anzPersonen: int

+ fahren( ziel: Ort ) + zusteigen ( personen: int )

Page 13: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

die Idee des Objektes Objektorientierung in a Nutshell

Fahrzeug

+ anzRaeder: int + hatDach: bool + anzPersonen: int

+ fahren( ziel: Ort ) + zusteigen ( personen: int )

bewusst

weggelassen

• Vererbung

• Polymorphismus Interface

Fahrzeug

+ anzRaeder: int + hatDach: bool + anzPersonen: int - reichweite: int

+ fahren( ziel: Ort ) + zusteigen ( personen: int ) - navigieren ( k: Koordinaten) - tanken ( liter: int)

Kapselung

"information hiding"

Page 14: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

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 )

auto: Fahrzeug

+ anzRaeder: 4 + hatDach: true + anzPersonen: 0

+ fahren( ziel: Ort ) + zusteigen ( personen: int )

Objekt

Instanzierung

Page 15: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

die Idee des Objektes Objektorientierung in a Nutshell

auto: Fahrzeug

+ anzRaeder: 4 + hatDach: true + anzPersonen: 0

+ fahren( ziel: Ort ) + zusteigen ( personen: int )

Objekt

Page 16: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

die Idee des Objektes Objektorientierung in a Nutshell

aufrufendes

Objekt

auto: Fahrzeug

+ anzRaeder: 4 + hatDach: true + anzPersonen: 0

+ fahren( ziel: Ort ) + zusteigen ( personen: int )

Objekt

"Tanja Test": Person

+ geschlecht: "weiblich" + alter: "30" + kannAutofahren: true

+ ortVeraendern ( ziel: Ort) + essen ( kalorien: int)

zusteigen (1)

Botschaft

1

Page 17: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

die FileMaker Datenbankdatei als Objekt

aufrufende

FMDB aufgerufene FMDB external data

source

table layout

$variable $$VARIABLE

custom function

script

script

script script

table

script

Interface

layout

Page 18: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

Implementation eines Interface

Demo

in

FileMaker Pro 12 Advanced

Page 19: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

Anwendungsbeispiele

generell geeignet für

• externe Verarbeitung von

zeichenbasierten Datenformaten

• Rückgabe von zeichenbasierten

Datenformaten

generell ungeeignet für

• externe Verarbeitung von binären

Datenformaten

• Rückgabe von binären

Datenformaten

Page 20: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

Anwendungsbeispiele

• Funktionsbibliotheken

• Berechnungsgrundlagen

• komplexe Algorithmen

• Verwaltung von Berechtigungen

• Verwaltung von Menüstrukturen

• Message Queue

Page 21: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

Anwendungsbeispiele

script

script

script

script

table

table

FMDB

Message Queue script

FMDB 1

script

FMDB 2

script

FMDB 3

script

FMDB 4

Page 22: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

Anwendungsbeispiele

• Entwurfsmuster

• "Design Patterns. Elements of Reusable Object-Oriented Software",

Gamma E., Helm R., Johnaon R. E., Vlissides J. [1995] Addison-

Wesley

• Facade Pattern

• Proxy Pattern

Page 23: FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

Questens & Answers

Danke für Ihr Interesse!

Haben Sie Fragen?