Аннотация В этой главе описывается подход, который следует принять
при создании Web-приложений в среде групповой разработки.
Это глава 2 руководства по групповой разработке в среде Visual Studio®
.NET и Visual SourceSafe™. Чтобы получить полное
представление о данном руководстве, начните отсюда.
Здесь рассказывается, как создавать Web-приложения в среде групповой
разработки. Рекомендуется изолированная модель и поясняется, почему ее
следует предпочесть альтернативным подходам.
Существует три основных модели разработки Web-приложений:
- изолированная (рекомендуется);
- частично изолированная;
- неизолированная.
Изолированная модель
В рамках этой модели вы разрабатываете программное обеспечение
(редактируете, отлаживаете и запускаете его) в полной изоляции на своем
компьютере и используете локальный Web-сервер (http://localhost). Доступ
к исходным файлам осуществляется через базу данных Microsoft®
Visual SourceSafe™ (VSS), размещенную на общем сетевом диске.
Вы можете как разрешить, так и запретить разработчикам одновременно
снимать с контроля (check out) один и тот же файл. Дополнительную
информацию см. в разделе Снятие файла с контроля несколькими
разработчиками одновременно в главе 6 "Работа с Visual SourceSafe".
Частично изолированная модель
В рамках этой модели для разработки и отладки приложения используется
общий Web-сервер (http://remoteserver). Вы регистрируете и снимаете с
контроля файлы через базу VSS на общем сетевом диске. Ваша рабочая копия
проекта размещается на общем Web-сервере в определенной папке,
являющейся корневой папкой Microsoft Internet Information Server (IIS).
За каждым разработчиком закрепляется собственная папка проекта на общем
Web-сервере.
Примечание При первом получении Web-проекта от VSS, Microsoft
Visual Studio® .NET не позволяет разместить рабочие файлы в
папке, уже содержащей другой Web-проект.
Если включена функция VSS, отвечающая за снятие файла с контроля
несколькими пользователями одновременно (multiple checkout feature),
разработчики могут снимать с учета и редактировать один и тот же файл,
но единовременно только один разработчик может отлаживать приложение на
Web-сервере. Это связано с тем, что при отладке приложения IIS
блокируется. Таким образом, другие Web-запросы к любым другим
приложениям не обслуживаются.
Неизолированная модель
В рамках этой модели для разработки и отладки приложения используется
общий Web-сервер (http://remoteserver). Однако у вас нет собственных
копий рабочих файлов, и все разработчики используют один и тот же
виртуальный корневой каталог на сервере, например
http://remoteserver/projectname.
При сохранении изменений в файл версия файла в памяти вашего
компьютера пересылается на сервер по протоколу Hypertext Transfer
Protocol (HTTP). Существующая серверная копия перезаписывается. Когда вы
последовательно регистрируете изменения с помощью встроенных сервисов
контроля версий Visual Studio .NET, для обновления копии файла в базе
данных VSS используется Microsoft FrontPage® Extensions.
Все три модели показаны на рис. 2.1.
Developer 1 - Разработчик 1
Developer 2 - Разработчик 2
VSS - VSS
Common Web Server - Общий Web-сервер
VS NET - VS .NET
Web application - Web-приложение
Рис. 2.1. Модели Web-разработки
Используйте изолированную модель разработки
Настоятельно рекомендуем применять для групповой разработки
изолированную модель, так как она дает ряд существенных преимуществ.
Преимущества изолированной модели
Принятие изолированной модели дает следующие преимущества.
- Вы и ваши коллеги - члены группы разработчиков ведете разработку
независимо друг от друга, используя отдельные (локальные) экземпляры
Web-приложения.
- Вы можете разрабатывать и отлаживать приложение, не мешая другим
разработчикам.
- В данной модели предусмотрена наилучшая поддержка контроля за
исходным кодом (по сравнению с неизолированной моделью, использующей
FrontPage Extensions).
- Она немного быстрее работает в локальной сети (LAN) (по
сравнению с FrontPage Extensions).
Избегайте частично изолированных и неизолированных моделей
Применение частично изолированной и неизолированной моделей в среде
командной разработки затруднено. По возможности их следует избегать.
Недостатки частично изолированной и неизолированной моделей
Частично изолированная и неизолированная модели имеют следующие
недостатки:
- Очень легко повлиять на работу другого разработчика, не заметив
этого. Так, при отладке приложения отладчик блокирует общий
Web-сервер и мешает другим разработчикам.
- В неизолированной модели разработчики могут мешать друг другу
еще и потому, что для одного Web-приложения существует только одна
DLL отделенного кода (code behind DLL).
- Возможности контроля исходного кода в FrontPage Extensions (не
интегрируемого с VSS) ограничены. В неизолированной модели все
разработчики работают с копией, размещенной на Web-сервере. Функции
контроля за исходным кодом, встроенные в FrontPage Extensions,
предлагают модель разработки "выигрывает версия, зарегистрированная
последней". Допустим, пользователи A и B снимают с учета один и тот
же файл почти одновременно, пользователь A вносит изменения и
сохраняет их чуть раньше. Когда пользователь B делает то же самое,
изменения, внесенные пользователем A, теряются.
Единственная ситуация, где вам, видимо, придется использовать
неизолированную или частично изолированную модель, возникает, когда
Web-приложение требует специфические ресурсы, доступные только на общем
Web-сервере. Вы можете столкнуться с такой ситуацией при разработке
приложения, использующего Microsoft .NET Passport.
Если вы вынуждены применять FrontPage Extensions, то можете настроить
Visual Studio .NET на использование этого режима для всех новых
Web-проектов и изменить режим для текущего Web-проекта.
Чтобы настроить Visual Studio .NET на использование FrontPage
Extensions
- В меню Tools выберите Options.
- Щелкните папку Projects.
- В папке Projects щелкните Web Settings.
- В правой секции окна выберите FrontPage Extensions.
- Щелкните OK для сохранения изменений.
Чтобы сменить режим доступа для текущего Web-проекта
- Щелкните правой кнопкой мыши проект в Solution Explorer и
выберите Properties.
- Раскройте папку Common Properties и щелкните Web Settings.
- Измените параметр Web Access Mode.
- Щелкните OK для сохранения изменений.
Дополнительные сведения о разработке Web-проектов с контролируемым
исходным кодом в Visual Studio .NET см. по ссылке Web Projects and
Source Control Integration in Visual Studio .NET.
Это глава 2 из руководства Team Development with Visual Studio
.NET and Visual SourceSafe. Следующую главу читайте по ссылке
Структурирование решений и проектов.