WCF vs servei web
Els serveis web i els Windows Communication Foundations (WCF) són dos mètodes que les aplicacions es comuniquen a través d'una xarxa.
Més sobre els serveis web
Els serveis web són components d'aplicacions als quals es pot accedir mitjançant protocols oberts com SOAP (Simple Object Access Protocol), que és un llenguatge basat en XML desenvolupat pel W3C, per codificar i transmetre dades. SOAP utilitza XML per a descripcions de dades i HTTP per transferir dades. Els principals avantatges que ofereixen aquests protocols oberts són la interoperabilitat dels serveis malgrat les diferències en les plataformes i els llenguatges de programació utilitzats. Els serveis web utilitzen (WSDL) Web services Descriptions Language) per descriure els serveis i UDDI (Universal Description, Discovery and Integration) per llistar els serveis disponibles. Els serveis web no necessiten un navegador web o HTML per funcionar, i poden contenir o no una GUI tal com la defineix l'aplicació. Els serveis web es poden implementar amb ASP. NET.
Més sobre Windows Communication Foundation (WCF)
Windows Communication Foundation es va introduir per substituir les plataformes de serveis web anteriors i utilitza una arquitectura orientada a serveis per crear aplicacions. La interoperabilitat i els patrons de missatges múltiples, les metadades del servei, els contractes de dades i les codificacions de transport múltiples són característiques del WCF. Missatges duradors, AJAX i REST, i les funcions de transaccions segures afegeixen més versatilitat a la plataforma que els serveis web anteriors.
Quina diferència hi ha entre els serveis web i WCF?
• Els serveis web es poden allotjar a IIS (Internet Information Service) o fora d'IIS, mentre que WCF es pot allotjar a IIS, WAS (Windows Activation Service). Els serveis WCF generalment es poden allotjar a IIS 5.1 o 6.0, el servei d'activació de processos de Windows (WAS) que es proporciona com a part de la versió 7.0 d'IIS i dins de qualsevol aplicació. NET. Per allotjar un servei web a IIS versió 5.1 o 6.0, és imprescindible que els serveis web utilitzin HTTP com a protocol de transport de comunicacions.
• A la plataforma de serveis web, l'atribut de servei web s'afegirà a la part superior de la classe, mentre que, a WCF, hi haurà un atribut de contracte de servei. De la mateixa manera, l'atribut del mètode web s'afegeix al mètode del servei web, mentre que, a WCF, s'afegirà el contracte d'operació del servei al mètode superior.
• Els serveis web utilitzen codificacions XML 1.0, MTOM (mecanisme d'optimització de la transmissió de missatges) i DIME, mentre que WCF utilitza codificacions XML 1.0, MTOM i binàries. Les dues plataformes admeten mètodes de codificació personalitzats.
• La plataforma de serveis web admet la serialització XML mentre que, a la WCF, la plataforma de serveis admet la serialització en temps d'execució.
• Els serveis WCF poden tenir múltiples fils mitjançant la classe Service Behavior, mentre que els serveis web no poden tenir múltiples fils.
• Els serveis WCF admeten diferents tipus d'enllaços com BasicHttpBinding, WSHttpBinding, WSDualHttpBinding, mentre que els serveis web només utilitzen SOAP o XML per a aquesta finalitat.
• Els serveis web es compilen en un conjunt de biblioteca de classe. Es proporciona un fitxer anomenat "fitxer de servei" que té l'extensió.asmx i conté la directiva @WebService que identifica la classe que conté el codi del servei i el conjunt en què es troba a WCF.