Службы интеграции Team Foundation
Эти веб-службы обеспечивают функциональные возможности интеграции и автоматизации и не взаимодействуют с уровнем данных. К ним относятся следующие веб-службы:
· Registration Используется для регистрации других служб TFS, сохраняет информацию в регистрационной БД. Информация используется службами для обнаружения друг друга и определения способа взаимодействия.
· Security Состоит из службы групповой безопасности (group security service) и службы проверки подлинности (authorization service). Служба групповой безопасности управляет всеми пользователями и группами TFS. Служба проверки подлинности обеспечивает авторизацию доступа к TFS.
· Linking Содержит инструменты для создания слабых связей - "ссылок" ( link ) - между элементами данных. Например, связь между рабочим элементом дефекта и исходным кодом, измененным для устранения дефекта, устанавливается при помощи ссылки TFS.
· Eventing Запускает инструмент или службу для регистрации типов событий. Пользователь может подписаться на события и получать уведомление по электронной почте или с помощью вызова веб-службы. Например, можно использовать событие возврата после правки для запуска непрерывной сборки.
· Classification Работает вместе с веб-службой Linking и позволяет классифицировать артефакты TFS в соответствии с предопределенными так-сономиями. Это облегчает поддержку объединенных отчетов даже для артефактов, которые не пользуются общей таксономией для упорядочивания своих данных. Например, если рабочие элементы упорядочены по группам, а тесты упорядочены по компонентам, вы также можете упорядочить тесты по группам, что позволит им фигурировать в отчете рядом с рабочими элементами.
Уровень данных
Прямой доступ из клиентских приложений к данным, хранящимся на уровне данных, в TFS не поддерживается. Все запросы к данным должны осуществляться через веб-службы на уровне приложений. Уровень данных TFS состоит из следующих хранилищ, соответствующих службам данных на уровне приложений.
· Отслеживание рабочих элементов В этом хранилище хранятся все данные, относящиеся к рабочим элементам.
· Управление версиями Здесь хранятся все данные, относящиеся к управлению исходным кодом.
· Team Foundation Build Здесь хранится вся информация, относящаяся к TFS Team Build.
· Хранилище отчетов Здесь хранится информация, относящаяся ко всем инструментам и функциям TFS. Хранилище отчетов облегчает создание отчетов, объединяющих данные от различных инструментов.
Топология развертывания
Развертывание TFS выполняется с использованием различных топологий - от односерверных до сложных многосерверных типологий.
Основные требования
Независимо от используемой топологии вам следует помнить о нескольких ключевых требованиях.
· Устанавливайте уровень приложений и уровень данных в одном и том же домене. При этом они могут находиться как на одном, так и на разных серверных узлах.
· TFS устанавливается на компьютеры под управлением Microsoft Windows Server 2003 SP1 или более поздней версии.
· Все веб-службы уровня приложений должны устанавливаться на одном сервере.
· Устанавливайте один экземпляр TFS на одном компьютере.
· Нельзя установить более одного экземпляра TFS на физический сервер.
· Не распределяйте БД TFS между несколькими серверами БД. Все проекты должны находиться в одной группе серверов Team Foundation и не могут быть распределены по группам.
· Для размещения портала проекта нельзя использовать существующую инфраструктуру Microsoft SharePoint Portal Server. Рассмотрите возможность использования специализированного сервера для размещения на нем порталов TFS SharePoint.
· Не пытайтесь установить TFS на контроллер домена - это не поддерживается.
· При развертывании на двух серверах подготовьте учетные записи домена для служб TFS. Например, вам нужно будет создать учетные записи DOMAIN\TFSSERVICE и DOMAIN\TFSREPORTS.
Резюме
Архитектура Team Foundation Server разделена на три уровня: клиентский, приложений и данных.
· На клиентском уровне находятся компоненты клиента, например, Team Explorer в Visual Studio 2005, интеграция с Microsoft Office и инструменты командной строки.
· На уровне приложений содержатся, например, службы управления версиями Team Foundation, службы отслеживания рабочих элементов и службы сборки.
· На уровне данных содержатся БД для хранения данных, необходимых для отслеживания рабочих элементов, управления версиями, групповой сборки и организации хранилища отчетов.
В продукте TFS поддерживаются односерверная и многосерверная топологии развертывания. В первом случае уровень приложений и уровень данных устанавливаются на одной машине. Односерверное развертывание оправдано для небольших групп или при выполнении пилотных проектов. При раздельном развертывании уровень приложений и уровень данных устанавливаются на отдельных серверах. Многосерверное развертывание полезно в крупных группах с большим числом пользователей.