Bisher wurden Informationen im Internet über von Menschen lesbare Webseiten angeboten; zum Finden der passenden Webseiten helfen Suchmaschinen, wie z.B. Google. Inzwischen existieren auch Angebote in maschinenlesbarer Form, sogenannte Web Services, die über genormte Schnittstellen Informationen bereitstellten, die von Programmen abgefragt und ausgewertet werden können. Zum Auffinden dieser maschinenlesbaren Angebote gibt es Verzeichnisdienste, in denen der Anbieter seine Dienste kategorisiert ankündigt.
Mittlerweile existieren folgende auf XML basierende Standards:
Die Firmen Google und Amazon bieten beispielsweise Web Services an, welche dieselben Anfragen erlauben, die auch über die Menschen-lesbare Webseite möglich sind. Details sind zu finden unter http://www.google.com/apis bzw. http://www.amazon.com/gp/aws/sdk/002-5975367-0251255?v=2005%2d03%2d23&s=AWSEcommerceService
Die Amazon-WSDL-Datei lautet
http://soap.amazon.com/schemas2/AmazonWebServices.wsdl
.
Wenn man sich beim Amazon Web Service registrieren lässt, erhält man eine Subscription-ID, mit der man sich in Anfrage authentifizieren kann. Z.B. kann die Suche nach Harry Potter wie folgt an den Amazon Web Service gestellt werden: http://webservices.amazon.de/onca/xml?Service=AWSECommerceService&SubscriptionId=0BB9F8ZNDA7HG04QG1G2&Operation=ItemSearch&SearchIndex=Books&Keywords=Harry%20Potter&ResponseGroup=Small
Das Testen von Web Services unter Angabe einer WSDL-Datei wird angeboten von
http://www.mindreef.net
.
Ein einfacher Verzeichnisdienst liegt unter http://www.xmethods.net .
Zur Demonstration wurde auf dem Apache Tomcat Server terra im Informatik-Netz ein sehr einfacher Web Service installiert, welcher folgende Funktionalität bietet:
Die Anfrage GetLehrumfangVonProfessorRequest, versehen mit einem ProfName wird beantwortet als GetLehrUmfangVonProfessorResponse, versehen mit dem LehrUmfang.
Die zugehörige WSDL-Datei liegt unter
http://www-lehre.inf.uos.de/~dbs/2005/WS/UniVerwaltung.wsdl
Listing 10.19 zeigt den Quelltext der Klasse InquireDB.java, welche vom Apache Tomcat Server beim Eintreffen einer Anfrage an den Webservice gestartet wird.
Listing 10.20 zeigt den Quelltext des WSDL-Dokuments UniVerwaltung.wsdl, in dem die Funktionalität angekündigt wird.
Listing 10.20: UniVerwaltung.wsdl
Listing 10.21 zeigt den SOAP-Envelope, in dem die Anfrage nach dem Lehrumfang von Sokrates an den Web Service geschickt wird. Listing 10.22 zeigt den SOAP-Envelope, der die Antwort vom Web Service enthält.
Listing 10.21: Request, an den Web Service gerichtet Aufruf von request.xml
Listing 10.22: Response, vom Web Service geliefert Aufruf von response.xml
Listing 10.23 zeigt den Quelltext eines ''handgestrickten'' Klienten ClientUniVerwaltung.java, welcher das zur Anfrage ''Welchen Lehrumfang hat Sokrates ?'' passende XML-Dokument als SOAP-Envelope erstellt, verschickt, das Ergebnis wieder als SOAP-Envelope entgegennimmt und ausgibt.
Listing 10.23: ClientUniVerwaltung.java