СМ-Консалт
 

Глава 2

Статьи Технологии Microsoft: .NET, Visual Studio Team System Коллективная разработка с использованием Visual Studio Team Foundation Server Часть I - Основы

Глава 2 - Архитектура Team Foundation Server

 Содержание

 

Полезные материалы в тему статьи:


Область применения

  • Microsoft® Visual Studio® 2005 Team Foundation Server (TFS)
  • Microsoft Visual Studio Team System

 Задачи

  • Описать архитектуру Microsoft® Visual Studio® Team System (VSTS) и Team Foundation Server (TFS).
  • Определить компоненты, образующие клиентский уровень, уровень приложений и уровень данных.
  • Обозначить различия между развертыванием на одном сервере и развертыванием на нескольких серверах.

Обзор

В данной главе представлена архитектура TFS и основные схемы развертывания. TFS логически представлен трехуровневой архитектурой, которая включает клиентский уровень, уровень приложений и уровень данных. Клиенты TFS взаимодействуют с уровнем приложений посредством различных Веб-сервисов, а уровень приложений использует различные базы данных Microsoft SQL ServerTM уровня данных. Уровни приложений и данных физически могут располагаться как на одном сервере, так и на разных серверах. Выбор, главным образом, зависит от размера группы, работающей над проектом. Для групп менее 50 человек лучше использовать один сервер. Достаточно мощный сервер может обслуживать до 400 пользователей. Развертывание на двух серверах позволяет обслуживать около 2000 пользователей.

Как использовать данную главу

В данной главе рассмотрены основные компоненты TFS и их взаимодействие. Здесь можно узнать о назначении каждого из этих компонентов и о том, как чаще всего происходит их развертывание.

Те, кто еще не знаком с TFS, должны сначала прочитать Главу 1 «Введение в среду для коллективной разработки», в которой описывается взаимодействие групп разработки и тестирования с TFS и использование TFS для повышения качества этого взаимодействия и общей эффективности производства ПО.

Архитектура Team Foundation Server

TFS использует трехуровневую архитектуру, которая включает клиентский уровень, уровень приложений и уровень данных. Клиенты TFS взаимодействуют с уровнем приложений посредством различных Веб-сервисов; уровень приложений, в свою очередь, поддерживается различными базами данных уровня данных. На рис. 2.1 показаны компоненты и взаимодействия всех уровней TFS.

 

 

Рис. 2.1 - Компоненты и уровни TFS Клиентский уровень

Клиентский уровень

Клиентский уровень включает следующие компоненты:


  • Объектная модель 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 из командной строки. Преимущественное большинство этих инструментов предоставляют функциональность контроля версий и используются для автоматизации повторяющихся и выполняющихся по расписанию задач.
  • Инфраструктура политик регистрации изменений файла в системе контроля версий. Поддерживает политики регистрации изменений, которые являются расширяемым механизмом проверок исходного кода в процессе регистрации изменений.

Уровень приложений

Уровень приложений предоставляет Веб-сервисы ASP.NET, с которыми взаимодействует клиентский уровень. Эти Веб-сервисы не предназначены для использования в сторонних приложениях, но приведены здесь для полноты картины. Веб-сервисы сгруппированы в следующие наборы:

  • Сервисы обработки данных TFS (Team Foundation Data Services)
  • Сервисы интегрирования TFS (Team Foundation Integration Services)

Сервисы обработки данных TFS

Эти Веб-сервисы преимущественно обеспечивают взаимодействие с уровнем данных. К этим сервисам относятся:

  • Веб-сервис контроля версий. Клиентский уровень использует этот Веб-сервис для выполнения различных операций контроля версий и взаимодействия с базой данных исходного кода.
  • Веб-сервис для отслеживания рабочих элементов. Клиентский уровень использует этот Веб-сервис для создания, обновления рабочих элементов и запросов к базе данных отслеживания рабочих элементов.
  • Веб-сервис сборки. Клиентский уровень и инфраструктура MSBuild используют этот Веб-сервис для выполнения процессов сборки приложений.

Сервисы интегрирования TFS

