Webservices versus WCF
Zowel Web Services als WCF zijn webtechnologieën die zijn ontwikkeld door Microsoft. 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 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 wel bekend als ASMX-technologie in. NET) is een communicatiemethode via het netwerk. Volgens W3C is een webservice een systeem dat speciaal is bedoeld voor het ondersteunen van machine-naar-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 SOAP-berichten (Simple Object Access Protocol) uit te wisselen via HTTP (met XML), kunnen andere systemen interageren met webservices. Webservices worden op verschillende 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. Bij de bottom-upbenadering worden eerst klassen gemaakt en vervolgens WSDL-generatietools gebruikt om deze klassen als webservices samen te stellen. De top-downbenadering houdt zich bezig met het definiëren van de WSDL-specificaties en het vervolgens gebruiken van tools voor het genereren van codes om de bijbehorende klassen te genereren. Webservices hebben twee belangrijke toepassingen. Ze kunnen worden gebruikt als herbruikbare applicatiecomponenten en/of om webapplicaties die op verschillende platformen draaien te verbinden.
WCF
WCF (Windows Communication Foundation) is een. NET API (Application Programming Interface), die een uniform programmeermodel biedt voor het ontwikkelen van verbonden en servicegerichte applicaties. Meer specifiek wordt het gebruikt voor het ontwikkelen en implementeren van gedistribueerde applicaties met SOA. SOA houdt zich bezig met gedistribueerd computergebruik waarbij consumenten diensten afnemen. Meerdere consumenten kunnen één dienst afnemen en vice versa. WCF ondersteunt geavanceerde webservicestandaarden zoals WS-Addressing, 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 blootleggen. De term ABC wordt gebruikt om te verwijzen naar de Adres/Binding/Contract van 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 SOPA over HTTP. WCF is echter bedoeld voor het bouwen van gedistribueerde toepassingen om berichten uit te wisselen met behulp van SOAP en elk transportprotocol zoals HTTP, TCP, named pipes en Microsoft Message Queuing (MSMQ), enz. Bovendien kan WCF worden uitgebreid om met elk ander transportprotocol te werken. Hoewel webservices heel eenvoudig en gemakkelijk te implementeren zijn, is WCF architectonisch robuuster dan webservice. Webservices kunnen alleen in IIS worden gehost en de beveiliging is beperkt. Maar WCF kan worden gehost in IIS, self-host-servers met console-applicaties of Win NT-services of een andere server. Bovendien ondersteunt WCF, in tegenstelling tot webservices, binaire. NET –. NET-communicatie, gedistribueerde transacties, WS--specificaties, berichten in wachtrijen en rustgevende communicatie.