FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …
Upcoming SlideShare
Loading in...5
×
 

FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …

on

  • 897 views

Ein Vortrag im Rahmen der FileMaker Konferenz 2012 in Salzburg.

Ein Vortrag im Rahmen der FileMaker Konferenz 2012 in Salzburg.

Statistics

Views

Total Views
897
Views on SlideShare
897
Embed Views
0

Actions

Likes
0
Downloads
70
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten … FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten … Presentation Transcript

  • FileMaker Konferenz2010 Programmstrukturen -- FileMaker Skripten nicht nur für Experten Neue und moderne Programmierkonzepte für FileMaker Entwickler. * Dr. Volker Krambrich, NORSULT Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • FileMaker Konferenz2010 Einführung Programmieren Konzepte aus modernen Programmiersprachen (zum Beispiel Java, Objective C…) kann man auch in FileMaker brauchen: • Kapselung, • Information hiding, • Methoden, • Vererbung. Daneben gibt es Arbeitstechniken wie Dekomponieren (Decomposition), und methodische Ansätze ( Algorithmische Optimierung) die vorgestellt werden. Die Idee „generischer Scripte“ oder „generischer Operationen” ist jedem Entwickler vertraut. Der ScriptSchritt ,Neuer Datensatz‘ ist ein typisches Beispiel. Wie funktioniert das und wie können wir etwas ähnliches selbst bauen? Ich werde zeigen und erklären, was man darunter versteht, warum Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Volker Krambrich NORSULT Database Professionals • FileMaker seit 1989 • FMK seit 2010 • zertifiziert als Entwickler und Trainer • Linguist und Informatiker • dr.filemaker@mac.comDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Was istProgrammieren?Programmierung (von griechisch prógramma „Vorschrift“) bezeichnet die Tätigkeit, Computerprogramme zu schreiben. Dies umfasst vor allem die Umsetzung (Implementierung) des Softwareentwurfs in Quellcode und, je nach verwendeter Programmiersprache, dessen Übersetzung in die Maschinensprache. (Wikipedia)Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Algorithmen Eine Berechnungsvorschrift zur Lösung eines Problems heißt genau dann Algorithmus, wenn eine zu dieser Berechnungsvorschrift äquivalente Turingmaschine existiert, die für jede Eingabe, die eine Lösung besitzt, stoppt.Aus dieser Definition sind folgende Eigenschaften einesAlgorithmus ableitbar: 1. Das Verfahren muss in einem endlichen Text eindeutig beschreibbar sein (Finitheit). 2. Jeder Schritt des Verfahrens muss tatsächlich ausführbar sein (Ausführbarkeit). 3. Das Verfahren darf zu jedem Zeitpunkt nur endlich viel Speicherplatz benötigen (Dynamische Finitheit, siehe Platzkomplexität). 4. Das Verfahren darf nur endlich viele Schritte benötigen (Terminierung, siehe auch Zeitkomplexität).Darüber hinaus wird der Begriff Algorithmus in praktischenBereichen oft auf die folgenden Eigenschaften eingeschränkt: 1. Der Algorithmus muss bei denselben Voraussetzungen das gleiche Ergebnis liefern (Determiniertheit). 2. Die nächste anzuwendende Regel im Verfahren ist zu jedem Zeitpunkt eindeutig definiert (Determinismus).Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Algorithmen → ProgrammeDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Algorithmen → Programme Anfang EndeDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Algorithmen → Programme Anfang Vorbereitung Durchführung Abschluss EndeDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Algorithmen → Programme Anfang Prüfung der Eingabe Vorbereitung Prüfung der Zulässigkeit Durchführung Prüf. d. Durchführbarkeit Abschluss Versuch Durchführung Kontrolle Durchführung Ende Ergebnis liefernDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Praktische Anforderungen an FileMaker-Programme Qualitätskriterien: • Korrektheit • Robustheit • Wartbarkeit • Performanz Effizient programmiert •(richtige) ArbeitsmittelDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Was werden wir machen? • erste Schritte: Einen Schalter umlegen • Werkzeuge betrachten Arbeitstechniken, Dokumentation, Entwurf • ein komplexes Praxisbeispiel: FEIM File Export and Import ManagerDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Demo 1Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Was werden wir machen? ✓erste Schritte: Was soll das? Einen Schalter umlegen • Werkzeuge betrachten Arbeitstechniken, Dokumentation, Entwurf • ein komplexes Praxisbeispiel: FEIM File Export and Import ManagerDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Was soll man machen?Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Was soll man machen? Prüfung der EingabeDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Was soll man machen? Prüfung der Eingabe Prüfung der ZulässigkeitDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Was soll man machen? Prüfung der Eingabe Prüfung der Zulässigkeit Prüf. d. DurchführbarkeitDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Was soll man machen? Prüfung der Eingabe Prüfung der Zulässigkeit Prüf. d. Durchführbarkeit Versuch DurchführungDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Was soll man machen? Prüfung der Eingabe Prüfung der Zulässigkeit Prüf. d. Durchführbarkeit Versuch Durchführung Kontrolle DurchführungDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Was soll man machen? Prüfung der Eingabe Prüfung der Zulässigkeit Prüf. d. Durchführbarkeit Versuch Durchführung Kontrolle Durchführung Ergebnis liefernDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Was soll man machen? tf re i! Prüfung der Eingabe nte x Prüfung der Zulässigkeit Prüf. d. Durchführbarkeit Ko Versuch Durchführung Kontrolle Durchführung Ergebnis liefernDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Was soll man machen? • Keep your programs DRY *) Don‘t Repeat Yourself • Ein Script für eine Problemklasse! • Mach es gut und richtig – einmal! • Nichts einbauen, was nicht zum Problem gehört. • Kommentieren!Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • KommentierenDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Kommentieren • Standard: Wer hat wann was warum gemachtDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Kommentieren • Standard: Wer hat wann was warum gemacht • Das nicht Offensichtliche beschreibenDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Kommentieren • Standard: Wer hat wann was warum gemacht • Das nicht Offensichtliche beschreiben • Irrwege und Alternativen festhaltenDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Kommentieren • Standard: Wer hat wann was warum gemacht • Das nicht Offensichtliche beschreiben • Irrwege und Alternativen festhalten • Für wen?Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Kommentieren • Standard: Wer hat wann was warum gemacht • Das nicht Offensichtliche beschreiben • Irrwege und Alternativen festhalten • Für wen? • Für Mich! Ich bin wahrscheinlich der andere Entwickler der in zwei Monaten reinschaut…Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Arbeitstechniken • Kommentieren • Planen und dokumentieren • Prosa, Skizzen, Diagramme • Werkzeuge benutzen • DDR, CrossCheck, BaseElements, Inspector • Das Web als Hilfe und Anregung benutzenDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Arbeitstechniken • Kommentieren • Planen und dokumentieren • Prosa, Skizzen, Diagramme • Werkzeuge benutzen • DDR, CrossCheck, BaseElements, Inspector • Das Web als Hilfe und Anregung benutzenDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Special Script UniverseDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • ArbeitstechnikenBeispiel: Programmentwurf Nassi-Shneidermann diagrammeDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • ArbeitstechnikenBeispiel: Programmentwurf, zwei Modelle Flussdiagramm vs. Nassi-Shneidermann diagrammeDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Was werden wir machen? ✓erste Schritte: Einen Schalter umlegen Anwendung ✓Werkzeuge betrachten Arbeitstechniken, Dokumentation, Entwurf • ein komplexes Praxisbeispiel: FEIM File Export and Import ManagerDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • FEIM FileExportImportMngr FEIM File Export- and Import-Manager • Ein Kunde hat ein komplexes, gewachsenes FM System • Das System kommuniziert mit anderen Systemen • Es wird mit internen und externen Servern verbunden • Es wurden > 280 einzelne Kontaktskripten entdeckt • Die Architektur war zu unflexibel • Was tun?Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • FEIM File Export- and Import-ManagerDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • V.1.2 (16.2.2012) vk Create Offers and Reservations to be synchronized with external system The overall data model says that each object (offer or reservation) can have one or many positions; An offer refers to an (public, externally known) client. An OfferRow points to the containing Offer and one product, that must be both internally Client Product Offer OfferRow the model implicitly states that 1) Clients and Products are mutually known and for both system identifiably tagged, 2) the idea of an offer must be compatible. In SAP e.g. each offer contains only one row from our picture, combined with data that we store in Offer. This will need to be reflected in the supporting routines. Add New! Begin Statusfields in tables Offer OfferRow Revoke the mark to be Storage LastRun Storage LastRun enter an offer manually synched open no RunID local no RunID Set offer This status combination means| the offer has never been to be opened to the external system and all local editing is allowed, synched Transition including deletion of rows and offers without outside effect. Repeat for all rows affects here! and check completeness Check for completeness Check for status Set AddOffer marker Revoke AddOffer marker local no RunID Close and lock the offer local no RunID Re-open the offer, editing (editing of certain parts is of all parts is allowed still allowed) This status combination means| the offer has never been opened to the external system and all local editing is allowed, including deletion of rows and offers without outside effect, also the SetToBeSynched maybe revoked, still. End. In the above state an offer or reservation respectively may be set to "Open to SAP" if at least one complete row is filled in. Further business rules as to what complies with completeness in terms of SAP have still to be defined! Export New! Begin Statusfields in tables Offer OfferRow select all new to be Storage LastRun Storage LastRun added local no RunID local no RunIDDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen foundFileMaker Skripting… FEIM -- any? Yes call $Current RunID www.filemaker-konferenz.com getFileName w RunID
  • Repeat for all rows and check completeness Check for completeness Check for status Set AddOffer marker Revoke AddOffer marker local no RunID Close and lock the offer local no RunID Re-open the offer, editing (editing of certain parts is of all parts is allowed still allowed) This status combination means| the offer has never been opened to the external system and all local editing is allowed, including deletion of rows and offers without outside effect, also the SetToBeSynched maybe revoked, still. End. In the above state an offer or reservation respectively may be set to "Open to SAP" if at least one complete row is filled in. Further business rules as to what complies with completeness in terms of SAP have still to be defined! Export New! Begin Statusfields in tables Offer OfferRow select all new to be Storage LastRun Storage LastRun added local no RunID local no RunID call FEIM found any? Yes $Current RunID getFileName w RunID No call FEIM success? write export file xxxADD.xls tellNoExport w reason No No success? Yes Transition affects here call FEIM call FEIM all status fields! doRollback w ErrorID doCommit Change status in exported Records End. More than one process exporting and reporting to FEIM may access and modify records. The saved RunID must thus be synch $current RunID synch $current RunID constructed as a combined value from ProcessID and $currentRunID. Only then can a process and file be determined uniquely.Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Diagram Export Winpos XML FEIM Example Nassi-Shneiderman / 20120220 gbn Initialize process setting Set Focus (Layout) Find records to export Records found and no error Yes No Call Feim GetFileName Got filename Yes No export records Call OK ? Yes No Call Feim Commit Error to report ? Yes No Call Feim Rollback No records found ? Yes No Call Feim Call NoRecordsfoundDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • …und in FileMakerDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • …und in FileMaker 1FileReference 1 Skript 1 Customfunction FEIMDr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • Demo 2Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 SalzburgProgrammstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • FileMaker Konferenz2010 Vielen Dank unseren Sponsoren Danke für das Bewerten dieses Vortrages Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com