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

Jedes zweite Gerät mit Redline-Infostealer infiziert

Infostealer-Infektionen haben laut Kaspersky-Studie zwischen 2020 und 2023 um mehr als das sechsfache zugenommen.

4 Tagen ago

Kaspersky warnt vor kritischen Sicherheitslücken in Cinterion-Modems

Betroffen sind Millionen IoT- und M2M-Geräte Geräte weltweit. Unter anderem können Angreifer per SMS Schadcode…

4 Tagen ago

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

Von ihr geht ein hohes Risiko aus. Angreifbar sind Chrome für Windows, macOS und Linux.

7 Tagen ago

KI erkennt Emotionen in echten Sportsituationen

Forschende des KIT haben ein Modell zur Emotionsanalyse entwickelt, das affektive Zustände ähnlich genau wie…

1 Woche ago

Ermittlern gelingt weiterer Schlag gegen Ransomware-Gruppe LockBit

Sie decken die Identität des Kopfs der Gruppe auf. Britische Behörden fahnden mit einem Foto…

1 Woche ago

Apple stellt neuen Mobilprozessor M4 vor

Er treibt das neue iPad Pro mit OLED-Display an. Apple verspricht eine deutliche Leistungssteigerung gegenüber…

1 Woche ago