| Weitere Artikel aus dem Webentwickler Blog |
| Teilen |
Im ersten Teil der Reihe ging es ganz allgemein um mehrschichtige Architekturen für umfangreiche Anwendungen. Die grundlegendste dieser Schichten ist die Datenschicht. Wie der Name schon sagt, kümmert sich die Datenschicht um die Verwaltung der Daten. Dazu gehört sowohl das Speichern der Daten in einem beliebigen Datenspeicher als auch das Selektieren der Daten aus diesem Datenspeicher. Darauf baut dann unter anderem die Schicht für die Geschäftslogik auf.
Die Datenspeicherung
In den meisten Webanwendungen bezeichnet der Datenspeicher eine MySQL- oder SQLite-Datenbank, jedoch kann die Datenschicht auch verwendet werden, um auf Textdateien, XML-Dokumente oder auch nur auf den Arbeitsspeicher zuzugreifen. Idealerweise müssen die übrigen Bestandteile der Anwendung nicht wissen, ob die Daten in einer Datenbank oder einer XML-Datei gespeichert werden.
In der Praxis ist die Abstraktionsstufe meist nicht ganz so hoch, da dies bedeuten würde, dass man auf die Abfrageoptionen von Datenbanken verzichten würde, und somit der Aufwand der Implementierung der Anwendung steigt. Stattdessen werden oft Datenbankfunktionen eingesetzt, die lediglich von einer bestimmten Datenbank bereitgestellt werden.
Ein Beispiel hierfür ist die Autoinkrement-Funktionalität von MySQL, die es Ihnen ermöglicht, die Zuweisung einer eindeutigen ID für einen Datensatz an die Datenbank zu delegieren. Wenn Ihre Anwendung auf diese Funktion vertraut, können Sie sie nicht einfach auf andere Datenbanken oder Datenspeicher umstellen, die diese Funktion nicht bieten. Wollen Sie eine erhöhte Portabilität, müssen Sie selbst von Anfang an eindeutige ID erzeugen, anstatt diese von der Datenbank durchführen zu lassen. Dadurch steigt jedoch auch der Implementierungsaufwand.
Tipp: Es existieren bereits Datenbankabstraktionen, die über eine zusätzliche Schicht zwischen Ihrer Anwendung und der Datenbank die Kompatibilität zwischen verschiedenen Datenbanken erhöhen. Die populärsten Vertreter dieser Datenbankabstraktionsschicht sind MDB2 und PDO. MDB2 ist im PEAR-Paket enthalten und die PHP Data Objects (PDO)-Erweiterung ist seit PHP 5.1 ein fester Bestandteil von PHP. Sollte Ihr Server noch mit PHP 5.0 betrieben werden, können Sie die PHP Data Objects separat als PECL-Erweiterung installieren.
Businesslogikschicht und Geschäftsprozesse
In der Businesslogikschicht finden die Geschäftsprozesse ein warmes Plätzchen. Bei einem Onlineshopsystem würden Sie hier den Code zum Verkauf eines Produkts und der Berechnung von Rabatten in dieser Schicht implementieren.
Ganzen Artikel lesen...




































