Einführung in RESTful-Dienste mit WCF – Mobile Anwendungsentwicklung, Webdienste, SOA-Architektur – Technologie
Zum Inhalt springen

Einführung in RESTful Services mit WCF – Entwicklung mobiler Anwendungen, Webdienste, SOA-Architektur

Anzeigen

Erstens folgen RESTFUL-Dienste einem Architekturstil, der als Representational State Transfer (REST) bekannt ist. Ein Architekturstil ist eine Reihe von Einschränkungen, die beim Bauen angewendet werden können. Und ein Softwarearchitekturstil beschreibt die Merkmale, die als Leitfaden für die Implementierung eines Softwaresystems verwendet werden können. REST ist ein Architekturstil, der zum Erstellen von Software verwendet werden kann, auf der Clients (Benutzeragenten) Dienste (Endpunkte) anfordern können. REST ist eine Möglichkeit, eine Client/Server-Architektur zu implementieren. Tatsächlich basiert REST explizit auf dem Client/Server-Architekturstil.

Ein Mann namens Roy Thomas Fielding prägte den Begriff REST erstmals als Konzept in seiner Doktorarbeit („Architekturstile und das Design netzwerkbasierter Softwarearchitekturen“). Er war einer der Leute, die an der Spezifikation gearbeitet haben, die heute den größten Teil des Internets antreibt: Hypertext Transfer Protocol (HTTP). Normalerweise ist der Hintergrund von Leuten, die einen Architekturstil beschreiben, für die Erklärung des Stils nicht relevant, aber hier denke ich, dass es so ist ist wichtig, weil ich GLAUBE, dass eine der besten Möglichkeiten, ein grundlegendes Verständnis von REST zu erlangen, darin besteht, über das Web und seine Funktionsweise nachzudenken.

WCF und REST

WCF ist das Framework von Microsoft zum Erstellen von Anwendungen, die über ein Netzwerk kommunizieren, unabhängig von Protokoll oder Stil. Das WCF-Konzept bestand darin, ein erweiterbares, steckbares Framework zum Erlernen von Informationen über ein Programmier- und Konfigurationsmodell zu schaffen, damit Entwickler dieses Wissen auf viele verschiedene Arten verteilter Systeme anwenden können.

Es stimmt zwar, dass ein Großteil von WCF RPC-orientiert ist (unter Verwendung von SOAP), doch seit seiner ersten Veröffentlichung als Teil von .NET Framework 3.0 hatte es tatsächlich die Chance, REST-Dienste verfügbar zu machen und zu nutzen. Mit der .NET Framework 3.5-Assembly System.ServiceModel.Web wurden ein Programmiermodell sowie einige Teile der Infrastruktur hinzugefügt, die für die Arbeit mit dem REST-Stil erstellt wurden. Und das .NET Framework 3.5 SP1 fügt einige kleine Verbesserungen hinzu, um die Verwendung von REST zu vereinfachen..

Das Programmiermodell dreht sich um zwei neue Attribute, WebGetAttribute und WebInvokeAttribute, sowie eine URI-Vorlagen-Engine, mit der Sie den URI und das Verb deklarieren können, auf die jede Methode reagiert. Die Infrastruktur ist in Form einer Bindung (WebHttpBinding) und eines Verhaltens (WebHttpBehavior) enthalten, die den richtigen Netzwerkstapel für die Verwendung von REST bereitstellen. Darüber hinaus gibt es Unterstützung bei der Hosting-Infrastruktur durch einen benutzerdefinierten ServiceHost (WebServiceHost) und eine ServiceHostFactory (WebServiceHostFactory).