WCF - преимущества и недостатки - PullRequest
14 голосов
/ 02 февраля 2009

Я хотел бы узнать обо всех преимуществах и недостатках Windows Communication Foundation от людей, которые его использовали или просто знают теоретически.

Ответы [ 7 ]

6 голосов
/ 03 февраля 2009

Основное преимущество : Как только вы преодолеете кривую обучения, WCF сравнительно легко обнаружит и использует программные компоненты. Т.е., учитывая, что компонент включает функциональность в контракт на обслуживание WCF, разработчик может представить этот же компонент в процессе, через процессы в одном блоке, через интрасеть Windows или через Интернет, просто изменив информацию о хостах и ​​конфигурации. Аналогичным образом клиенты указанного компонента могут легко использовать его в любом из этих сценариев.

Основной недостаток : кривая обучения. Многим разработчикам WCF кажется очень пугающим, когда они впервые начинают изучать его. Я сделал несколько неудачных попыток попасть в «Программирование служб WCF» Ювала Лоуи. Хотя я обнаружил, что понимание пришло быстро, как только я начал создавать и потреблять компоненты.

Главное, что нужно помнить , - это то, что WCF позволяет вам написать хороший функциональный код и превратить его в компонент, который затем можно относительно легко использовать практически в любом месте, практически с любой степенью безопасности, надежности и долговечность.

По сравнению с тем, что мы были вынуждены использовать ранее, WCF - это fantasitc!

4 голосов
/ 02 февраля 2009

Основным преимуществом является то, что WCF обеспечивает единый согласованный доступ к технологиям связи Windows для разработчиков, что позволяет упростить разработку приложений SOA. Microsoft отвела много работы по сантехнике, чтобы включить это.

Недостатком может быть то, что WCF является реализацией SOA от Microsoft, и, следовательно, его API-интерфейсы контролируются исключительно MS, что затрудняет совместимость. Кроме того, для развертывания приложений WCF вам потребуется больше базовых аппаратных ресурсов на платформе, на которой будут работать приложения WCF, поскольку существует дополнительный уровень абстракции для работы.

4 голосов
/ 02 февраля 2009

Для меня это то, что ваш код для связи через SOAP, WS *, TCP, MSMQ, именованные каналы или любой другой транспорт позже тот же.

2 голосов
/ 02 февраля 2009

Преимущества

  • Он состоит из множества различных компонентов, поэтому вы можете создавать новые компоненты для безопасности, транспорта, аутентификации
  • Это быстрее, чем ASMX
  • Поддерживает масштабирование / балансировку нагрузки
  • Его совместимость, для Java, и многое другое ..

Недостатки - немного кривой обучения, чтобы узнать обо всех типах транспорта / спецификации безопасности.

Если вы хотите что-то быстрее, вам придется перейти на уровень TCP

Редактировать Также трудно справиться с параллелизмом, чтобы сделать с подключенными клиентами

1 голос
/ 07 февраля 2009

Преимуществом является стандартная архитектура для приложений SOA. Вы можете настроить компоненты архитектуры, чтобы разрешить соединение с любыми клиентами, не относящимися к Windows, однако при этом существует крутая кривая обучения.

1 голос
/ 02 февраля 2009

Я не думаю, что должны быть присущие компромиссы помимо необходимости использовать WinStack. Предполагается, что WCF заменяет удаленное взаимодействие .NET и стандартные болотные веб-службы (точнее, WCF также может выполнять веб-службы)

0 голосов
/ 02 февраля 2009

Мне было очень легко настроить и учиться. У меня был веб-сервис, работающий в течение нескольких часов без какого-либо опыта использования WCF. Я могу сделать это через несколько минут.

Недостатком этого является то, что я до сих пор почти ничего не знаю о веб-сервисах. Это может обернуться и укусить вас позже. Очень легко принимать неправильные дизайнерские решения, основываясь на неверных предположениях о том, как все работает. Например, очень легко поддерживать состояние в ваших классах обслуживания, но позже это вызовет проблемы с масштабированием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...