Добрый день. Вопрос №1 Какова стоимость получения диплома о мини-МБА по данному курсу? Или ориентироваться на указанную на сайте? Вопрос №2 Возможно ли начать обучение без потери результатов, не отправив документы на зачисление, а отправку выполнить позже? |
Архитектура Team Foundation Server
Обзор
В этой лекции вы познакомитесь с архитектурой TFS и основными топологиями разработки. Логически TFS обладает трехуровневой архитектурой, состоящей из клиентского уровня ( client tier ), уровня приложений ( application tier ) и уровня данных ( data tier ). Клиенты TFS взаимодействуют с уровнем приложений посредством различных веб-служб. Уровень приложений пользуется различными базами данных Microsoft SQL Server на уровне данных.
Вы вольны установить уровень приложений и уровень данных как на одном физическом сервере, так и на разных серверах. В основном, выбор определяется размером группы. Односерверное развертывание более уместно в группах, насчитывающих менее 50 членов, хотя достаточно мощный сервер способен поддерживать и до 400 пользователей. Многосерверное развертывание позволяет увеличить количество пользователей до 2000.
Из этой лекции вы узнаете об основных компонентах TFS и об их взаимодействии друг с другом, а также о назначении каждого из этих компонентов и о том, каким образом обычно производится их развертывание.
Если вы не знакомы с TFS, сначала прочтите лекцию 1. В ней описано, как группы разработчиков и тестировщиков взаимодействуют с TFS, чтобы упростить сотрудничество и повысить эффективность разработки ПО.
Архитектура Team Foundation Server
В TFS использована логическая трехуровневая архитектура, разделяющаяся на клиентский уровень, а также уровни приложений и данных. Клиенты TFS взаимодействуют с уровнем приложений посредством различных веб-служб. В свою очередь, уровень приложений поддерживается различными базами данных на уровне данных. Компоненты уровня TFS и их взаимодействие проиллюстрированы на рис.2.1.
Клиентский уровень
Клиентский уровень состоит из следующих компонентов:
- Объектная модель Team Foundation Server Открытый интерфейс API для взаимодействия с TFS, используется для создания клиентских приложений, обменивающихся данными с TFS.
- Компоненты Visual Studio Industry Partners (VSIP) Инструменты сторонних поставщиков, надстройки и языки для использования в Visual Studio
- Интеграция с Microsoft Office Набор надстроек для Microsoft Office Excel и Microsoft Office Project, позволяющих запрашивать и обновлять рабочие элементы в базе данных TFS Work Item Tracking. Особенно полезен для менеджеров проекта, уже широко использующих эти инструменты.
- Инструменты командной строки Инструменты, позволяющие взаимодействовать с TFS из командной строки. В основном используются для работы с функциями контроля качества исходного кода, также полезны для автоматизации повторяющихся процессов и при планировании заданий.
- Политики возврата после правки (check-in policy) Расширяемый механизм проверки кода в процессе возврата после правки.
Уровень приложений
На уровне приложений клиентскому уровню предоставляется доступ к веб-службам 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. Хранилище отчетов облегчает создание отчетов, объединяющих данные от различных инструментов.
Топология развертывания
Развертывание TFS выполняется с использованием различных топологий - от односерверных до сложных многосерверных типологий.
Основные требования
Независимо от используемой топологии вам следует помнить о нескольких ключевых требованиях.
- Устанавливайте уровень приложений и уровень данных в одном и том же домене. При этом они могут находиться как на одном, так и на разных серверных узлах.
- TFS устанавливается на компьютеры под управлением Microsoft Windows Server 2003 SP1 или более поздней версии.
- Все веб-службы уровня приложений должны устанавливаться на одном сервере.
- Устанавливайте один экземпляр TFS на одном компьютере.
- Нельзя установить более одного экземпляра TFS на физический сервер.
- Не распределяйте БД TFS между несколькими серверами БД. Все проекты должны находиться в одной группе серверов Team Foundation и не могут быть распределены по группам.
- Для размещения портала проекта нельзя использовать существующую инфраструктуру Microsoft SharePoint Portal Server. Рассмотрите возможность использования специализированного сервера для размещения на нем порталов TFS SharePoint.
- Не пытайтесь установить TFS на контроллер домена - это не поддерживается.
- При развертывании на двух серверах подготовьте учетные записи домена для служб TFS. Например, вам нужно будет создать учетные записи DOMAIN\TFSSERVICE и DOMAIN\TFSREPORTS.
Развертывание на одном сервере
Развертывание на одном сервере - простейшая топология, подходящая для групп разработчиков или пилотных проектов с числом пользователей не более 400. В этом подходе все компоненты уровня приложений и уровня данных устанавливаются на один сервер и доступ к ним осуществляется в пределах одного домена.
Если вам нужно установить компоненты испытательного стенда для проверки производительности, установите их на серверном узле или на одном или нескольких клиентах. На рис.2.2 показана топология с одним сервером.
Развертывание на раздельных серверах
Топология многосерверного развертывания используется в крупных группах разработчиков, насчитывающих до 2000 пользователей. В данной топологии уровень приложений устанавливаетcя отдельно от уровня данных.
Вы можете установить службы Team Foundation Build Services на уровень приложений, однако в крупных группах рекомендуется выделять для сборки один или несколько специальных серверов. Если в проекте требуется проверка производительности, разверните испытательный стенд (контроллер и агенты) на дополнительных серверных узлах. На рис.2.3 показана многосерверная топология.
Резюме
Архитектура Team Foundation Server разделена на три уровня: клиентский, приложений и данных.
- На клиентском уровне находятся компоненты клиента, например, Team Explorer в Visual Studio 2005, интеграция с Microsoft Office и инструменты командной строки.
- На уровне приложений содержатся, например, службы управления версиями Team Foundation, службы отслеживания рабочих элементов и службы сборки.
- На уровне данных содержатся БД для хранения данных, необходимых для отслеживания рабочих элементов, управления версиями, групповой сборки и организации хранилища отчетов.
В продукте TFS поддерживаются односерверная и многосерверная топологии развертывания. В первом случае уровень приложений и уровень данных устанавливаются на одной машине. Односерверное развертывание оправдано для небольших групп или при выполнении пилотных проектов. При раздельном развертывании уровень приложений и уровень данных устанавливаются на отдельных серверах. Многосерверное развертывание полезно в крупных группах с большим числом пользователей.
Дополнительные ресурсы
- Дополнительные сведения об основах TFS вы найдете в статье "Team Foundation Server Fundamentals: a Look at the Capabilities and Architecture" по адресу http://msdn2.microsoft.com/en-us/library/ms364062(vs.80).aspx.
- Обзор продукта Team Foundation содержится в документации к Team Foundation на веб-сайте Microsoft MSDN по адресу http://msdn2.microsoft.com/ en-us/library/ms181232(vs.80).aspx.
Дополнительную информацию о масштабируемости Team Foundation Server вы найдете в статье "Team Foundation Server Capacity Planning" по адресу http://blogs.msdn.com/bharry/archive/2006/01/04/509314.aspx.