Данный набор Веб-сервисов обеспечивает функциональность интегрирования и автоматизации. Эти сервисы не взаимодействуют с уровнем данных. К сервисам интегрирования TFS относятся:

  • Веб-сервис регистрации. Этот сервис используется для регистрации других сервисов TFS. Он обслуживает информацию регистрационной базы данных. Этаинформация используется сервисами для определения способа взаимодействия друг с другом.
  • Веб-сервис безопасности. Этот сервис состоит из Сервиса групповой безопасности (Group Security Service) и Сервиса авторизации (Authorization Service). Сервис групповой безопасности используется для управления всеми пользователями и группами TFS. Сервис авторизации предоставляет TFS систему управления доступом.
  • Веб-сервис связывания. Этот сервис обеспечивает возможность устанавливать отношения слабой связи (или просто «связи») между элементами данных инструментальных средств1 . Например, соответствие между рабочим элементом (например, дефектом), и исходным кодом, который был изменен с целью исправления этого дефекта, устанавливается в TFS при помощи связи.
  • Веб-сервис обработки событий. Этот сервис обеспечивает возможность инструментальному средству или сервису регистрировать типы событий. Пользователи могут подписываться на эти события и получать уведомления по электронной почте или посредством вызова Веб-сервиса. Например, событие регистрации изменений может использоваться для запуска процесса непрерывной интеграции.
  • Веб-сервис классификации. Этот сервис совместно с Веб-сервисом связывания обеспечивает классификацию артефактов TFS соответственно установленным систематикам. Это обеспечивает возможность поддерживать создание перекрестных2 отчетов даже для артефактов, не использующих общую систематику для организации своих данных. Например, если обычно рабочие элементы группируются по проектным группам, а тесты - по компонентам, то с помощью классификации можно организовать тесты по проектным группам, так они смогут быть включены в тот же отчет, что и рабочие элементы.

Уровень данных

TFS не поддерживает прямого доступа клиентских приложений к уровню данных. Все запросы к данным осуществляются через Веб-сервисы на уровне приложений. Уровень данных TFS состоит из следующих хранилищ данных, соответствующих сервисам обработки данных уровня приложений.

  • Отслеживание рабочих элементов. Здесь хранятся все данные, касающиеся рабочих элементов.
  • Контроль версий. Здесь хранятся все данные, касающиеся контроля версий.
  • Сборка. Содержит всю информацию, касающуюся инструмента TFS Team Build.
  • Хранилище отчетов. Хранит информацию, касающуюся всех инструментов и функций TFS. Хранилище отчетов упрощает создание отчетов, сочетающих в себе данные нескольких инструментальных средств.

Схема развертывания

Развертывание TFS можно осуществлять, используя различные схемы, начиная от установки на один сервер, заканчивая более сложными многосерверными топологиями. Независимо от используемой схемы должен быть учтен ряд ключевых требований.

Основные требования

Независимо от выбранной схемы развертывания:

  • Уровни приложений и данных должны быть установлены в одном домене, хотя могут располагаться как на одном, так и на разных серверах.
  • На серверах, на которых развертывается TFS, должен быть установлен Microsoft Windows ServerTM 2003 с Service Pack 1 (SP1) или его более поздняя версия.
  • Все Веб-сервисы уровня приложений TFS должны быть установлены на одном сервере.
  • Один экземпляр TFS физически должен быть установлен на одном компьютере.
  • На один физический сервер нельзя устанавливать более одного экземпляра TFS.
  • Нельзя распределять базы данных TFS по нескольким серверам баз данных. Все проекты должны находиться в одной группе серверов Team Foundation Server и не могут развертываться в нескольких группах (т.е. проект не может использовать уровень приложений одного экземпляра TFS и уровень данных другого экземпляра TFS).
  • Для размещения сайта портала проекта нельзя использовать существующую инфраструктуру Microsoft SharePoint® Portal Server. Порталы TFS должны размещаться на выделенном сервере3 .
  • Не следует устанавливать TFS на сервер, сконфигурированный как контроллер домена - такой сценарий установки не поддерживается.
  • При развертывании на двух серверах необходимо подготовить доменные учетные записи, которые будут использоваться при запуске сервисов TFS. Например, учетные записи могут быть такими: DOMAIN\TFSSERVICE и DOMAIN\TFSREPORTS.

Развертывание на одном сервере

Развертывание на одном сервере - самая простая схема. Она подходит для групп разработки, в которых участвуют до 400 пользователей, или пилотных проектов. В этом случае все компоненты уровня приложений и уровня данных устанавливаются на один сервер и доступ к ним осуществляется из одного домена.
Средства тестирования производительности можно установить на сервере или на одном и более клиентах. На рис. 2.2 показана схема развертывания на одном сервере.

 

