Web Services: Datenbank-Design

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.

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Jedes zweite Gerät mit Redline-Infostealer infiziert

Infostealer-Infektionen haben laut Kaspersky-Studie zwischen 2020 und 2023 um mehr als das sechsfache zugenommen.

4 Tagen ago

Kaspersky warnt vor kritischen Sicherheitslücken in Cinterion-Modems

Betroffen sind Millionen IoT- und M2M-Geräte Geräte weltweit. Unter anderem können Angreifer per SMS Schadcode…

4 Tagen ago

Google schließt Zero-Day-Lücke in Chrome

Von ihr geht ein hohes Risiko aus. Angreifbar sind Chrome für Windows, macOS und Linux.

7 Tagen ago

KI erkennt Emotionen in echten Sportsituationen

Forschende des KIT haben ein Modell zur Emotionsanalyse entwickelt, das affektive Zustände ähnlich genau wie…

1 Woche ago

Ermittlern gelingt weiterer Schlag gegen Ransomware-Gruppe LockBit

Sie decken die Identität des Kopfs der Gruppe auf. Britische Behörden fahnden mit einem Foto…

1 Woche ago

Apple stellt neuen Mobilprozessor M4 vor

Er treibt das neue iPad Pro mit OLED-Display an. Apple verspricht eine deutliche Leistungssteigerung gegenüber…

1 Woche ago