server-daten: Struktur der Anwendung
Okt
1
Written by:
01.10.2008 11:47
Server-Daten ist eine auf .NET und dem MS-SqlServer basierende Web-Anwendung, die inzwischen von Kunden für verschiedenste Zwecke genutzt wird. Entscheidend für die kontinuierliche Weiterentwicklung ist die Struktur des Hintergrundsystems, das hier vorgestellt wird. Weitere Infos: http://www.sql-und-xml.de/
Server-Daten ist - aus der Sicht des Gesamtsystems betrachtet - eine fünfschichtige Anwendung:
- Tabellen
- Gespeicherte Prozeduren, einerseits standardisierte Zugriffsprozeduren für Get/Insert/Update/Delete, einige für die grundsätzliche Verwaltung sowie 'nutzerdefinierte Objekte' - spezielle Views und Abfragen. Sämtliche Objekte können bei Systemerweiterungen neu erstellt werden. Die tabellenspezifischen Prozeduren werden ohnehin bei jeder Änderung des Tabellenschemas neu generiert.
- Eine .NET-Komponente, die mit der Datenbank interagiert, nur gespeicherte Prozeduren ausführen darf und Zahlen als Statusmeldungen erhält und weitergibt.
- Eine .NET-Komponente, die Fehlermeldungen übersetzt und bestimmte Fälle transformiert
- Zwei (eigentlich noch mehr) voneinander relativ unabhängige .NET-Anwendungen: Das eine ist das Nutzer-Backend für die Erstellung von Tabellen / Abfragen / Ausgabeseiten (unter /admin/), das andere sind die benutzertypischen Seiten: Html-Code mit eingebetteten sd-Elementen (basierend auf einer Xml-Schema-Datei), die beim Aufruf einer Seite per Xsl-Transformation zusammen mit Daten aus der Datenbank gematcht und als Html
Aus der Sicht eines administrierenden Nutzers ist scheinbar sehr wenig möglich:
- Erstellung von Tabellen
- Verknüpfen dieser
- Erstellen eigener Abfragen
- Ausgabeseiten - Html plus sd-Elemente
- Nutzer und Berechtigungen
Zusätzlich noch ein paar Kleinkramdinge.
Praktisch hat sich in den ersten 2.5 Jahren Betrieb gezeigt: Aufgrund dieser einerseits sehr komplexen Architektur im Hintergrund, andererseits diesen scheinbar reduzierten Möglichkeiten auf der Anwendungsebene ist Server-Daten ein Tool, das es ermöglicht, für Kunden einfache Online-Lösungen sehr schnell zusammenzubauen. Dann erkundigten sich (Bestands-) Kunden immer wieder nach neuen Features (Umkreissuche, automatisiertes Einlesen von Mails, PayPal-Bezahlung, RSS, Wiki). Die strikte Trennung der Komponenten im Hintergrund und die Verwendung von Xml ermöglicht es, solche Komponenten sehr rasch zu entwickeln: Ein neuer Spaltentyp, der vom Backend korrekt verarbeitet wird, anschließend ein paar neue sd-Elemente (einschließlich Dokumentation plus korrekter Verschachtelung), um die Logik in der Ausgabeseite bereitzustellen, dafür einmalig der Code beim Generieren von Ausgabeseiten angepaßt.
Effektiv ermöglicht das ein sehr schnelles Bereitstellen von kleinen, angepaßten Lösungen innerhalb weniger Tage. Kunden beginnen mit diesen, entdecken dann neue Möglichkeiten und fragen nach Ergänzungen. Diese können ähnlich rasch bereitgestellt werden.
Weiteres: Server-Daten: Online-CRM-Lösungen
Copyright ©2008 Jürgen Auer