Web Services vs WCF
Sowohl Web Services als auch WCF sind von Microsoft entwickelte Webtechnologien. Web Services wurden in früheren Versionen von .NET eingeführt, während WCF in späteren Versionen zu .NET Framework hinzugefügt wurde. Web-Services werden zum Erstellen von Anwendungen verwendet, die Nachrichten über SOAP über HTTP senden und empfangen können. WCF dient zum Erstellen verteilter Anwendungen zum Austausch von Nachrichten mithilfe von SOAP über ein beliebiges Transportprotokoll.
Internetdienste
Ein Web Service (in .NET auch ASMX-Technologie genannt) ist eine Kommunikationsmethode über das Netzwerk. Laut W3C ist ein Web-Service ein System, das zur Unterstützung von Machine-to-Machine-Transaktionen über ein Netzwerk dient. Es ist eine Web-API, die in WSDL (Web Service Description Language) beschrieben wird, und Web-Services sind normalerweise in sich abgeschlossen und selbstbeschreibend. Webdienste können mithilfe des UDDI-Protokolls (Universal Description, Discovery and Integration) ermittelt werden. Durch den Austausch von SOAP-Nachrichten (Simple Object Access Protocol) in der Regel über HTTP (mit XML) können andere Systeme mit Webdiensten interagieren. Web-Services werden auf verschiedene Weise verwendet, z. B. für RPC (Remote Procedure Calls), SOA (Service-Oriented Architecture) und REST (Representational State Transfer). Es gibt zwei automatisierte Entwurfsmethoden für die Entwicklung von Web-Services. Der Bottom-Up-Ansatz befasst sich mit der Erstellung der Klassen und der Verwendung von WSDL-Generierungswerkzeugen, um diese Klassen als Web-Services zusammenzustellen. Der Top-Down-Ansatz befasst sich mit der Definition der WSDL-Spezifikationen und der Verwendung von Code-Generierungswerkzeugen zum Generieren der entsprechenden Klassen. Webservices haben zwei Hauptanwendungen. Sie können als wiederverwendbare Anwendungskomponenten und / oder zum Verbinden von Webanwendungen verwendet werden, die auf verschiedenen Plattformen ausgeführt werden.
WCF
WCF (Windows Communication Foundation) ist eine .NET-API (Application Programming Interface), die ein einheitliches Programmiermodell für die Entwicklung verbundener und serviceorientierter Anwendungen bereitstellt. Sie wird insbesondere für die Entwicklung und Bereitstellung verteilter Anwendungen mit SOA verwendet. SOA befasst sich mit Distributed Computing, bei dem Verbraucher Dienste in Anspruch nehmen. Mehrere Verbraucher können einen einzigen Dienst in Anspruch nehmen und umgekehrt. WCF unterstützt erweiterte Webservice-Standards wie WS-Adressierung, WS-ReliableMessaging, WS-Security und RSS-Syndication (verfügbar nach .NET 4.0). Ein WCF-Client verwendet einen Endpunkt, um eine Verbindung zu einem WCF-Dienst herzustellen. Jeder Dienst kann mehrere Endpunkte haben, die seinen Vertrag offenlegen. Der Begriff ABC bezieht sich auf die Adresse / Bindung / Vertrag des WCF-Dienstes. Die Kommunikation zwischen Kunden und Diensten erfolgt über SOAP-Umschläge.
Was ist der Unterschied zwischen Web Services und WCF??
Es gibt einige wesentliche Unterschiede zwischen Webdiensten und WCF-Diensten. Web-Services werden zum Erstellen von Anwendungen verwendet, die Nachrichten mit SOPA über HTTP senden und empfangen können. Mit WCF können Sie jedoch verteilte Anwendungen für den Nachrichtenaustausch mithilfe von SOAP und einem beliebigen Transportprotokoll wie HTTP, TCP, Named Pipes und Microsoft Message Queuing (MSMQ) usw. erstellen. Darüber hinaus kann WCF für die Verwendung mit jedem anderen Transportprotokoll erweitert werden. Obwohl Web-Services sehr einfach und leicht zu implementieren sind, ist WCF architektonisch robuster als Web-Service. Webdienste können nur in IIS gehostet werden und die Sicherheit ist eingeschränkt. WCF kann jedoch in IIS, Selbsthostservern mit Konsolenanwendungen oder Win NT-Diensten oder einem anderen Server gehostet werden. Im Gegensatz zu Web-Services unterstützt WCF außerdem die binäre .NET-.NET-Kommunikation, verteilte Transaktionen, WS-*-Spezifikationen, Warteschlangenmeldungen und Restful-Kommunikation.