Разумно ли использовать WSSF сегодня на новом уровне услуг WCF?

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

Однако, мы только что получили дополнительное требование - я должен перестроить (или, по крайней мере, переделать) слой, чтобы включить WSSF. Нет старой функциональности, с которой нам нужно было бы интегрироваться, и все операции в службах основаны на выполнении SP в БД.

Должен ли я это сделать или стоит поспорить с этим? Я не уверен, потому что я никогда не работал с WSSF, и у меня практически не было объяснения, почему мы должны на этом конкретном рабочем месте (возможно, они не хотят, чтобы мы знали, а просто не знают). самих себя).

Мои опасения основаны, но не ограничиваются следующим.

  1. Последний выпуск выпущен в августе 2010 года.
  2. Там нет ничего перечисленного в разделе документации.
  3. Лицензия, кажется, находится в конфликте с коммерческой деятельностью.
  4. WSSF не широко используется в качестве технологии сегодня (или это?!).
  5. Целью WSSF является только WCF-фэй старый сервисный уровень (или нет?!).

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

2 ответа

Решение

Короче говоря, это не выглядит хорошо. От MSDN: Фабрика программного обеспечения веб-сервисов 2010:

Фабрика программного обеспечения Web-сервисов теперь поддерживается сообществом и может быть найдена на сайте Service Factory. Этот контент устарел и больше не поддерживается. Он предоставляется в качестве любезности лицам, которые все еще используют эти технологии. Эта страница может содержать URL-адреса, которые были действительны при первоначальной публикации, но теперь ссылаются на сайты или страницы, которые больше не существуют. Выбытый: ноябрь 2011

1) Похоже, что этим занимается сообщество. Тем не менее, глядя на дискуссионный форум не так много сообщений, и многие из них не имеют ответов.

2) Я считаю, что довольно часто вкладка документации пуста в codeplex, но часто есть документация, но не на вкладке документации.

3) С точки зрения лицензирования, Ms-PL вполне разрешительна, поэтому я не думаю, что будут какие-то проблемы.

4) Не умалять этого, но я не думаю, что это было / очень популярно. Определенно не стандарт.

5) Целью фабрики услуг было предоставление руководства - как письменного, так и основанного на коде. См. Web Service Software Factory для обсуждения.

WSSF был инструментом, который включал лучшие практики для создания сервисов WCF. Прошло много лет с тех пор, как я его использовал, но в основном я вспоминаю мастера, который задавал несколько (на самом деле много) вопросов о сервисе (контракт), данных (модель) и т. Д. То, что он мог бы создать, - это хорошо организованное решение с несколькими проекты с соответствующими соглашениями об именах, подробные объявления, такие как добавление IsOneWay=true/false к [OperationBehavior] или IsRequired=true/false, Order=n и т. д. к [DataContract]. Другими словами, он генерировал очень подробный код, который большинство из нас выпускает, пока нам это не нужно.

Тем не менее, он сделал больше, например, структурировал ваше решение так, чтобы контракты на обслуживание были в одном проекте, контракты на передачу данных в другом и реализация в другом. Здесь созданы тестовые проекты (я считаю). Итак, очень гранулированное решение. Я помню, что самые простые услуги приведут к решению 6-7 проектов. Сначала было немного пугающе, пока вы не просмотрели код, который он сгенерировал.

Еще одна интересная особенность, которой он обладал (в то время, о котором многие просили), - это способ сначала разработать контракт. Учитывая существующие метаданные веб-сервиса, вы можете создать новое сервисное решение.

В любом случае, как только это будет завершено, вам просто нужно будет обеспечить реализацию методов. Лично я никогда не принимал это во внимание при разработке услуг. Но в то время я ценил это и часто ссылался на клиентов, которые были новичками в разработке сервисов, потому что я знал, что это поможет им правильно начать.

Чтобы прокомментировать ваши заботы, хотя...

  1. Это правильно, и он не получает никаких ресурсов для его обновления.
  2. На самом деле документации немного. Просто перейдите на вкладку "Главная", и вы увидите ссылки на нее.
  3. Не уверен насчет этого. Код, который он генерирует, принадлежит вам. Вы все еще должны скомпилировать его, и вы должны продолжать двигаться вперед. Не отличается от любого другого инструмента генерации кода (насколько я знаю).
  4. Нет, это не так. Также рассмотрим время, когда это было разработано, .NET Framework 2 - 3.x. С тех пор многое было добавлено в WCF. Также появилось новое руководство по развитию сервиса. Если вы используете некоторые из более новых функций, добавленных в.NET Framework 3.5SP и более поздних версиях (которые вы, вероятно, используете), то это определенно не то, что я бы рекомендовал использовать.
  5. Опять же, это была одна из приятных возможностей (контрактная разработка). Но это действительно не главная идея. Это был инструмент для создания основы для новых услуг. На самом деле, насколько я помню, разработка новых сервисов была первоначальной мотивацией инструмента. Как только вы потратили время на просмотр диалогов, у вас появилось действительно хорошее решение, на котором можно начать строить.
Другие вопросы по тегам