В настоящее время я делаю большую часть своей работы с технологиями Microsoft, поэтому, естественно, я проверяю, что может предложить WCF. Он выглядит очень гибким и является отличным шагом по сравнению с удаленным взаимодействием .Net, но он кажется очень привязанным к сообщениям SOAP и довольно неуклюжим для приложения веб-службы, не зависящего от платформы. Я не специалист по технологиям, но я представляю, что вся эта гибкость, которую они рекламируют, означает, что вы можете оторваться от сообщений SOAP и вернуть любую структуру данных / формат, который вы пожелаете. Это правда или ложь?
Причина, по которой я говорю это, заключается в том, что если бы я действительно хотел создать приложение в качестве службы REST, одна из моих целевых платформ была бы мобильной. Не только это, но и одна из важных целей любого веб-сервиса - сохранить небольшую полезную нагрузку, будь то для мобильного телефона со скоростью набора номера или для полноценного настольного приложения.
Итак, если вы возьмете API-интерфейс Twitter в качестве примера, он будет невероятно успешным, потому что вы можете запросить данные в формате JSON без каких-либо необычных конвертов SOAP, взвешивающих данные и получающих наименьшее количество байтов для представления нужных вам данных. Таким образом, мобильное приложение, работающее на устройстве с плохой связью, использующее данные Twitter, может использовать минимально возможную полосу пропускания. Кроме того, шаблон Twitter, Facebook или любого из более успешных общедоступных API-интерфейсов представляет собой пользовательскую структуру данных в JSON и / или XML, а не заключенную в конверт SOAP (хотя я могу ошибаться ... это только мое впечатление ).
Как бы вы сделали это в WCF? Вам нужно прыгать через обручи, чтобы сказать WCF «просто вернуть этот текст ... не беспокойтесь о конверте SOAP», или это простой параметр конфигурации?