Einführung in die Programmierung von Webdiensten mit verwaltetem Code
Mit Webdiensten können Sie lose verknüpfte Daten in Form von XML-Meldungen zwischen heterogenen Systemen austauschen. 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 erforderlich. Anstelle des XML-basierten Vertrags, der die Grundlage für Webdienste darstellt, wurden Binärdatenformate verwendet, die sowohl betriebssystem- als auch implementierungsspezifisch sind.
Im Gegensatz zu DCOM, IIOP und Java/RMI 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 einigen sich auf einen Vertrag, in diesem Fall auf einen Vertrag, der mithilfe von WSDL und XSD (XSL Schema Definition) definiert wird. Anschließend kommunizieren Client und Server miteinander, indem sie Meldungen generieren, die dem Vertrag über ein bestimmtes Transportprotokoll, z. B. HTTP, entsprechen. 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 Laufe 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.
Diese Technologie bezieht sich auf eine veraltete Technologie, die zum Zweck der Abwärtskompatibilität mit vorhandenen Anwendungen beibehalten wird und nicht für die neue Entwicklung empfohlen wird. Weitere Informationen über die folgenden Alternativen finden Sie unter.
Windows Communication Foundation-Dienste und WCF Data Services in Visual Studio
Webdienste und .NET Framework
Wenn Sie mit verwaltetem Code, der auf ASP.NET und .NET Framework basiert, einen Webdienst erstellen, ist es nicht erforderlich, Infrastrukturcode zu schreiben, um Details wie Kommunikationsprotokolle oder Nachrichtentransporte zu verarbeiten. Darüber hinaus können Sie mithilfe des ASP.NET-Seitenframeworks Webdienste erstellen, die viele Funktionen von .NET Framework nutzen können, z. B. Authentifizierung, Zwischenspeichern und Zustandsverwaltung.
Im ASP.NET-Anwendungsmodell verwenden Webseiten die Erweiterung ASPX. Um Webdienste von normalen ASP.NET-Seiten zu unterscheiden, verwenden die XML-Webdienste die Erweiterung ASMX.
Um mit Webdiensten einen bidirektionalen Austausch der Daten zu ermöglichen, muss ein Entwickler Folgendes beachten:
Erstellen Sie einen Webdienst. Beim Erstellen eines Webdiensts erstellen Sie eine Anwendung, die für XML-Webdienstclients Funktionen zur Verfügung stellt.
Greifen Sie auf einen Webdienst zu. Beim Zugriff auf einen Webdienst sucht die Clientanwendung die in einem bestimmten Webdienst enthaltenen Funktionen, verweist darauf und verwendet sie. Der Client eines XML-Webdiensts ist in der Regel eine Anwendung. Diese Anwendung kann Meldungen an den Webdienst senden, vom Webdienst empfangen und Meldungen verarbeiten.
Es ist nicht unbedingt derselbe Entwickler, der einen Webdienst erstellt und anschließend darauf zugreift. Einige Webdienste, z. B. ein Verkehrsinformationsdienst, können von einer einzelnen Entität (z. B. einer Verkehrsbehörde) erstellt werden. Auf diesen Dienst kann jedoch von vielen Websites aus zugegriffen werden, z. B. Websites von Frachtunternehmen.
Webdienste können eigenständige Anwendungen oder Unterkomponenten einer umfangreichen Webanwendung sein. Angenommen, Sie erstellen eine Webanwendung für den Onlinevertrieb von Büchern. Ihre Webanwendung kann Webdienste wie folgt nutzen:
Erstellen Sie einen Webdienst. Die Anwendung stellt die eigene Logik für die Verarbeitungsreihenfolge als Webdienst zur Verfügung. Auf diesen Dienst greifen die angegliederten Websites in Webanwendungen für den Onlinevertrieb von Büchern zu.
Greifen Sie auf einen Webdienst zu. Die Anwendung greift auf einen Webdienst zu, der von einer anderen Onlinefirma entwickelt wurde, die sich auf das Verfassen von Buchbesprechungen für Onlinebuchhändler spezialisiert hat. Wenn ein Kunde Ihres Online-Kaufhauses den Preis zu einem bestimmten Buch anzeigt, wird die Rezension für dieses Buch auf derselben Seite angezeigt.
Beachten Sie, dass viele verschiedene Arten von Anwendungen, wie andere Webdienste, Webanwendungen, Windows-Anwendungen und Konsolenanwendungen, auf Webdienste zugreifen können. Der Client muss jedoch in der Lage sein, Meldungen an den Webdienst zu senden.