Web Services: Implementierung der Business-Logik

Man wird die Definition der selbst erstellten SOAP-Header-Klasse am Anfang beider Web Services entdecken. Jeder Web Service muss seine eigene SOAP-Header-Klasse definieren, daher werden die polymorphen Authenticate()-Methoden in der WSUtil-Klasse benötigt.

Außerdem gibt es hier eine öffentliche Eigenschaft, die als Instanz der SOAP-Header-Klasse implementiert ist. Diese Eigenschaft wird auf die entsprechenden Werte des SOAP-Headers gesetzt, der von Nutzern des Web Service übergeben wird, wenn sie eine Web-Methode aufrufen. Um diese Verknüpfung zu erstellen, muss die Web-Methode über eine entsprechende Signatur verfügen:

Der SoapHeader-Attribut-Konstruktor übernimmt einen Parameter (in diesem Fall „BookSecurityCtx“) und muss mit dem Namen der innerhalb der Web Service-Klasse selbst definierten Eigenschaft übereinstimmen. Wenn die Web-Methode diesen SOAP-Header empfängt, setzt sie automatisch die Klassen-Eigenschaft auf die Werte des SOAP-Headers und erlaubt so den Zugriff auf die Daten. Der Parameter Required teilt den Nutzern des Web Service mit, dass dieser SOAP-Header unbedingt erforderlich ist, da sonst der Web Service nicht funktioniert.

Wenn man sich den gesamten Code anschaut, wird man feststellen, dass anstelle einer Duplizierung des Authentifizierungs-Codes in jeder Web-Methode einfach die Sicherheitskontext-Variable an die Authenticate()-Methode übergeben wird, die den eigentlichen Authentifizierungs-Prozess ausführt.

Der Web Service BookWS stellt zwei zusätzliche Methoden bereit, die nicht den Anforderungen entsprungen sind: GetBooksByIds und GetAvailabilityDs. Dies sind Hilfsmethoden, die zur Unterstützung der Benutzer der Web Services dienen. GetBooksByIds gibt eine Liste von Büchern aus, die auf einer Array-Liste der Primärschlüssel Book ID beruht. GetAvailabilityDs gibt ein DataSet aus, das alle möglichen Verfügbarkeitsoptionen für ein bestimmtes Buch enthält.

Wenn man ein wenig vorausschauend konzipiert, kann man normalerweise leicht feststellen, welche Hilfsmethoden von einem Client benötigt werden. Die Notwendigkeit dieser Methoden wird noch deutlicher werden, wenn Toms Anwendung mit Johns Web Services verbunden wird.

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Hacker lassen fahrerlose Autos „verschwinden“

Cyber-Kriminelle können Millimeterwellenradar für Versicherungsbetrügereien gezielt überlisten.

6 Tagen ago

Google beseitigt Sicherheitslücken in Chrome 128

Vier Anfälligkeiten erlauben unter Umständen das Einschleusen und Ausführen von Schadcode aus der Ferne. Angreifbar…

6 Tagen ago

Bericht: Intel plant weitere Maßnahmen zur Kostensenkung

Unter anderem steht wohl der Neubau einer Chipfabrik in Magdeburg vor dem Aus. Intel soll…

1 Woche ago

Pentesting für Cloud-Sicherheit

NodeZero Cloud Pentesting identifiziert komplexe Schwachstellen in AWS- und Azure-Umgebungen.

1 Woche ago

Smartphonemarkt wächst voraussichtlich 6 Prozent in diesem Jahr

Zuwächse erzielen allerdings in erster Linie Smartphones mit dem Google-OS Android. 2025 rechnet IDC mit…

1 Woche ago

Bericht: Neue Finanzierungsrunde bewertet OpenAI mit mehr als 100 Milliarden Dollar

Als Geldgeber sind Apple, Microsoft und Nvidia im Gespräch. OpenAI sucht angeblich frisches Geld zum…

1 Woche ago