Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
FileMaker Module
FileMaker-Lösungen im Stil von OpenSource-Projekten
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Vorstellung
Holger Darjus
Jg. 1962
• Designer/IT-Kaufmann
• Seit über 20 Jahren als Entwickler
tätig
• 17 Jahre technischer Leiter in
einem Medienunternehmen
• Seit 4 Jahren Vollzeitentwickler
Sansibar Sylt
• CEO/Inhaber
von IT & Datendesign
Desert Byte Communication
• Gründer Kompetenz-Institut
für Wirtschaftsinformatik
Unterwegs auf dem Daten-Highway
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Modulare Entwicklung
• Grundidee
• Konzeption
• Chancen und Nutzen
• Grenzen und Risiken
• Voraussetzungen
• Einsatzbereiche
• In der Praxis …
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Modulare Entwicklung
• Grundidee
• Konzeption
• Chancen und Nutzen
• Grenzen und Risiken
• Voraussetzungen
• Einsatzbereiche
• In der Praxis …
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
Symbiosen
durch Zusammenschluss
einzelner Lösungen
schaffen
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
Entwickler A
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
Entwickler B
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
Entwickler B
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Neu Anforderungen
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Modulare Entwicklung
• Grundidee
• Konzeption
• Chancen und Nutzen
• Grenzen und Risiken
• Voraussetzungen
• Einsatzbereiche
• In der Praxis …
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
Konzeption
Modularität (auch Baustein- oder Baukastenprinzip) ist die Aufteilung eines
Ganzen in Teile, die als Module, Komponenten, Bauelemente oder Bausteine
bezeichnet werden.
Bei geeigneter Form und Funktion können sie zusammengefügt werden oder über
entsprechende Schnittstellen interagieren.
Bei einem modularisierten Aufbau werden Gesamtsysteme aus standardisierten
Einzelbauteilen entlang definierter Schnittstellen zusammengesetzt.
Quelle: http://de.wikipedia.org/w/index.php?title=Modularität
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Modulare Entwicklung
Bei geeigneter Form und Funktion können sie zusammengefügt
werden oder über entsprechende Schnittstellen interagieren.
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Modulare Entwicklung
• Grundidee
• Konzeption
• Chancen und Nutzen
• Grenzen und Risiken
• Voraussetzungen
• Einsatzbereiche
• In der Praxis …
Bei neuen Projekten kann auf Standards aufgesetzt
werden. Das »Kleinste gemeinsame Vielfache« ist bereits
vorhanden und muss nicht neu entwickelt werden.
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Chancen und Nutzen
•Kurze Anlaufzeiten bei neuen Projekten
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
•Dauerhafte Akzeptanz bei den Anwendern/Kunden
Eine Lösung ist immer nur so gut wie der Entwickler, der
sie erstellt hat. Wir haben vielleicht die speziellen Wünsche
unserer Kunden erfüllt, aber irgendwann sieht der Kunde
anderswo „coole Feature“, die er auch gern in seiner
Lösung hätte.
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Chancen und Nutzen
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
•Networking und stetige Weiterentwicklung
Eine Datenbank ist niemals fertig!
Die Entwicklungen Anderer nutzen und dem
Kunden als »Mehrwert« zu seiner Lösung anbieten.
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Chancen und Nutzen
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Chancen und Nutzen
•Durchdringen des Marktes
Sehr „starre“ Lösungsanbieter
beherrschen den Markt.
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Chancen und Nutzen
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Modulare Entwicklung
• Grundidee
• Konzeption
• Chancen und Nutzen
• Grenzen und Risiken
• Voraussetzungen
• Einsatzbereiche
• In der Praxis …
Mit FileMaker geht das nicht!
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Grenzen und Risiken
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
Vielen Dank unseren Sponsoren
Danke für das Bewerten dieses Vortrages
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Grenzen und Risiken
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
Oder doch?
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Grenzen und Risiken
FileMaker ist nicht Quellcode-basierend
Die Anforderungen der Anwender sind zu individuell
Man kann nicht gleichzeitig an einer Lösung entwickeln
Es gibt keine Standards
Es lassen sich keine Bibliotheken einbinden
…
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Modulare Entwicklung
• Grundidee
• Konzeption
• Chancen und Nutzen
• Grenzen und Risiken
• Voraussetzungen
• Einsatzbereiche
• In der Praxis …
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Voraussetzungen
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Voraussetzungen
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Voraussetzungen
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Voraussetzungen
Wenn modular entwickelt werden soll,
muss bereits die Basis dafür vorbereitet sein.
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Voraussetzungen
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Voraussetzungen
Daten.fmp12
Logik.fmp12
Datenbank.fmp12
Interface.fmp12 Einstellungen.fmp12
Die Lösung in logische Einheiten
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Voraussetzungen
Daten.fmp12
Logik.fmp12
unterteilen.
Interface.fmp12 Einstellungen.fmp12
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Voraussetzungen
Daten sind in der Regel beim Kunden.
Auf die Daten haben wir im Zweifelsfall nicht einmal Zugriff.
Darum müssen DATEN und LOGIK zwangsläufig voneinander getrennt werden.
Verzicht auf Logik in der »Daten-Datei«
Das heißt:
- Keine Scripte
- Keine Formeln
- Keine Layouts
- Keine „Eigenen Funktionen“
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Voraussetzungen
Daten sind so individuell wie unsere Kunden.
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Voraussetzungen
Demo … Generische Artikel
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Voraussetzungen
Daten.fmp12
Logik.fmp12
Interface.fmp12 Einstellungen.fmp12
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Grenzen und Risiken
Erheblich höherer Entwicklungsaufwand
Sehr komplexe Strukturen schon für geringste Anforderungen
Unterschiedliches Wissen bei Entwicklern
Verlust gewisser Freiheiten
Bürokratischer Overhead
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Voraussetzungen
Individuelle Gestaltung ade …
?
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
Voraussetzungen
Nicht aus technischer Sicht!
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
Voraussetzungen
Aber wie sieht beispielsweise ein „Löschen-Button“ aus?
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
Voraussetzungen
Von den Erfolgreichen lernen.
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
Voraussetzungen
Und doch ist jeder Kunde individuell
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
Voraussetzungen
Die Vielzahl von Formularen und individuellen Erscheinungsbildern
müssen eine Anpassung der Ausgabe-Layouts zulassen.
Daher auch diese Layouts in eine separate Datei auslagern!
B
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
A
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
Voraussetzungen
Daten Drucklayouts Logik Settings
Daten Drucklayouts Logik Settings
Settings
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
Voraussetzungen
• Trennung von Daten und Struktur
• Separate Datei für Ausgabe-Layouts
• Einstellungsdatei zur Programmsteuerung
• Einstellungsdatei zur individuellen Parametrisierung beim Anwender
• Übergeordnetes Framework
• Genaue Überlegung, welche Dateien beim Kunden bleiben
und welche mit Release-Wechseln aktualisiert werden
• Normierung und Dokumentation
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Modulare Entwicklung
• Grundidee
• Konzeption
• Chancen und Nutzen
• Grenzen und Risiken
• Voraussetzungen
• Einsatzbereiche
• In der Praxis …
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Einsatzbereiche
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Einsatzbereiche
Anschauungsmaterial
Einsatz als Beispiel-Dateien bei Schulungen
Vorlage für Entwicklungen außerhalb des Frameworks
Sammlung von „Eigenen Funktionen“
Grafik-Library
Stilvorlagen für Layouts
…
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Einsatzbereiche
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Einsatzbereiche
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Einsatzbereiche
Module können auch unterschiedliche Technologien verbinden.
Es muss nicht immer eine eigenständig funktionierende Lösung sein.
Ein Modul kann auch eine Schnittstelle sein.
Um aber eine Schnittstelle zu entwickeln, muss man die Bedingungen auf
beiden Seiten genauestens kennen.
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Modulare Entwicklung
• Grundidee
• Konzeption
• Chancen und Nutzen
• Grenzen und Risiken
• Voraussetzungen
• Einsatzbereiche
• In der Praxis …
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
In der Praxis
Der Versuch, einen universellen Framework in der Praxis umzusetzen.
• Erfolge
• Frustration
• Resümee
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
In der Praxis
Demo …
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Zusatz
Holger Darjus | Desert Byte Communication
Modulare Entwicklung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Zusatz
Todd Geist
http://www.modularfilemaker.org
Karsten Risseeuw
Sa, 18.10.2014, 9:00 - 10:30 Uhr
Seminarraum 2
Danke für das Bewerten dieses Vortrages
Vortragende(r)
Titel Vortrag
Vielen Dank unseren Sponsoren
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Hinweis der Redaktion
Was Sie in diesem Vortrag erwartet.
Benutzerverwaltung, Berechnungen, Eigene Funktionen, Rechteverwaltung, Navigation
Beispiel Warenwirtschaftssystem. Schnittstelle zu Amazon. Wir haben ein Warenwirtschaftssystem entwickelt. Jetzt möchte der Kunde seine Artikel auch bei Amazon präsentieren und anbieten.
Die eigenen Ressourcen sind begrenz. Vielleicht haben wir uns längst neuen Projekten gewidmet und die Lösung unseres „alten“ Kunden aus den Augen verloren. Der Stillstand führt bei dem Kunden dann aber zu einer schleichenden Unzufriedenheit.
FileMaker steht symbolisch als Werkzeug für individuelle Entwicklungen und schließt die Nische zwischen „selbst gestrickten“ Office-Anwendungen und Anbietern wie Lexware, Navision und SAP
FileMaker steht symbolisch als Werkzeug für individuelle Entwicklungen und schließt die Nische zwischen „selbst gestrickten“ Office-Anwendungen und Anbietern wie Lexware, Navision und SAP
Der Hunger nach Informationen und somit nach Datenbanken wächst stetig. Die Stücke des zuverteilenden Kuchens sind groß und warum sollten wir uns nicht ein gehöriges Stück davon abschneiden?
Benutzerverwaltung, Berechnungen, Eigene Funktionen, Rechteverwaltung, Navigation
Beispiel Metapher Jens Teich »Marionette«
Einig darüber sein, was erreicht werden kann/soll
Das Recht an der eigenen Entwicklung behalten
Die Freiheit auf individuelle Anforderungen eines Kunden einzugehen.
Modulares Denken
Modulares Denken
Beispiel ISS Raumstation. Damit andere Länder eigene Module entwickeln konnten, mussten sie genau wissen welche Voraussetzungen erfüllt werden müssen, damit das Modul an die Basis passt.
Welche Gewinde, wie viel Strom, welche Durchmesser, Gewichte, Längen usw.
Splitten in einzelne Dateien: Daten, Logik, Interface, einzelne Frameworks
Splitten in einzelne Dateien: Daten, Logik, Interface, einzelne Frameworks
Die Aussage ist natürlich provokant. Natürlich gibt es eine Hand voll von logischen Funktionen, die auch in der Datendatei angewendet werden dürfen/müssen.
Vergleich anhand einer Artikelbeschreibung TV-Geräte vs. Lebensmittel.
Vergleich anhand einer Artikelbeschreibung TV-Geräte vs. Lebensmittel.
Vergleich anhand einer Artikelbeschreibung TV-Geräte vs. Wein.
Vergleich anhand einer Artikelbeschreibung TV-Geräte vs. Wein.
Splitten in einzelne Dateien: Daten, Logik, Interface, einzelne Frameworks
Beispiel Metapher Jens Teich »Marionette«
Jeder Entwickler ist stolz auf sein intuitiv zu bedienendes Interface
Wenn der Framework entsprechend aufgebaut ist, lassen sich auch individuelle Layouts gestalten.
Spieglein Spieglein an der Wand, wer hat den schönsten Button im ganzen Land?
Apple hat seinen Erfolg unter anderem dadurch, dass bereits Steve Job einen nahezu pedantischen Hang zum perfekten Design hatte. Einfache, intuitive und einheitliche Erscheinungsbilder schaffen eine schnelle Akzeptanz bei den Anwendern.
Wenn der Framework entsprechend aufgebaut ist, lassen sich auch individuelle Layouts gestalten.
Wenn der Framework entsprechend aufgebaut ist, lassen sich auch individuelle Layouts gestalten.
Wenn der Framework entsprechend aufgebaut ist, lassen sich auch individuelle Layouts gestalten.
Wenn der Framework entsprechend aufgebaut ist, lassen sich auch individuelle Layouts gestalten.
Entwickler hat eine tolle Artikel-Datenbank
Die Artikel aus dieser Datenbank möchte er gern bei Amazon zum Kauf anbieten
Aber leider passen die beiden Strukturen nicht so recht zusammen.
Erläuterung am Beispiel der Gastrofix-Lösung
Erläuterung am Beispiel der Gastrofix-Lösung
Die einheitliche Basis ist Vor- und Nachteil zugleich. Die Entscheidung darüber bei welcher Aufgabenstellung auf einen Framework aufgesetzt wird, hängt im Wesentlichen von der Zielrichtung ab.
Bei »
Die einheitliche Basis ist Vor- und Nachteil zugleich. Die Entscheidung darüber bei welcher Aufgabenstellung auf einen Framework aufgesetzt wird, hängt im Wesentlichen von der Zielrichtung ab.
Bei »
Die einheitliche Basis ist Vor- und Nachteil zugleich. Die Entscheidung darüber bei welcher Aufgabenstellung auf einen Framework aufgesetzt wird, hängt im Wesentlichen von der Zielrichtung ab.
Bei »