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

Das sind die besten Cybersicherheits-Anbieter Deutschlands

KI und Nachholbedarf des Mittelstands treiben die Nachfrage nach End-to-End-Services. SOC-Dienstleister profitieren besonders stark.

3 Tagen ago

Wearables etablieren sich als Trendmarkt

Bereits ein Drittel der Deutschen nutzt eine Smartwatch. 70 Prozent zeigen sich offen für weitere…

3 Tagen ago

Sicherheitslücke: Yubico-Sicherheitsschlüssel anfällig für Cloning

Der eigentliche Fehler steckt in einem Sicherheitschip von Infineon. Angreifbare YubiKeys von Yubico lassen sich…

3 Tagen ago

Google gibt Final von Android 15 für Entwickler frei

Der Quellcode steht dem Android Open Source Project zur Verfügung. Pixel-Smartphones und Geräte von Drittanbietern…

3 Tagen ago

Daten sicher auf optischen Speichermedien verschlüsseln

EncryptDisc Creator ermöglicht es auf einfache Weise, Daten sicher verschlüsselt auf handelsüblichen optischen Medien wie…

3 Tagen ago

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

Betroffen sind Android 12, 12L, 13 und 14. Ein Angreifer kann unter Umständen höhere Rechte…

4 Tagen ago