![]() |
||
|
HOME
|
KONTAKT - NEWSLETTER - IMPRESSUM | |
|
|
Programmierung & Technik Modulare Web-Entwicklung am Beispiel des Fusebox-Modells mit ColdFusion17.04.2000 Entwickeln Sie anhand einer strukturierten Applikationsarchitektur und bauen Sie sich ein eigenes Web-Application-Framework, um zukünftig transparente Applikationen zu entwickeln, besser im Team zu arbeiten, einmal programmierte Grundfunktionen einfach wiederverwenden zu können und eine Menge Entwicklungszeit zu sparen. Dieser Artikel führt in entsprechende Techniken ein und leitet Sie an, diese selbständig zu vertiefen. Das Management grosser Websites und komplexer Webapplikationen ist eine schwierige Aufgabe. Oft werden anfangs definierte Standards später nicht mehr beachtet, die Komplexität wird kaum noch kontrollierbar, Code ist nicht wiederverwendbar und die Fehlersuche wird zur Höllenqual. Die Lösung besteht in der Reduktion von Komplexität und Schaffung von Transparenz durch
Dies bringt folgenden Nutzen:
Das Fusebox-Modell Das sogenannte Fusebox-Modell wurde von einer Reihe begabter Entwickler hervorgebracht. Es orientiert sich am Sinnbild eines Sicherungskastens (englisch 'fusebox'). Eine Applikation besteht aus Teilapplikationen (= die einzelnen Sicherungen, die 'fuses'); für jede Aktion gibt es eine. Diese Aktionen werden von einer einzigen zentralen Datei aus verwaltet und kontrolliert - diese entspricht bildlich dem Sicherungskasten. Funktioniert eine der Aktionen ('fuses') nicht, dann kann so nicht gleich die gesamte Applikation 'durchbrennen' - und der Rest der Applikation bleibt weiterhin funktionstüchtig. Die Teilapplikationen, in diesem Modell 'fuses' genannt, sind nicht direkt miteinander querverlinkt, sondern weisen alle auf die zentrale Datei und übergeben an diese die neu vom Benutzer gewünschte Aktion. Real sieht das so aus, dass die index.cfm-Datei mit dem angehängten Parameter 'fuseaction' (natürlich können Sie ihn auch anders nennen) aufgerufen wird, der die gewünschte Aktion bezeichnet. Beispiel: index.cfm?fuseaction=seitensuche In der zentralen index.cfm-Datei werden dann die weiteren Dateien, die für die Ausführung dieser Aktion nötig sind, einfach hinzugezogen (per CFINCLUDE oder CFMODULE). Da in dieser index.cfm-Datei alle möglichen Aktionen ('fuseactions') behandelt werden, gibt die Struktur des entsprechenden CFIF- oder CFSWITCH-Gerüstes die Applikationsstruktur wider. Das ist in groben Zügen das Grundprinzip des Fusebox-Modells. Es gibt zwar noch eine Menge dazu zu sagen, aber allein mit diesem einfachen Prinzip können Sie sich viel Arbeit sparen und transparentere Applikationen entwickeln. Beginnen Sie mit einer einfachen Übung. Gehen Sie auf http://www.fusebox.org/examples/index.cfm und schauen Sie sich zunächst die einfachen Beispiele an. Nehmen Sie sich zuerst das 'Hello World Example' vor. Mit Klick auf 'Behind The Scenes' können Sie sich den Quelltext der Dateien anschauen. Verstehen Sie den Aufbau der index.cfm-Datei und die Verwendung des fusebox-Parameters. Laden Sie sich den Code herunter und bauen Sie sich daraus ihre erste eigene, aber einfache Fusebox-Applikation. Gehen Sie so in der Praxis vor: 1. Die Spezifikationen der zu schreibenden Applikation müssen mit dem Benutzer/Kunden herausgearbeitet werden. Das Thema 'Projektphasen' soll in diesem Artikel nicht weiter ausgeführt werden. Aber selbst wenn Sie zu den Entwicklern gehören, die sich gegen Projektdokumentation sträuben (und das sind fast alle), so müssen für das hier beschriebene Verfahren zumindest alle Aktionen, die der Benutzer mit der Applikation durchführen können soll, klar unterschieden und identifiziert werden. 2. Für jede der herausgearbeiteten Aktionen legt man ein entsprechend benanntes Unterverzeichnis unterhalb des Hauptverzeichnisses der Applikation an. 3. Jede Teilapplikation (im Fusebox-Modell 'Circuit Application' genannt) erhält eine eigene index.cfm-Datei. Eine index.cfm-Datei kontrolliert alle Aktionen ('fuseactions' genannt) der jeweiligen Applikation. Grundlegend enthält eine index.cfm-Datei ein CFSWITCH-Tag mit CFCASE-Statements. Jedes CFCASE ist eine andere Fuseaction und es INCLUDEd die nötigen Dateien. Eine index.cfm-Datei ist hier die 'Box' in Fusebox, die durch die Verwaltung der Aktionen die Struktur der Applikation abbildet - sei es nun die Home Application (auf grundlegender Stufe) oder eine Circuit Application. 4. Eine Fuseaction besteht aus einer oder mehrerer cfm-Dateien (die 'fuses'), die in der index.cfm-Datei INCLUDEd und somit ausgeführt werden. 5. Die 'Fuse'-Dateien sind dann die Dateien, die den eigentlichen Programmcode enthalten - hier wird aber nicht alles in eine Datei gequetscht, sondern es werden verschiedene Typen unterschieden, und somit wird modular vorgegangen. Zumindest sollte zwischen drei Dateitypen klar unterschieden werden:
6. Alle Links gehen auf index.cfm zurück! Alle Links und Formularaktionen zeigen auf das index.cfm zurück, nicht jedoch direkt auf die eigentlichen dsp- oder act-Dateien. Jeder Link bzw. jede Formularaktion enthält auch die auszuführende Fuseaction, also die Aktion, die als nächstes ausgeführt werden soll. Dies geht auf vier Arten: Universelles Format: Gaestebuch anzeigen | |