Подтвердить что ты не робот

Какова связь между WCF, Rest и SOAP?

Какова связь между WCF и REST & SOAP? Является ли WCF на основе одной из этих технологий (REST или SOAP) или это отдельная технология?

4b9b3361

Ответ 1

WCF не является автоматически REST или SOAP, но вы можете сделать это именно так. Здесь вам понадобится учебник:

ФОС

http://www.codeproject.com/Articles/406096/A-beginners-tutorial-for-understanding-Windows

REST

http://rest.elkstein.org/

Вот еще один интересный материал:

WCF - REST/SOAP

https://msdn.microsoft.com/en-us/library/hh323708(v=vs.100).aspx

WCF и REST

https://msdn.microsoft.com/en-us/library/ee391967.aspx

Или вы можете самостоятельно выполнить поиск google/bing/metacrawler/altavista.....

Ответ 2

WCF - это платформа обмена сообщениями для построения распределенных систем. Распределенные системы - это просто другое слово для веб-сервисов.

Это означает, что вы можете писать методы на С# (или на любом из языков .NET), а затем применять кучу конфигураций к коду, который делает ваш код доступным для других и превращает ваш код в веб-службу.

Эти "пучки конфигураций" - это WCF. WCF позволяет вам подвергать свои методы другим компьютерам или приложениям с помощью REST, если вы настроите конфигурации WCF вокруг своего кода на С#, чтобы открыть его как службу RESTful. Или вы можете легко использовать те же методы С# и сделать их доступными через протокол SOAP.

Если у вас есть метод под названием "GetData()", вы можете настроить конфигурацию WCF, чтобы сделать этот метод доступным для службы, размещенной в IIS. Когда кто-то вызывает эту услугу, они могут отправить запрос HTTP GET на http://www.yourdomain.com/SomeService/GetData, и метод GetData получит сообщение и отправит ответ, Когда вы делаете запрос GET по HTTP, вы используете REST. REST в значительной степени связан с HTTP как транспортный протокол. REST также не имеет стандартного формата сообщения. Независимо от того, что вы хотите отправить в своем HTTP-сообщении, и, тем не менее, вы хотите отправить его в порядке. Вы можете отправить XML, или JSON, или просто текст. Вы можете использовать POST, GET или PUT или любой из HTTP-глаголов.

С помощью SOAP ваши сообщения могут быть отправлены в службу с использованием любого транспортного протокола - вы не привязаны к HTTP. Сообщения SOAP предназначены для нейтрализации транспорта. Они закодированы в XML, и XML всегда имеет головку и тело node внутри конверта node. Например, в SOAP-стандартах есть множество веб-стандартов для обеспечения безопасности, сеансов и других функций в заголовке сообщения. Кроме того, с помощью SOAP вы получаете WSDL, о котором я не буду объяснять здесь, но это облегчает для клиентов программирование. Большинство языков программирования имеют метод принятия WSDL и преобразования его в строго типизированные методы и объекты, так что ваш сервис легко вызвать.

REST очень популярен в Интернете и столь же масштабируемый, как и Интернет (то есть ОЧЕНЬ масштабируемый). SOAP очень популярен среди бизнес-приложений.

Ответ 3

Из MSDN

Модель программирования WCF предоставляет различные возможности, такие как SOAP услуги, веб-службы HTTP, услуги передачи данных, богатое интернет-приложение (RIA) и сервисы рабочего процесса. Поддержка SOAP-сервисов совместимость между системами, которые построены с Java, другими платформ и тех, которые поддерживают поддерживаемые стандарты обмена сообщениями от Microsoft®. Службы SOAP также поддерживают такие транспортные средства, как HTTP, TCP, именованные каналы и MSMQ. Услуги веб-HTTP и услуги передачи данных как поддержка REST. Службы Web HTTP позволяют вам управлять сервисом местоположение, запрос и ответ, форматы и протоколы. Услуги передачи данных позволяют выставлять модели данных и логику, управляемую данными, в качестве служб. WCF также включает в себя две модели программирования: модель обслуживания и канальной модели. Модель обслуживания обеспечивает основу для определения контракты на предоставление данных, контракты на обслуживание и поведение службы. Канал модель поддерживает спецификации форматов, транспортов и протоколов.

Оба сервиса SOAP и REST могут предоставлять функциональность веб-сайтам приложений, и оба могут использоваться для обмена информацией в веб-распределенной среды. У каждого есть свои преимущества, и ограничения.

Ответ 4

Несмотря на то, что этот вопрос получил несколько хороших ответов, просто вставляя мои 2-центов в попытке новичков WCF vs SOAP vs REST - полные сервисы, чтобы их было легче понять.

Мы получаем путаницы, поддерживает ли WCF как REST и SOAP? И, как правило, мы просто видим общие определения SOAP и REST. Итак, нам нужно что-то от Microsoft, чтобы заставить нас почувствовать правду:) Итак, вот скриншот от Microsoft MSDN:

URL статьи статьи MSDN></a> <a href=введите описание изображения здесь

Итак, да, WCF поддерживает оба.

В контексте с OP:

  • SOAP-сервисы:
    в модели программирования WCF поддерживают взаимодействие между системами, которые построены с помощью Java, другие платформ и тех, которые поддерживают поддерживаемые стандарты обмена сообщениями от Microsoft®. Они также поддерживают транспорты, такие как HTTP, TCP, именованные каналы и MSMQ.
  • Услуги веб-HTTP. В модели программирования WCF поддерживается REST. [Источник: MSDN]