Уровень приложений
На уровне приложений клиентскому уровню предоставляется доступ к веб-службам ASP. NET. Использование этих веб-служб в интеграторах от независимых разработчиков не предполагается; здесь они приведены только для полноты картины. Службы сгруппированы в следующие коллекции:
· Team Foundation Data Services.
· Team Foundation Integration Services.
Службы данных Team Foundation. Эти веб-службы отвечают, в первую очередь, за операции с данными на уровне данных. К ним относятся следующие веб-службы:
· Version Control. Используется на клиентском уровне для выполнения различных функций TFS по контролю качества исходного кода и для взаимодействия с БД контроля качества исходного кода.
· Work Item Tracking. Используется на клиентском уровне для создания, обновления и направления запросов к рабочим элементам в БД Work Item Tracking.
· Team Foundation Build. Используется на клиентском уровне и в оболочке MSBuild для выполнения процесса сборки.
Службы интеграции 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. Хранилище отчетов облегчает создание отчетов, объединяющих данные от различных инструментов.
Итак, архитектура Team Foundation Server разделена на три уровня: клиентский, приложений и данных.
· На клиентском уровне находятся компоненты клиента, например, Team Explorer в Visual Studio 2005, интеграция с Microsoft Office и инструменты командной строки.
· На уровне приложений содержатся, например, службы управления версиями Team Foundation, службы отслеживания рабочих элементов и службы сборки.
· На уровне данных содержатся БД для хранения данных, необходимых для отслеживания рабочих элементов, управления версиями, групповой сборки и организации хранилища отчетов.