Webservices bereitstellen mit ASP.NET
(Diese Seite wurde noch nicht auf das neue Layout umgestellt!)

 

Dieser Text ist ein Auszug aus dem Buch: "Microsoft ASP.NET - Das Entwicklerbuch" (Weitere Infos hier)

 

Entwicklung von Webservices mit ASP.NET

Neben den Webforms gibt es in ASP.NET noch einen weiteren Anwendungstyp: Webservices.

Ein Webservice ist eine Klasse, die ihre Methoden auf einem Webserver zum Aufruf anbietet. Der Aufruf erfolgt via Simple Object Access Protocol (SOAP). SOAP ist ein XML-Format, dass einen Remote Procedure Call (RPC) einschließlich des Marshalling/Unmarshalling der Parameter und Rückgabewerte beschreibt.

Webservices sind die Lösung für das Problem, dass visuelle Benutzerschnittstellen in Form von HTML -Seiten mit Grafiken für die Informationsverarbeitung durch Menschen, aber nicht für die Informationsverarbeitung durch Software geeignet sind. Wenn eine Software Informationen aus HTML-Seiten auswerten will, muss sie per „Screen Scraping" mühsam die Daten aus der Oberfläche herausfiltern. Solche Daten sind naturgemäß nicht nur sehr schwach typisiert, sondern das Hauptproblem liegt darin, dass auch kleine Änderungen am Layout der Seite eine (große) Änderungen der „Screen Scraping"-Software nach sich ziehen können.

SOAP-basierte Webservices sind die geeignete Alternative, weil sie einen Aufruf einer beliebigen Methode, die in einer per XMLdefinierten Form auf Webserver bereitgestellt wird, durch einem beliebigen Client (nicht nur Webbrowser) ermöglichen. Durch eine Proxy-Klasse, die sich der FCL bedient, ist der Aufruf für den Client völlig transparent. Auch auf der Serverseite ist nur geringer Aufwand nötig, um eine beliebige Methode in einer beliebigen .NET-Klasse per SOAPaufrufbar zu machen.

Die FCL enthält alle Funktionen, die für das Absenden bzw. das Empfangen eines SOAP-Aufrufs notwendig sind, einschließlich des Marshalling/Unmarshalling der Parameter/Rückgabewerte.

Ein Webservice wird in ASP.NET bereitgestellt durch eine Datei mit der Extension .asmx. Auch dazu kann eine Code-Behind-Dateigeben (z.B.  .asmx.vb oder .asmx.cs). In diesem Fall enthält die ASMX-Datei nicht mehr als einen Verweis auf die Code-Behind-Datei.

Einige der im vorhergehenden Kapitel vorgestellten Konzepte von ASP.NET Webforms gelten auch für Webservices. Die Ausführung über den Übersetzungsvorgang, die verwendbaren Programmiersprachen und die Konfiguration gelten an. Auch die Zustandsverwaltung auf Basis der Session- und Application-Collections sind für Webservices verfügbar.

Selbstverständlich gelten alle auf Steuerelemente bezogenen Ausführungen für Webservices nicht, da für ein Webservice keine Benutzeroberflächeauf dem Server erzeugt wird.

Mehr mehr Webservices erfahren Sie in Kapitel 10.

 

Autor: Holger Schwichtenberg
 Dieser Text ist ein Auszug aus dem Buch: "Microsoft ASP.NET - Das Entwicklerbuch" (Weitere Infos hier)