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

Lags beim Online-Gaming? DSL-Vergleich und andere Tipps schaffen Abhilfe

Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…

3 Tagen ago

GenKI-Fortbildung immer noch Mangelware

Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…

3 Tagen ago

Netzwerk-Portfolio für das KI-Zeitalter

Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…

3 Tagen ago

Internet-Tempo in Deutschland: Viel Luft nach oben

Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.

3 Tagen ago

Erste Entwickler-Preview von Android 16 verfügbar

Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…

3 Tagen ago

Kaspersky warnt vor Cyberangriff auf PyPI-Lieferkette

Die Hintermänner setzen KI-Chatbot-Tools als Köder ein. Opfer fangen sich den Infostealer JarkaStealer ein.

4 Tagen ago