Рис. 2.2 - Схема развертывания на одном сервере 

 

 

Развертывание на двух серверах

Схема развертывания на двух серверах используется для больших групп разработки с количеством пользователей до 2000. В этом случае уровень приложений и уровень данных размещаются на разных серверах.


Рис. 2.3 - Схема развертывания на двух серверах


Сервисы сборки TFS можно установить на сервере уровня приложений, но для больших групп рекомендуется настроить один или более специальных серверов сборки. Если в проекте предусмотрено тестирование производительности, средства тестирования (контроллер и агенты) можно развернуть на дополнительных серверах. На рис. 2.3 показана схема развертывания на двух серверах.

Заключение

Архитектура Team Foundation Server включает три уровня: клиентский уровень, уровень приложений и уровень данных.

  • Клиентский уровень содержит клиентские компоненты, такие как Team Explorer, компоненты для интеграции с Microsoft Office и инструменты командной строки.
  • Уровень приложений содержит такие компоненты, как сервисы контроля версий Team Foundation, сервисы для отслеживания рабочих элементов и сервисы сборки.
  • Уровень данных содержит базы данных для хранения данных, необходимых для отслеживания рабочих элементов, контроля версий, сборок проектов и создания отчетов.
TFS поддерживает схемы развертывания на одном и двух серверах. При развертывании на одном сервере уровень приложений и уровень данных устанавливаются на одном компьютере. Такое развертывание применяется для небольших групп или при выполнении пилотных проектов. При развертывании на двух серверах уровни приложений и данных располагаются на разных серверах. Такая схема развертывания уместна для больших групп, когда требуется обеспечить работу большого числа пользователей.

Дополнительные источники

 

1TFS построен в виде набора инструментальных средств (контроль версий, отслеживание элементов работы и т.п.), которые взаимодействуют между собой посредством связей и событий. (прим. научного редактора)

2Использующих данные нескольких инструментальных средств (прим. научного редактора)

3В TFS 2008 это ограничение снято (прим. научного редактора)



15.12.2008

Комментарии

Добавить комментарий (анонимные комментарии не публикуются!!!)

ФИО: 
E-mail: 
Тема: 
Комментарий: 
Оценка:   
 
 
 
 
 
Код подтверждения:
   

Новости СМ-Консалт

Мастер-класс для тренеров и руководителей "Работа в аудитории". 1 ступень уже в марте

Обновлено расписание тренингов до марта 2017 года

Бесплатный вебинар 14 декабря в 14 00 по Мск - «Секреты управления ИТ-командой: 10 важных практик, которые сделают команду эффективной»

Новые статьи в библиотеке

Примеры отраслевых решений на основе BIPULSE

Практика реализации модуля интеграции для Rational Software Architect, позволяющего преобразовывать низкоуровневое представление процесса из IBM Rational ClearQuest в UML

Что удивляет в русских менеджерах иностранцев

Разработка ПО с использованием лучших мировых практик и инструментов на Иркутском авиационном заводе

Презентация доклада для IT Global Meetup Санкт-Петербург: "Почему Agile так популярен? Взгляд циника и психолога"

Отчет, презентация и видео доклада для Октябрьской встречи Петербургского клуба менеджеров проектов в IT - SPM Meetup #36

Заказчики и истории успеха

Наши тренинги, семинары, курсы

Дружите с нами на FaceBook

Проверить настройки
Компания
Сделано в СМ-Консалт
Услуги 
Компетенция
  • CMC-TotalTest (скоро)
    уникальная разработка автоматизации функционального тестирования. Альтернатива HP UFT, IBM RFT и Microsoft!
  • CMC-Bisquiter
    автоматизированное тестирование АБС "Бисквит"
  • CMC-Formater
    тестирование печатных и экранных форм
  • CMC-TerminalTest
    тестирование терминальных приложений
  • ProjectTracker
    интеграция ALM и MS Project
  • GanttChart
    модуль управления проектами для IBM Rational ClearQuest и TeamConcert
    Все разработки СМ-Консалт >
  • ИТ-консалтинг
  • Автоматизированное тестирование
  • Ручное тестирование
  • Аутсорсинг тестирования
  • Оптимизация бизнес-процессов
  • Внедрение методологии и инструментов ALM
  • Обучение и коучинг
  • Разработка ПО
  • Интеграция
ООО СМ-Консалт (СМК), 2004-2016.
Карта сайта