Categories: Software

Webservice-Lösungen mit .NET

In diesem Beispiel wird eine Northwind-Datenbank verwendet, die mit allen SQL-Server-Installationen, unabhängig von der Version, bereitsteht. Das Unternehmen Northwind möchte Produktinformationen über eine benutzerfreundliche Oberfläche bereitstellen, die keinen Dialog mit den Northwind-Mitarbeitern erfordert.

Bei einem Gespräch mit Northwind-Mitarbeitern stellt sich heraus, dass die meisten Kunden Computersysteme verwenden, um von der Unternehmenswebsite Informationen anzufordern. Es würde sich anbieten, die Informationen über eine Weboberfläche bereitzustellen, womit man auf dem richtigen Weg ist. Angebracht ist eher der Teil der Lösung, Webservices zu entwickeln, mit denen die Informationsanforderung verarbeitet wird. Folglich können diese Services durch eine Weboberfläche genutzt werden, die direkt über eine Kundenanwendung aufgerufen oder von einer beliebigen anderen Clientanwendung genutzt wird.

Wenn es mit dieser Lösung auch nicht unbedingt möglich ist, den Bedarf an Northwind-Mitarbeitern komplett zu reduzieren, da nicht alle Kunden über eine Rechner- oder Internetverbindung verfügen, so spricht diese Lösung doch die Mehrheit der Kunden an und macht das Unternehmen unter Umständen für andere noch attraktiver. Nun zum eigentlichen Entwerfen der Lösung

Lösungsentwurf

Nachdem entschieden ist, wie die Lösung implementiert werden soll, müssen die Backend-Datenstrukturen untersucht werden. Das ist erforderlich, um zu überprüfen, welche Daten benötigt werden und wo sie sich befinden. Unter Umständen muss mehr als eine Tabelle aufgerufen werden, außerdem werden gespeicherte Prozeduren entwickelt, um die angeforderten Informationen zu verarbeiten. Mit der Verwendung von gespeicherten Prozeduren erhält man eine bessere Performance, da sie durch den Datenbankserver kompiliert werden, wodurch ein Teil der Arbeit auf den Datenbankserver verlegt wird. Eine genaue Prüfung der Datenstruktur ergibt die folgenden Informationen:

  • Artikeltabelle: Beinhaltet Artikelinformationen mit der Artikelkennung als Schlüssel. Benutzer sollten in der Lage sein, Artikel nach Artikelkennung, Artikelbezeichnung, Lieferantenkennung, Lieferantenname, Kategoriename und Kategoriekennung zu suchen.
  • Lieferantentabelle: Wird verwendet, um Lieferanteninformationen über das angeforderte Produkt anzuzeigen oder zu suchen. Sie ist mit der Artikeltabelle verknüpft.
  • Kategorientabelle: Wird verwendet, um Kategorieinformationen über das angeforderte Produkt anzuzeigen oder zu suchen. Sie ist mit der Artikeltabelle verknüpft.

Nachdem nun die Datenstrukturen, um die es hier geht, klar sind, werden die gespeicherten Prozeduren entwickelt und getestet, die durch die Webservices zur Beantwortung von Kundenanfragen verwendet werden. Es werden sechs gespeicherte Prozeduren verwendet:

  • sp_GetProductByID: Gibt alle Produkte mit dem passenden Parameter „Artikelkennung“ zurück.
  • sp_GetProductByName: Gibt alle Produkte mit dem passenden Parameter „Artikelname“ zurück.
  • sp_GetProductByCategoryID: Gibt alle Produkte mit dem passenden Parameter „Kategoriekennung“ zurück.
  • sp_GetProductByCategoryName: Gibt alle Produkte mit dem passenden Parameter „Kategoriename“ zurück.
  • sp_GetProductBySupplierID: Gibt alle Produkte mit dem passenden Parameter „Lieferantenkennung“ zurück.
  • sp_GetProductBySupplierName: Gibt alle Produkte mit dem passenden Parameter „Lieferantenname“ zurück.

Die gespeicherten Prozeduren sind relativ unkompliziert. Sie akzeptieren einen einzelnen Parameter und verwenden eine einfache SELECT-Klausel, um alle zu den verwendeten Tabellen und Werten passenden Datensätze zurückzugeben. Die Quelle für jede gespeicherte Prozedur ist in Listing A ersichtlich.

Listin A

Nach der Erstellung und Speicherung der gespeicherten Prozeduren werden sie mit dem Client SQL Server Query Analyzer geprüft. Davon ausgehend, dass alle Prozeduren problemlos laufen, folgt nun die nächste Entwicklungsphase.

Der nächste Schritt

Nachdem nun die Datenbankstruktur erstellt ist, geht es weiter zur Erstellung der eigentlichen Webservices, die mit der Datenbank verbunden werden. Der Webservice wird eine Schnittstelle zur Datenbank bereitstellen und dabei die unschönen Einzelheiten des Verbindens und Datenabrufs von dem anfordernden Kunden verbergen. Der Code wird zur Verbindung mit SQL-Server die Komponente Data Access Application Block (DAAB) von Microsoft einsetzen.

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Quantennetzwerk für sichere Kommunikation

Eine Glasfaser-Teststrecke am Karlsruher Institut für Technologie (KIT) soll Entwicklung von Quantennetzwerktechnologien fördern.

2 Tagen ago

Top-Malware im Januar: Infostealer Formbook kehrt zurück

Formbook ist für 16,5 Prozent der Malware-Infektion in Deutschland verantwortlich. Zudem registriert Check Point eine…

4 Tagen ago

Apple droht Ärger mit dem Bundeskartellamt

Die Wettbewerbshüter nehmen Apples App Tracking Transparency Framework ins Visier. Sie werfen Apple vor, damit…

5 Tagen ago

Phishing-Betrug zum Valentinstag nimmt zu

Im Januar werden über 18.000 neue Websites zum Thema Liebe und Valentinstag registriert. Auch die…

5 Tagen ago

Sicherheitslücke in AWS erlaubt Angriffe auf Amazon-Cloud-Instanzen

Angreifer schleusen schädliche Amazon Machine Images ein und tarnen diese als offizielle AWS-Images. Sie erhalten…

5 Tagen ago

Google stopft schwerwiegende Sicherheitslöcher in Chrome 133

Chrome für Windows, macOS und Linux sind angreifbar. Für eine der vier Schwachstelle zahlt Google…

6 Tagen ago