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

CopyRhadamantys greift weltweit Unternehmen an

Ausgeklügelte Phishing-Kampagne verwendet eine weiterentwickelte Version der Rhadamanthys-Stealer-Malware.

7 Tagen ago

Facebook Marketplace: EU verhängt Geldbuße von fast 800 Millionen Euro gegen Meta

Die EU-Kommission kritisiert die Verknüpfung von Facebook und dem hauseigenen Online-Kleinanzeigendienst. Sie sieht darin einen…

7 Tagen ago

Umfrage: Angestellte in Deutschland unterschätzen NIS-2-Richtlinie

Fast zwei Drittel halten jedoch eine Umsetzung aller Vorgaben von NIS 2 bis Jahresende für…

1 Woche ago

Kostenloser Dekryptor für ShrinkLocker

Mit dem Dekryptor von Bitdefender können Opfer von Attacken mit der Shrinklocker-Ransomware Dateien wiederherstellen.

1 Woche ago

Malwarebytes warnt vor Betrugsmaschen beim Weihnachtseinkauf

In der Vorweihnachtszeit ist vor allem Malvertising auf dem Vormarsch. Cyberkriminelle locken Nutzer über schädliche…

1 Woche ago

Bedrohungsindex: Deutliche Zunahme von Infostealern im Oktober

Dazu trägt unter der Infostealer Lumma-Stealer bei. Hierzulande dominiert der Infostealer Formbook die Malware-Landschaft.

1 Woche ago