Sobald die Datenbanken eingerichtet sind, kann man mit der Implementierung der Klassen für die Datenschicht in beiden Anwendungen beginnen. Die eigentliche Verknüpfung zwischen den Dateneinheits-Klassen und der Datenbank sollte immer von einer generischen Datenzugriffs-Klasse bereitgestellt werden, die sich um alle allgemeinen Datenbankfunktionen kümmert, die man in einer Anwendung benötigt. Hier wird dazu Microsofts Data Access Application Block verwendet, eine wiederverwendbare Sammlung von Klassen für eine optimierte Datenbank-Verbindung.
Hier soll es nur um die wichtigsten Anforderungen der Anwendung gehen, die auf das Notwendigste beschränkt werden sollen. Für die Anwendungen muss man lediglich gespeicherte Prozeduren ausführen und Variablen für SQL-Parameter erstellen, mehr ist nicht erforderlich. In beiden DbTier-Komponenten für John und Tom fügt man eine neue Klasse namens DbAccess.vb hinzu und kopiert den Code aus Listing C in beide neuen Klassen.
Diese Datenzugriffs-Klasse ist eine wiederverwendbare Komponente, die man für fast jede Anwendung einsetzen kann, die elementare Datenbankverbindungen benötigt. Diese Klasse bietet die folgenden Funktionen:
- Verbindung zu einer Datenbank herstellen: Durch eine entsprechende Einstellung in der Web.config-Datei kann man eine Verbindung zu jeder beliebigen Datenbank erstellen. Hierzu fügt man den folgenden Schlüssel in den Knoten appSettings in der Web.config-Datei im Stammverzeichnis hinzu:
- Ausführen einer gespeicherten Prozedur, die eine Datenbank ausgibt: Diese Funktion wird für gespeicherte Prozeduren verwendet, die SELECT-Anweisungen ausführen.
- Ausführen einer gespeicherten Prozedur, die keinen Ausgabewert hat: Diese Funktion wird normalerweise für gespeicherte Prozeduren verwendet, die Daten aktualisieren oder löschen und dem Benutzer keinen Ausgabewert liefern.
- SQL-Parameter erstellen: Für gespeicherte Prozeduren, die Eingaben erfordern, kann man allgemeine Funktionen aufrufen, die Eingabe-Parameter erzeugen.
- Cleanup: Die DbAccess-Klasse implementiert das IDisposable-Interface, wodurch sichergestellt wird, dass die Verbindung sofort nach dem Schließen wieder dem Verbindungs-Pool zur Verfügung gestellt wird.
Jede Datenbank erfordert einen Satz aus gespeicherten Prozeduren, mit denen die Funktionalität der Anwendungsfälle dargestellt wird. Die gespeicherten Prozeduren repräsentieren im Prinzip alles, was die Anwendungen ausführen können. Durch die Auslagerung der SQL-Syntax in gespeicherte Prozeduren erspart man sich eine Menge Kopfschmerzen, da man keine SQL-Abfragen direkt in den Code schreiben muss. Ein weiterer Vorteil ist, dass man das Verhalten der SQL-Abfragen während der Laufzeit ändern kann, ohne die Anwendung neu kompilieren und installieren zu müssen.
Neueste Kommentare
Noch keine Kommentare zu Web Services: Datenbank-Design
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.