В данной статье я хочу рассмотреть архитектуру Team Foundation Server, уже полюбившегося всем инструмента управления проектами. Архитектура TFS состоит из трёх уровней, каждый из которых имеет свою реализацию и отвечает за определённую часть функционала.
Пользователи TFS работают с уровнем приложений с помощью различных Веб-сервисов. Уровень приложений использует уровень данных для доступа к базам данных (хранилища исходных кодов, хранилища данных, данные о сборке).
Сейчас рассмотрим каждый уровень TFS подробнее:
Клиентский уровень состоит из объектной модели (API для взаимодействия с TFS, например Team Explorer), компонентов Visual Studio Industry Partners (настройки и языки программирования для Visual Studio от сторонних производителей), интеграции с Microsoft Office (удобное ведение отчетов), инфраструктуры политик изменений файлов (механизм проверок исходного кода при изменении файлов).
Уровень приложений состоит из Веб-сервисов, с которыми взаимодействует клиентский уровень. Они разделяются на сервисы обработки данных (Team Foundation Data Services) и сервисы интегрирования (Team Foundation Integration Services).
Сервисы обработки данных обеспечивают взаимодействие с уровнем данных. Они включают в себя сервис контроля версий, для взаимодействия с базой данных исходного кода, сервис отслеживания рабочих элементов, для создания и обновления рабочих элементов и сервис сборки, для выполнения процессов сборки (MSBuild).
Сервисы интегрирования обеспечивают функциональность взаимодействия и автоматизации. Они включают в себя:
- сервис регистрации, для регистрации других сервисов
- сервис безопасности, для управления всеми пользователями и группами
- сервис связывания, для взаимодействия исходного кода и поставленной задачи
- сервис обработки событий, для запуска процесса непрерывной интеграции или получения уведомлений об изменении кода
- сервис классификаций, для разделения уровней задач.
Уровень данных состоит из различных хранилищ данных, соответствующих сервисам уровня приложений. Компоненты уровня данных разделяются на хранение данных о рабочих элементах, контроля версий, сборок и создание отчетов.
В завершении статьи хотелось бы сказать, что уровень приложений и уровень данных могут находиться как на одном, так и на различных серверах. Это зависит от количества человек в команде. Для небольших команд лучше использовать один сервер. Несколько серверов лучше использовать для больших команд (450 человек и более).

Комментариев нет:
Отправить комментарий