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.

Themenseiten: Software, Webentwicklung

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Webservice-Lösungen mit .NET

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *