Servizi Web vs WCF
Sia i servizi Web che WCF sono tecnologie Web sviluppate da Microsoft. I servizi Web sono stati introdotti nelle versioni precedenti di. NET, mentre WCF è stato aggiunto a. NET Framework nelle versioni successive. I servizi Web vengono utilizzati per creare applicazioni in grado di inviare/ricevere messaggi utilizzando SOAP su HTTP. WCF serve per creare applicazioni distribuite per scambiare messaggi utilizzando SOAP su qualsiasi protocollo di trasporto.
Servizi Web
Un servizio Web (a volte noto come tecnologia ASMX in. NET) è un metodo di comunicazione sulla rete. Secondo il W3C, un servizio Web è un sistema dedicato al supporto delle transazioni da macchina a macchina su una rete. È un'API Web descritta in WSDL (Web Service Description Language) ei servizi Web sono generalmente autonomi e autodescrittivi. I servizi Web possono essere scoperti utilizzando il protocollo UDDI (Universal Description, Discovery and Integration). Scambiando messaggi SOAP (Simple Object Access Protocol) tipicamente su HTTP (con XML), altri sistemi possono interagire con i servizi Web. I servizi Web vengono utilizzati in diversi modi come RPC (Remote Procedure Calls), SOA (Service Oriented Architecture) e REST (Representational State Transfer). Esistono due metodologie di progettazione automatizzate per lo sviluppo di servizi Web. L'approccio bottom-up riguarda prima la creazione delle classi e quindi l'utilizzo degli strumenti di generazione WSDL per comporre queste classi come servizi Web. L'approccio top-down si occupa della definizione delle specifiche WSDL e quindi dell'utilizzo degli strumenti di generazione del codice per generare le classi corrispondenti. I servizi Web hanno due usi principali. Possono essere utilizzati come componenti applicativi riutilizzabili e/o per connettere applicazioni Web in esecuzione su piattaforme diverse.
WCF
WCF (Windows Communication Foundation) è un'API. NET (Application Programming Interface), che fornisce un modello di programmazione unificato per lo sviluppo di applicazioni connesse e orientate ai servizi. Più specificamente, viene utilizzato per lo sviluppo e la distribuzione di applicazioni distribuite con SOA. SOA si occupa di calcolo distribuito in cui i consumatori consumano servizi. Più consumatori possono consumare un singolo servizio e viceversa. WCF supporta standard di servizi Web avanzati come WS-Addressing, WS-ReliableMessaging, WS-Security e syndication RSS (disponibile dopo. NET 4.0). Un client WCF usa un endpoint per connettersi a un servizio WCF. Ogni servizio può avere più endpoint che espongono il suo contratto. Il termine ABC viene utilizzato per riferirsi all'indirizzo/vincolo/contratto del servizio WCF. La comunicazione tra clienti e servizi avviene tramite buste SOAP.
Qual è la differenza tra i servizi Web e WCF?
Ci sono alcune differenze fondamentali tra i servizi Web e i servizi WCF. I servizi Web vengono utilizzati per creare applicazioni in grado di inviare/ricevere messaggi utilizzando SOPA su HTTP. Tuttavia, WCF serve per creare applicazioni distribuite per scambiare messaggi utilizzando SOAP e qualsiasi protocollo di trasporto come HTTP, TCP, named pipe e Microsoft Message Queuing (MSMQ), ecc. Inoltre, WCF può essere esteso per funzionare con qualsiasi altro protocollo di trasporto. Sebbene i servizi Web siano molto semplici e facili da implementare, WCF è architettonicamente più robusto dei servizi Web. I servizi Web possono essere ospitati solo in IIS e la sicurezza è limitata. Ma WCF può essere ospitato in IIS, server self-host con applicazioni console o servizi Win NT o qualsiasi altro server. Inoltre, a differenza dei servizi Web, WCF supporta comunicazioni binarie. NET –. NET, transazioni distribuite, specifiche WS-, messaggistica in coda e comunicazioni Restful.