Im Laufe der letzen Jahre hat sich das Internet und die darin veröffentlichten Daten erheblich verändert. Aus statischen HTML Seiten wurden DHTML Applikationen mit User Interaktion und zu guterletzt die Dynamischen Web Applikationen wie ASP, PHP und JSP. Nun vollzieht sich ein weiterer Evolutionsschritt: wiederverwendbare und intelligente WebServices. Ein Web Service ist eine programmatisch ansprechbare Einheit die auf einem Web Server liegt und durch Standard Internet Protokolle veröffentlicht wird. Durch SOAP(= XML + HTTP) sind wir in der Lage WebServices aus jeglicher Applikation, seien es Consolenanwendungen, NT Service Anwendungen, GUI Anwendungen oder IIS Anwendungen (ASP.NET), zu benutzen. ASP.NET unterstützt WebServices und bringt dafür eine eigene Dateiendung mit: *.asmx. Diese Dateien sind einfache Textdateien und sehr ähnlich den bekannten *.aspx Seiten. Als erstes fällt auf das es kein Page Direktive mehr gibt sondern die WebService Direktive. Damit ist die *.asmx Datei als WebService deklariert. <%@ WebService Language="C#" Class="EuroKonverter" %> | Als nächstes wird der Namespace System und der benötigte Namespace System.Web.Service importiert. Der System.Web.Services Namespace besteht aus Klassen die es Ihnen ermöglichen Web Services zu bauen und zu benutzen. Danach wird die Klasse EuroKonverter deklariert, die abgeleitet ist von der Klasse WebSerice. Dies ist die Basisklasse für Web Services, welche Zugriff auf oft benutze ASP.NET Objekte gewährt. public class EuroKonverter : WebService {...} | Um Funktionen nach aussen hin durch den Web Service greifbar zu machen, benötigen diese das Custom Attribut [WebMethod] ( oder <"WebMethod()>" in Visual Basic ). Hier haben wir eine Methode DM_to_Euro die einen Decimal Eingabe Parameter erwartet und dann denn (hoffentlich richtigen) Euro Betrag zurückliefert.
[WebMethod] public Decimal DM_to_Euro(Decimal DMValue) { Double myDouble_Kurs= 1.95583; Decimal kurs = myDouble_Kurs.ToDecimal(); Decimal EuroValue = ( DMValue / kurs ); return EuroValue; } | Um den WebService zu veröffentlichen muss die Datei noch als *.asmx Datei in einem Virtuellen Verzeichnis auf einem IIS Web Server gespeichert werden. Danach ist der Web Service allgemein zugänglich ( http://WebServer/Applikation/WebService.asmx )und die Funktionen die als WebMethod deklariert wurden werden Ihnen auf der Ruückgabeseite angzeigt. Wenn Sie als URL Addresse http://WebServer/Applikation/WebService.asmx?SDL eingeben bekommen sie die selbe Seite nur als XML Dokument das nach der Service Description Language aufgebaut ist.
|