Разница между веб-сервисами и WCF

Веб-сервисы против WCF

И веб-сервисы, и WCF - это веб-технологии, разработанные Microsoft. Веб-службы были представлены в более ранних версиях .NET, а WCF был добавлен в .NET Framework в более поздних версиях. Веб-сервисы используются для создания приложений, которые могут отправлять / получать сообщения, используя SOAP через HTTP. WCF предназначен для создания распределенных приложений для обмена сообщениями с использованием SOAP по любому транспортному протоколу..

Веб-сервисы

Веб-служба (иногда известная как технология ASMX в .NET) - это метод связи по сети. Согласно W3C, веб-сервис - это система, предназначенная для поддержки межмашинных транзакций по сети. Это веб-API, описанный в WSDL (язык описания веб-сервисов), и веб-сервисы, как правило, автономны и имеют самоописание. Веб-службы могут быть обнаружены с использованием протокола UDDI (универсальное описание, обнаружение и интеграция). Обменяясь сообщениями SOAP (Simple Object Access Protocol), как правило, через HTTP (с XML), другие системы могут взаимодействовать с веб-сервисами. Веб-сервисы используются различными способами, такими как RPC (удаленные вызовы процедур), SOA (сервис-ориентированная архитектура) и REST (передача состояния представления). Существует две методологии автоматизированного проектирования для разработки веб-сервисов. Подход снизу вверх касается сначала создания классов, а затем использования инструментов генерации WSDL для составления этих классов как веб-сервисов. Нисходящий подход касается определения спецификаций WSDL и последующего использования инструментов генерации кода для генерации соответствующих классов. Веб-сервисы имеют два основных использования. Их можно использовать в качестве повторно используемых компонентов приложения и / или для подключения веб-приложений, работающих на разных платформах..

WCF

WCF (Windows Communication Foundation) - это .NET API (интерфейс прикладного программирования), который предоставляет унифицированную модель программирования для разработки связанных и сервис-ориентированных приложений. В частности, он используется для разработки и развертывания распределенных приложений с использованием SOA. SOA имеет дело с распределенными вычислениями, в которых потребители потребляют сервисы. Несколько потребителей могут потреблять одну услугу и наоборот. WCF поддерживает расширенные стандарты веб-служб, такие как WS-Addressing, WS-ReliableMessaging, WS-Security и RSS-синдикация (доступно после .NET 4.0). Клиент WCF использует конечную точку для подключения к службе WCF. Каждый сервис может иметь несколько конечных точек, раскрывающих свой контракт. Термин ABC используется для обозначения адреса / привязки / контракта службы WCF. Связь между клиентами и сервисами осуществляется через конверты SOAP..

В чем разница между веб-сервисами и WCF?

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