FMK 2013 fmp12 als wiederverwendbares Objekt, Thomas Hirt

Preview:

DESCRIPTION

 

Citation preview

Thomas Hirt

Die FMP12-Datei als wiederverwendbares Objekt

FileMaker Konferenz 2013 Salzburg

www.filemaker-konferenz.com

Die FMP12-Datei 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

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.

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

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

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

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

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

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

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

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

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 )

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"

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

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

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

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

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

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

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

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

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

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?

Recommended