Einführung in die Programmierung von Webdiensten mit verwaltetem Code
Aktualisiert: November 2007
Webdienste ermöglichen den Austausch von Daten zwischen heterogenen Systemen in Form von XML-Meldungen. Obwohl der Remotezugriff auf Daten und Anwendungslogik kein neues Konzept darstellt, ist es sehr wohl neu, diese Vorgehensweise auf eine lose verknüpfte Weise durchzuführen. Bei vorhergehenden Versuchen, wie DCOM, IIOP und Java/RMI, war eine enge Integration von Client und Server sowie der verwendeten Plattform und implementierungsspezifischen Binärdatenformaten erforderlich. Im Gegensatz zu solchen Protokollen benötigen Webdienste keine bestimmte Komponententechnologie oder Konvention zum Objektaufruf. Die einzige Voraussetzung für Client und Server ist, dass die Empfänger die empfangenen Meldungen verstehen. Anders ausgedrückt: Client und Server stimmen in einer Vereinbarung überein, die in diesem Fall mit WSDL und XSD beschrieben ist, und kommunizieren anschließend miteinander, indem sie Meldungen generieren, die die Vereinbarung über ein bestimmtes Transportprotokoll, z. B. HTTP, einhalten. Daher kann jedes beliebige Programm auf Webdienste zugreifen, unabhängig davon, in welcher Sprache es geschrieben wurde, welches Komponentenmodell es verwendet und unter welchem Betriebssystem es ausgeführt wird. Außerdem kann sich der Meldungsaustausch durch die Flexibilität, die aus der Verwendung eines Textformats wie XML resultiert, im Lauf der Zeit in einer lose verknüpften Weise entwickeln. Diese lose Verknüpfung ist in Umgebungen obligatorisch, in denen eine gleichzeitige Aktualisierung aller Seiten beim Meldungsaustausch nicht möglich ist.
Sie können mithilfe des ASP.NET-Seitenframeworks Webdienste erstellen, sodass diese auf die vielen Features von .NET Framework wie Authentifizierung, Zwischenspeichern und Zustandsverwaltung zugreifen können. Da ASP.NET und .NET Framework die Grundlage für Webdienste in verwaltetem Code bilden, können sich Entwickler auf die Erstellung von Webdiensten oder den Zugriff auf diese konzentrieren, ohne Infrastrukturcode schreiben zu müssen.
Im ASP.NET-Anwendungsmodell verwenden für den Browser bestimmte Webseiten die Erweiterung .aspx. Um Webdienste von normalen ASP.NET-Seiten zu unterscheiden, verwenden die XML-Webdienste die Erweiterung ASMX.
Bei der Arbeit mit Webdiensten gibt es zwei elementare Aufgaben:
Erstellen eines Webdiensts: Beim Erstellen eines Webdiensts erstellen Sie eine Anwendung, die XML-Webdienstclients Funktionen zur Verfügung stellt.
Zugreifen auf einen Webdienst: Beim Zugriff auf einen Webdienst sucht die Clientanwendung die in einem bestimmten Webdienst enthaltenen Funktionen, verweist darauf und verwendet sie. In der Regel ist der Client eines Webdiensts eine Anwendung, die Meldungen zum bzw. vom Webdienst senden, empfangen und verarbeiten kann. Die Mindestanforderung an den Client besteht jedoch darin, dass er Meldungen an den Webdienst senden kann. Dies gilt für alle Anwendungen, die .NET Framework verwenden.
Webdienste können sowohl eigenständige Anwendungen als auch Unterkomponenten einer umfangreichen Webanwendung sein. Angenommen, Sie erstellen eine Webanwendung für den Online-Vertrieb von Büchern. Ihre Webanwendung kann wie folgt mit Webdiensten interagieren:
Erstellen eines Webdiensts: Die Anwendung macht ihre Auftragsverarbeitungslogik als Webdienst verfügbar, der wiederum in den Webanwendungen der angegliederten Websites für den Vertrieb von Büchern über das Onlinekaufhaus verwendet werden kann, ohne dass deren Kunden Ihre Site besuchen müssen.
Zugreifen auf einen Webdienst: Ihre Anwendung greift auf einen Webdienst zu, der von einer anderen Onlinefirma bereitgestellt wird, die sich auf das Verfassen und Liefern von Buchbesprechungen für Onlinebuchhändler spezialisiert hat. Wenn ein Kunde Ihres Online-Kaufhauses die Einzelheiten zu einem bestimmten Buch anzeigt, wird die Rezension für dieses Buch auf derselben Seite ebenfalls angezeigt.
Beachten Sie, dass beinahe alle anderen Anwendungstypen, einschließlich anderer Webdienste, Webanwendungen, Windows-Anwendungen und Konsolenanwendungen, auf Webdienste zugreifen können. Die Mindestanforderung an den Client besteht darin, dass er Meldungen an den Webdienst senden kann.
Siehe auch
Weitere Ressourcen
Webdienste in verwaltetem Code
Webprogrammierung mit Webdiensten