18.10.2007, 09:11 Uhr

Eine Datenbank für Nicht-Programmierer

In der neunten Ausgabe geht FileMaker in die Breite. Die Desktop-Datenbank integriert SQL-Datenquellen, während die Server-Variante webbasierte Anwendungen via PHP-Skripte erzeugt. Doch passt das noch zur einstigen Devise von FileMaker, Datenbanken ohne Programmierkenntnisse aufzubauen? Wir haben es getestet.
FileMaker 9 bindet SQL-Quellen wie eigene Tabellen ein.
Es hat sich viel verändert auf dem langen Entwicklungsweg von FileMaker. Ursprünglich als reine Desktop-Datenbank konzipiert, hat die Software für Windows und Mac OS X zwar massive Neuerungen erfahren. Doch auch in Version 9 wird das einfache Grundkonzept beherzigt. Ta-bellen und Beziehungen werden über eine grafische Benutzeroberfläche angelegt, die komplexe Programmierung von Abfragen entfällt. Und wie bisher sind Daten und Erscheinungsbild in einer Datei vereint, sofern sich der Programmierer nicht mit Kniffen behilft. Das Konzept ermöglicht den schnellen Aufbau einfacher Datenbank-Anwendungen - die sich durchaus von mehreren Benutzern bedienen lassen. Dazu bietet FileMaker zwei Server-Versionen an. Der Zugriff erfolgt üblicherweise über eine Desktop-Version von FileMaker oder alternativ via Webbrowser.

FileMaker auf dem Desktop

Für die Nutzung am Arbeitsplatz dient FileMaker Pro. Davon existiert eine erweiterte Variante mit dem Zusatz «Advanced». Diese bietet Entwicklern zusätzliche Werkzeuge wie einen Skript-Debugger oder einen Menü-Editor. In der neunten Ausgabe hat die Advanced-Version dazugelernt. Verschiedene Skripte können jetzt gleichzeitig für die Bearbeitung geöffnet sein, und der Inhalt von Variablen lässt sich jederzeit abfragen. Das vereinfacht das Leben des Programmierers. Wobei diese Bezeichnung etwas zu hoch gegriffen ist. Denn nach wie vor beschränkt sich die Skript-Erstellung auf die Auswahl vorgegebener Befehle und das Einstellen von Optionen. Für geübte Entwickler ist dieser Weg wesentlich mühsamer als das Schreiben von Code, dafür entfällt die Gefahr von Tippfehlern.
Die wichtigste Neuerung in FileMaker Pro 9 und Advanced 9 ist der ausgebaute Zugriff auf SQL-Datenbanken. Tabellen aus Oracle, Microsoft SQL Server und MySQL Community Edition werden wie eigene Behälter behandelt. Es ist nicht mehr nötig, für Abfragen manuell SQL-Befehle zu schreiben oder mit einem reinen Lesezugriff vorliebzunehmen. Daten lassen sich auslesen und zurückschreiben, und mit Hilfe einer Schattentabelle können Entwickler sogar Formel- und Statistikfelder hinzufügen. Die Integration beschränkt sich jedoch auf die Datenebene. Anpassungen an der Tabellenstruktur sind nicht möglich. Als Client für SQL-Datenbankserver eignet sich FileMaker nach wie vor nicht. Aber immerhin lassen sich jetzt Unternehmensdaten in FileMaker-Anwendungen integrieren. So könnte beispielsweise die Korrespondenz mit den Kunden des Online-Shops über die Desktop-Datenbank abgewickelt werden.
Der Zugriff auf SQL-Quellen erfolgt wie gehabt über ODBC (Open Database Connectivity). Im Test kam die Community-Variante von MySQL in Version 5.0 zum Einsatz. Zuerst muss eine Datenquelle (DSN, Data Source Name) eingerichtet werden. Allerdings ist deren Aufbau in den mitgelieferten Dokumentationen nicht beschrieben. Erst ein englischsprachiges PDF auf der FileMaker-Website gab detailliert Auskunft, wie der Zugriff auf SQL-Datenquellen zu bewerkstelligen ist. Im Fall der Open-Source-Datenbank sind Windows-Anwender im Vorteil. Sie können den kostenlosen ODBC-Treiber von MySQL verwenden. Auf der Mac-Seite ist dagegen eine kostenpflichtige Software von Actual Technologies nötig, die ab knapp 40 Franken erhältlich ist. Der Grund liegt wohl darin, dass der MySQL-Treiber unter Mac OS X nur benutzerspezifische DSN einrichtet, FileMaker aber systemweite Datenquellen benötigt. Aufgrund des nicht gerade bescheidenen Preises der Datenbank wäre es angemessen, wenigstens die einfachste Variante des Actual-Treibers mitzuliefern. Immerhin: Nach erfolgter Installation klappte der Zugriff auf den MySQL-Server einwandfrei. Dessen Tabellen liessen sich im Beziehungs-Fenster wie FileMaker-Quellen auswählen und verknüpfen. Diese Funktionalität dürfte für Unternehmen Anlass genug sein, bestehende FileMaker-Versionen zu aktualisieren oder diese Datenbank für einfache Projekte einzusetzen.

