Sie sind hier: Startseite | Wissen
Begriff Web Remote Procedure Call
Abkürzung Web-RPC
Eintrag zuletzt aktualisiert am 08.02.2007

 Zur Stichwortliste unseres Lexikons

Was ist Web Remote Procedure Call?

ASP.NET AJAX bietet neben der partiellen Seitenerzeugung ein zweites Verfahren an, bei dem einzelne elementare Daten oder auch komplexere Datenstrukturen ohne die Layout-Information im Stil eines Remote Procedure Call (RPC) zum Browser übermittelt werden. Auf der Serverseite definiert der Entwickler eine .NET-Methode mit Parametern und Rückgabewert. Der Client erhält über einen generierten Proxy die Möglichkeit, diese Methode wie jede andere JavaScript-Methode aus JavaScript heraus aufzurufen. Die dem Methodenaufruf zugrunde liegende Verwendung des XmlHttpRequest-Objekts verbirgt der Proxy ebenso vor dem Benutzer wie die browserspezifischen Eigenarten dieses Objekts.

Das Interessante an den Web-RPC-Rückrufen ist, dass Microsoft auf einem Konzept aufsetzt, welches .NET sowieso schon seit Version 1.0 bietet: ASP.NET-basierte Webservices (ASMX). Ein mit ASP.NET erzeugter XML-Webservice tauscht normalerweise SOAP-Nachrichten aus und stellt die Metadaten als WSDL-Dokument bereit. Für die AJAX Library hat Microsoft sich aber für ein Verfah-ren entschieden, das dem Browser die Last der Auswertung von XML-Dokumenten abnimmt. Wenn der Entwickler einen XML-Webservice zusätzlich mit der Annotation [ScriptService] ausstattet, erzeugt der Webservice durch Anhängen von "/js" an den URL plötzlich JavaScript-Code für einen Browser anstelle von WSDL und serialisiert anstelle von SOAP in Form der JavaScript Object Notati-on (JSON). Optional ist aber auch eine Serialisierung in XML-Form möglich.

Einschränkungen


WCF-Dienste können in der ASP.NET AJAX Version 1.0 noch nicht verwendet werden. Dies will Microsoft aber in der nächsten Version von ASP.NET AJAX ergänzen. Zu beachten ist ferner, dass man immer nur Webservices auf dem gleichen Webserver aufrufen kann, auf dem auch die Webseite liegt. Dies ist eine Sicherheitsfunktion des XmlHttpRequest-Objekts. Zum Aufruf von Webservices auf anderen Webservern (z.B. für Mash-Ups) muss der Webentwickler einen lokalen Wrapper erstel-len. In der zukünftigen ASP.NET AJAX Version 2.0 will Microsoft dies durch deklarierbare Webser-vices-Bridges vereinfachen.

Weitere Ressoucen auf dieser Website

 Technische Einführung in die AJAX-Erweiterungen für ASP.NET 2.0

Beratung & Support:

Schulungen zu diesem Thema:

 Anfrage für eine individuelle Schulung zum Thema Web Remote Procedure Call  Gesamter Schulungsthemenkatalog