Forskellen mellem webservices og WCF

Web Services vs WCF

Både Web Services og WCF er webteknologier udviklet af Microsoft. Web Services blev introduceret i tidligere versioner af .NET, mens WCF blev føjet til .NET framework i senere versioner. Webtjenester bruges til at oprette applikationer, der kan sende / modtage meddelelser ved hjælp af SOAP via HTTP. WCF er til at bygge distribuerede applikationer til at udveksle meddelelser ved hjælp af SOAP over enhver transportprotokol.

Webtjenester

En webtjeneste (undertiden kendt som ASMX-teknologi i .NET) er en kommunikationsmetode over netværket. Ifølge W3C er en webtjeneste et system dedikeret til at understøtte maskine-til-maskine-transaktioner over et netværk. Det er en Web API beskrevet i WSDL (Web Service Description Language) og webservices er normalt selvstændige og selvbeskrivende. Webtjenester kan opdages ved hjælp af UDDI (Universal Description, Discovery and Integration) -protokol. Ved at udveksle SOAP-meddelelser (Simple Object Access Protocol) typisk via HTTP (med XML), kan andre systemer interagere med webservices. Webtjenester bruges på flere måder, såsom RPC (Remote Procedure Calls), SOA (Service Oriented Architecture) og REST (Representative State Transfer). Der er to automatiserede designmetoder til udvikling af webservices. Bund-up-metoden handler om først at oprette klasserne og derefter bruge WSDL-generationsværktøjer til at komponere disse klasser som webservices. Top-down-metoden handler om at definere WSDL-specifikationer og derefter bruge kodegenereringsværktøjer til at generere de tilsvarende klasser. Webtjenester har to store anvendelser. De kan bruges som genanvendelige applikationskomponenter og / eller til at forbinde webapplikationer, der kører på forskellige platforme.

WCF

WCF (Windows Communication Foundation) er en .NET API (Application Programming Interface), der giver en samlet programmeringsmodel til udvikling af tilsluttede og serviceorienterede applikationer. Mere specifikt bruges det til at udvikle og distribuere distribuerede applikationer med SOA. SOA beskæftiger sig med distribueret computing, hvor forbrugere bruger tjenester. Flere forbrugere kan forbruge en enkelt service og omvendt. WCF understøtter avancerede webservicestandarder som WS-adressering, WS-ReliableMessaging, WS-Security og RSS-syndikering (tilgængelig efter .NET 4.0). En WCF-klient bruger et slutpunkt til at oprette forbindelse til en WCF-service. Hver service kan have flere slutpunkter, der afslører sin kontrakt. Udtrykket ABC bruges til at henvise til WCF-tjenestens adresse / binding / kontrakt. Kommunikationen mellem klienter og tjenester foregår via SOAP-konvolutter.

Hvad er forskellen mellem Web Services og WCF?

Der er nogle vigtige forskelle mellem webtjenester og WCF-tjenester. Webtjenester bruges til at bygge applikationer, der kan sende / modtage meddelelser ved hjælp af SOPA via HTTP. WCF er dog til at bygge distribuerede applikationer til udveksling af meddelelser ved hjælp af SOAP og enhver transportprotokol som HTTP, TCP, navngivne rør og Microsoft Message Queuing (MSMQ) osv. Desuden kan WCF udvides til at arbejde med enhver anden transportprotokol. Selvom webservices er meget enkle og lette at implementere, er WCF arkitektonisk mere robust end webservice. Webtjenester kan kun hostes i IIS, og sikkerheden er begrænset. Men WCF kan være vært i IIS, selvhost-servere med konsolapplikationer eller Win NT-tjenester eller en hvilken som helst anden server. I modsætning til webservices understøtter WCF binære .NET - .NET-kommunikation, distribuerede transaktioner, WS- * -specifikationer, messaging i kø og afslappende kommunikation.