Разлика между Web Services и WCF

Уеб услуги срещу WCF

И Web Services, и WCF са уеб технологии, разработени от Microsoft. Web Services бяха въведени в по-ранни версии на .NET, докато WCF беше добавен към .NET рамката в по-късни версии. Уеб услугите се използват за изграждане на приложения, които могат да изпращат / получават съобщения чрез SOAP през HTTP. WCF е за изграждане на разпределени приложения за обмен на съобщения с помощта на SOAP през всеки транспортен протокол.

Уеб услуги

Уеб услуга (понякога известна като ASMX технология в .NET) е метод за комуникация по мрежата. Според W3C, уеб услугата е система, предназначена за поддържане на транзакции от машина на машина през мрежа. Това е уеб API, описан в WSDL (Език за описание на уеб услугата), а уеб услугите обикновено са самостоятелни и самоописващи се. Уеб услугите могат да бъдат открити с помощта на UDDI (Universal Description, Discovery and Integration) протокол. Чрез обмен на съобщения SOAP (Simple Object Access Protocol) обикновено през HTTP (с XML), други системи могат да взаимодействат с уеб услуги. Уеб услугите се използват по много начини, като RPC (отдалечени процедурни обаждания), SOA (ориентирана към услуга архитектура) и REST (представителна трансфера на държавата). Има две автоматизирани методологии за проектиране за разработване на уеб услуги. Подходът отдолу нагоре се занимава с първо създаване на класове и след това използване на инструменти за генериране на WSDL за съставяне на тези класове като уеб услуги. Подходът отгоре надолу се занимава с определяне на WSDL спецификациите и след това използване на инструменти за генериране на код за генериране на съответните класове. Уеб услугите имат две основни употреби. Те могат да бъдат използвани като компоненти за многократна употреба и / или за свързване на уеб приложения, работещи на различни платформи.

WCF

WCF (Windows Communication Foundation) е .NET API (приложен програмен интерфейс), който предоставя унифициран модел на програмиране за разработване на свързани и ориентирани към услуги приложения. По-конкретно, той се използва за разработване и разгръщане на разпределени приложения със SOA. SOA се занимава с разпределени изчисления, в които потребителите консумират услуги. Множество потребители могат да консумират една услуга и обратно. WCF поддържа разширени стандарти за уеб услуги като WS-адресиране, WS-надеждно съобщение, WS-сигурност и RSS синдикация (достъпно след .NET 4.0). WCF клиент използва крайна точка, за да се свърже към WCF услуга. Всяка услуга може да има множество крайни точки, излагащи договора си. Терминът ABC се използва за означаване на Адрес / Обвързване / Договор за WCF услуга. Комуникацията между клиенти и услуги се осъществява чрез SOAP пликове.

Каква е разликата между Web Services и WCF?

Има някои ключови разлики между уеб услугите и WCF услугите. Уеб услугите се използват за изграждане на приложения, които могат да изпращат / получават съобщения, използвайки SOPA през HTTP. Въпреки това, WCF е за изграждане на разпределени приложения за обмен на съобщения с помощта на SOAP и всеки транспортен протокол като HTTP, TCP, посочени тръби и Microsoft Message Queuing (MSMQ) и др. Освен това WCF може да бъде разширена, за да работи с всеки друг транспортен протокол. Въпреки че уеб услугите са много прости и лесни за изпълнение, WCF е архитектурно по-здрав от уеб услугата. Уеб услугите могат да бъдат хоствани само в IIS и сигурността е ограничена. Но WCF може да бъде хостван в IIS, самостоятелно хостващи сървъри с конзолни приложения или Win NT услуги или всеки друг сървър. Освен това, за разлика от уеб услугите, WCF поддържа двоични .NET - .NET комуникации, разпределени транзакции, WS- * спецификации, съобщения на опашки и Restful комуникации.