FileMaker auf dem Server

Die neue Form der SQL-Datenbank-Integration weist noch einen weiteren Vorteil auf. Bis anhin war es für ODBC-Zugriffe notwendig, den Treiber auf jedem Client-Rechner zu installieren. Dieser Vorgang kann nun in FileMaker-Server selbst erfolgen. Das vereinfacht die Handhabung und senkt unter Umständen die Lizenzkosten. Die Server-Ausgabe ist in einer normalen und einer «Advanced»-Variante erhältlich. Letztere unterscheidet sich in zwei Punkten von der einfachen Ausführung: Erstens kann der Advanced-Server als ODBC-Datenquelle dienen und beispielsweise Excel den Zugriff auf FileMaker-Datenbanken ermöglichen. Zweitens unterstützt die erweiterte Version mit «Instant Web Publishing» (IWP) die schnelle Veröffentlichung im Web.
Der Zugriff mit dem Webbrowser ist auch mit der getesteten Standard-Ausführung des Servers realisierbar. Das geschieht entweder über XSLT (Extensible Stylesheet Language Transformations) oder über PHP. Der Unterschied zu IWP besteht in beiden Fällen darin, dass vorgängig entsprechende Dateien erzeugt werden müssen. Die in Version 9 eingeführte PHP-Unterstützung funktioniert unter Windows mit IIS (Internet Information Services) und unter Mac OS X mit Apache 1.3 oder 2.0. FileMaker liefert zudem ein eigenes PHP-Modul mitsamt den benötigten Bibliotheken. Die Konfiguration des Webservers erfolgt bei der Installation der Server-Software. Allerdings hat dieser Weg zwei Nachteile: Zum Einen entspricht die mitgelieferte PHP-Version 5.1.4 nicht ganz dem aktuellen Stand. Für die Behebung von Sicherheitslücken ist man jedoch auf ein Update aus dem Hause FileMaker angewiesen. Zum Zweiten ist in der getesteten Mac-Variante der integrierte MySQL-Client zu alt, um in anderen Web-Anwendungen über PHP auf MySQL-Datenbanken in Version 5 zugreifen zu können. Unter Umständen bietet es sich also an, mit den Originalversionen von PHP oder Paketen eines Drittanbieters zu arbeiten und dort die FileMaker-Bibliotheken zu integrieren.
Um aus einer FileMaker-Datenbank eine Web-Anwendung zu erzeugen, ist keine Programmierarbeit nötig. Der Java-basierte PHP Site Assistant führt durch die nötigen Schritte und erzeugt anschliessend die erforderlichen PHP-Dateien. Das funktioniert grundsätzlich gut, hat aber zwei wesentliche Schwächen. Die erste liegt in den Zugriffsrechten für die Datenbank. Wenn beim Gastkonto der PHP-Zugriff erlaubt ist, übernimmt der Assistent dessen Zugriffsrechte, ohne eine Änderungsmöglichkeit zu bieten. Ansonsten lässt sich festlegen, dass sich ein Benutzer beim Web-Zugriff anmelden muss. Die Option, Name und Passwort zu speichern, ist aus Sicherheitsgründen untauglich. Denn diese kritischen Informationen werden direkt in den PHP-Skripten im Klartext gespeichert. Die zweite Schwäche zeigt sich darin, dass die resultierenden PHP-Dateien sowohl den Code als auch die HTML-Formatierungen beinhalten. Programmlogik und Design sind also nicht getrennt. Im Endeffekt dürfte für PHP-basierte Web-Anwendungen somit auch bei FileMaker ein Programmierer nötig sein, um die Applikation den Bedürfnissen und Sicherheitsansprüchen anzupassen.

Fazit: Breite als Fortschritt

In der neunten Ausgabe haben sowohl FileMaker Pro als auch die Server-Varianten in Sachen Integration dazugelernt. Der bequeme Zugriff auf SQL-Datenbanken und die PHP-Unterstützung erleichtern die Einbindung in bestehende Umgebungen. Das ist sicher ein Fortschritt und erweitert die Einsatzmöglichkeiten von FileMaker. Auf der anderen Seite blieben die Schwächen bestehen, insbesondere die fehlende Trennung von Daten und Design. Wenn man mit diesen Eigenheiten leben kann, ist FileMaker ein interessantes Werkzeug, um Datenbank-Anwendungen schnell und recht unkompliziert auf die Beine zu stellen.
Andreas Heer