Webservices versus WCF
Zowel Web Services als WCF zijn webtechnologieën die door Microsoft zijn ontwikkeld. Webservices zijn geïntroduceerd in eerdere versies van .NET, terwijl WCF in latere versies aan .NET Framework is toegevoegd. Webservices worden gebruikt om applicaties te bouwen die berichten kunnen verzenden / ontvangen met behulp van SOAP via HTTP. WCF is voor het bouwen van gedistribueerde applicaties om berichten uit te wisselen met SOAP via elk transportprotocol.
Webservices
Een webservice (ook bekend als ASMX-technologie in .NET) is een communicatiemethode via het netwerk. Volgens W3C is een webservice een systeem dat is bedoeld voor het ondersteunen van machine-to-machine transacties via een netwerk. Het is een web-API die wordt beschreven in WSDL (Web Service Description Language) en webservices zijn meestal op zichzelf staand en beschrijven zichzelf. Webservices kunnen worden ontdekt met behulp van het UDDI-protocol (Universal Description, Discovery and Integration). Door meestal SOAP-berichten (Simple Object Access Protocol) via HTTP (met XML) uit te wisselen, kunnen andere systemen communiceren met webservices. Webservices worden op een aantal manieren gebruikt, zoals RPC (Remote Procedure Calls), SOA (Service Oriented Architecture) en REST (Representational State Transfer). Er zijn twee geautomatiseerde ontwerpmethodologieën voor het ontwikkelen van webservices. De bottom-up benadering heeft betrekking op het eerst maken van de klassen en vervolgens het gebruiken van WSDL-generatietools om deze klassen samen te stellen als webservices. De top-down benadering heeft betrekking op het definiëren van de WSDL-specificaties en het gebruik van hulpprogramma's voor het genereren van code om de bijbehorende klassen te genereren. Webservices hebben twee belangrijke gebruiksmogelijkheden. Ze kunnen worden gebruikt als herbruikbare applicatiecomponenten en / of om webtoepassingen aan te sluiten die op verschillende platforms worden uitgevoerd.
WCF
WCF (Windows Communication Foundation) is een .NET API (Application Programming Interface), die een uniform programmeermodel biedt voor het ontwikkelen van aangesloten en servicegerichte applicaties. Meer specifiek wordt het gebruikt voor het ontwikkelen en inzetten van gedistribueerde applicaties met SOA. SOA gaat over distributed computing, waarbij consumenten services consumeren. Meerdere consumenten kunnen een enkele service gebruiken en omgekeerd. WCF ondersteunt geavanceerde webservicestandaarden zoals WS-adressering, WS-ReliableMessaging, WS-Security en RSS-syndicatie (beschikbaar na .NET 4.0). Een WCF-client gebruikt een eindpunt om verbinding te maken met een WCF-service. Elke service kan meerdere eindpunten hebben die zijn contract aantonen. De term ABC wordt gebruikt om te verwijzen naar het adres / binding / contract van de WCF-service. De communicatie tussen klanten en diensten verloopt via SOAP-enveloppen.
Wat is het verschil tussen Web Services en WCF?
Er zijn enkele belangrijke verschillen tussen webservices en WCF-services. Webservices worden gebruikt om applicaties te bouwen die berichten kunnen verzenden / ontvangen met behulp van SOPA via HTTP. WCF is echter bedoeld voor het bouwen van gedistribueerde applicaties om berichten uit te wisselen met behulp van SOAP en elk transportprotocol zoals HTTP, TCP, named pipes en Microsoft Message Queuing (MSMQ), enz. Verder kan WCF worden uitgebreid om met elk ander transportprotocol te werken. Hoewel webservices zeer eenvoudig en gemakkelijk te implementeren zijn, is WCF architectonisch robuuster dan webservice. Webservices kunnen alleen worden gehost in IIS en de beveiliging is beperkt. Maar WCF kan worden gehost in IIS, self-host-servers met consoletoepassingen of Win NT-services of een andere server. Bovendien ondersteunt WCF, in tegenstelling tot webservices, binaire .NET - .NET-communicatie, gedistribueerde transacties, WS- * -specificaties, wachtende berichten en rustgevende communicatie.