.NET Web Service Best Practice для нескольких разработчиков - PullRequest
1 голос
/ 09 декабря 2008

У нас есть большой проект ASP.NET, состоящий из нескольких сотен отчетов. Мы находимся в процессе перемещения всех SQL-запросов (работающих с базой данных Oracle) в три веб-службы. Веб-сервисы классифицируются по командам, выборам и запросам отчетов. Мы должны развернуть подмножество нашего проекта с использованием серверной части SQL * Server в нескольких местах, которые отключены от Интернета. Следовательно, наличие всех подключений к базе данных и запросов в веб-службах делает приложение управляемым, и мы можем извлекать подмножество отчетов и не нужно изменять код. Проект находится под контролем исходного кода с использованием программного обеспечения Serena ChangeMan.

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

Я провел поиски в Интернете, и я удивлен, что мне не удалось найти какие-либо хорошие белые страницы с «наилучшей практикой» архитектуры веб-служб. Есть много крупных компаний, которые должны были столкнуться с этими проблемами.

Используют ли большинство крупных групп разработки ветвления? Я читал, что Visual Studio Team System Database Edition может предоставить стандартный код, который позволит приложению подключаться к различным базам данных. Будет ли покупка Team System лучшим способом? Или кто-нибудь знает, где я могу найти документацию, которая поможет нам решить эти проблемы?

Спасибо, Lorie

Ответы [ 3 ]

2 голосов
/ 09 декабря 2008

Эта проблема может показаться совершенно независимой от цели программного обеспечения. Проблема здесь в том, что у вас есть небольшое, конечное количество файлов, с которыми ежедневно работают несколько разработчиков. У меня нет опыта ни с программным обеспечением Serena ChangeMan, ни с TFS, кроме как играть с ним. У меня есть опыт работы с несколькими системами контроля версий, которые используют модель слияния / принятия: CVS и Subversion . Это отличные бесплатные системы контроля версий, которые широко используются.

Если вы не знакомы с моделью слияния / фиксации, идея заключается в том, что ни один разработчик не может «извлечь» и заблокировать файл для внесения изменений. Каждый может скачать и внести изменения в любой файл. Когда пришло время зафиксировать эти изменения в базе данных исходного кода, программное обеспечение хранилища предотвратит коммит, если другие разработчики внесли в файл другие изменения. Затем загружается новая версия, и в большинстве случаев изменения автоматически объединяются с вашими изменениями. Вы повторно тестируете, а затем фиксируете эту версию. Эта модель очень успешна и очень масштабируема.

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

Серверы CVS и Subversion работают на Windows, Mac и Linux. Для каждого есть несколько клиентов, доступных в нескольких операционных системах. К ним относятся автономные клиенты, плагины Visual Studio и плагины оболочки. Еще одним плюсом является то, что CVS и Subversion доступны из командной строки, что делает скрипты (например, автоматизированную сборку) довольно простыми.

1 голос
/ 10 декабря 2008

Почему бы не разбить вашу логику на отдельные файлы классов, которые могут быть проверены каждым разработчиком?

0 голосов
/ 09 декабря 2008

Мы используем SOA, но мы также используем SVN, который больше ориентирован на слияние. Может быть, рассмотреть другую систему контроля версий?

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