Поделиться через


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

При планировании развертывания Visual Studio Team Foundation Server, вы должны учесть в соответствии с нуждами вашего бизнеса следующие аспекты:

  • логические уровни приложений, данных и клиентский уровень Team Foundation;

  • расположение физических серверов, на которых размещены эти уровни;

  • Team Foundation Build и компьютеры построения, на которых будет выполняться среда;

  • Прокси-сервер Team Foundation Server

Кроме того, нужно учесть взаимодействие этих сущностей. Нужно знать, какие используются веб-службы, базы данных и объектные модели. Кроме того, нужно знать, какие сетевые порты и протоколы используются по умолчанию, и какие сетевые порты вы можете изменить. И наконец, необходимо определить разрешения, которые следует установить в Team Foundation Server, а также в программах и компонентах, от которых зависит развертывание.

Кроме собственных служб, функционирование Team Foundation Server зависит и от других служб. Дополнительные сведения см. в разделах Общие сведения о Team Foundation Server и Компоненты хранилища данных для Team Foundation. Дополнительные сведения о требованиях установки и ее зависимостях см. в разделе Установка компонентов Team Foundation.

Объектная модель

Для расширения функций и возможностей Team Foundation можно написать приложение, основанное на серверной или клиентской объектной модели этой системы. Если необходимо расширить возможности серверов, приложение должно выполняться на сервере уровня приложений. Если необходимо расширить возможности клиентов, приложение должно выполняться на одном компьютере с обозревателем Сред. Командный обозреватель.

Объектные модели для Team Foundation

Дополнительные сведения см. в разделе Extending Team Foundation.

Веб-службы и базы данных

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

Схема серверной архитектурыДополнительные серверы, используемые в Team Foundation ServerСхема клиентской архитектуры

Службы уровня коллекции

Службы уровня коллекции предоставляют функциональность для операций на уровне коллекций командных проектов. С помощью некоторых из этих служб можно создавать приложения, которые расширяют возможности Team Foundation Server. Дополнительные сведения см. в разделе Extending Team Foundation.

  • Службы Team Foundation Framework

    • Служба реестра

    • Служба регистрации (для обеспечения совместимости с предыдущими версиями Team Foundation Server)

    • Служба свойств

    • Служба событий

    • Служба безопасности

    • Служба расположения

    • Служба управления идентификациями

  • Веб-служба управления версиями

  • Веб-служба отслеживания рабочих элементов

  • Веб служба Team Foundation Build

  • Веб-служба Lab Management

  • Веб-служба администрирования VMM

  • Веб-служба контроллера агентов тестирования

Службы уровня сервера

Службы уровня сервера (которые также называются службами уровня приложений) обеспечивают функции для работы Team Foundation Server как программного приложения. С помощью некоторых из этих служб можно создавать приложения, которые расширяют возможности Team Foundation Server. Дополнительные сведения см. в разделе Extending Team Foundation.

  • Службы Team Foundation Framework

    • Служба реестра

    • Служба событий

    • Служба коллекции командных проектов

    • Служба свойств

    • Служба безопасности

    • Служба расположения

    • Служба управления идентификациями

    • Служба администрирования

    • Служба управления коллекцией

    • Служба каталога

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

Логический уровень данных Team Foundation состоит из операционных хранилищ в SQL Server 2008, перечисленных ниже. Этот уровень включает данные, хранимые процедуры и прочую связанную логику. Можно расположить все операционные хранилища на одном физическом сервере или распределить их между несколькими серверами. С помощью некоторых из этих операционных хранилищ можно создавать приложения, которые расширяют возможности Team Foundation Server. Дополнительные сведения см. в разделе Extending Team Foundation.

  • База данных конфигурации (TFS_Configuration)

  • Хранилище приложений (TFS_Warehouse)

  • База данных служб аналитики (TFS_Analysis)

  • Базы данных коллекций командных проектов (TFS_имя_коллекции)

В следующей таблице перечислены базы данных, используемые сервером Team Foundation Server, и места их хранения. Если не указано иное, все базы данных можно переместить с первоначального сервера, на котором они были установлены и настроены, на другой сервер.

Имя и описание базы данных

Server

TFS_Configuration — эта база данных хранит каталог ресурсов и сведения о конфигурации для Team Foundation Server. В ней находятся оперативные хранилища Team Foundation Server.

Экземпляр SQL Server, который используется при первоначальной установке и конфигурации Team Foundation Server.

TFS_Warehouse — эта база данных хранит данные для отчетов..

Экземпляр SQL Server, который используется при первоначальной установке и конфигурации Team Foundation Server.

TFS_Analysis — эта многомерная база данных хранит объединенные данные из коллекций командных проектов.

Экземпляр SQL Server, который используется при первоначальной установке и конфигурации Team Foundation Server.

Базы данных коллекций командных проектов — каждая коллекция командных проектов обладает собственной базой данных, в которой хранятся данные всех командных проектов коллекции.

Экземпляр SQL Server, совместимый с Team Foundation Server.

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

Клиентский уровень использует те же веб-службы, которые перечислены для уровня приложений, для взаимодействия с уровнем приложений. Взаимодействие осуществляется через объектную модель Team Foundation Server. Кроме объектной модели, клиентский уровень включает компоненты отраслевых партнеров Visual Studio (VSIP), интеграцию с Microsoft Office, интерфейсы командной строки, а также инфраструктуру политик возврата.

Информация о конфигурации

Team Foundation Server зависит от SQL Server, Internet Information Services (IIS) и операционной системы Windows. В зависимости от развертывания, Team Foundation Server может также зависеть от служб отчетов SQL Server или от Продукты SharePoint. Следовательно, информация о конфигурации Team Foundation Server может находиться в любом из следующих хранилищ:

  • хранилища данных IIS;

  • файлы конфигурации Team Foundation Server;

  • источники данных для служб отчетов (например, данные TFSREPORTS);

  • базы данных конфигурации Team Foundation Server;

  • реестр Windows.

При развертывании Team Foundation Server вы должны учитывать эти источники конфигурационных данных. При каком-либо изменении конфигурации может потребоваться внести изменения в данные, хранящиеся в нескольких местах на уровне приложений. Также может быть необходимо внести изменения в конфигурационную информацию для уровня данных и клиентского уровня. Team Foundation Server включает консоль администратора и несколько служебных программ командной строки, которые помогут осуществить эти изменения. Однако некоторые изменения конфигурации могут потребовать ручной корректировки.

Синхронизация удостоверений групп между Active Directory и Team Foundation Server

В конфигурациях, когда Team Foundation Server запущен в домене Active Directory, информация о группах и учетных записях синхронизируется при возникновении следующих событий:

  • Запускается сервер уровня приложений для Team Foundation.

  • Группа Active Directory добавляется в группу в Team Foundation Server.

  • Истекает промежуток времени, который указан для запланированного задания. (По умолчанию это один час. Кроме того, все группы Team Foundation Server обновляются каждые 24 часа.)

Службы управления идентификациями (IMS) синхронизируются с Active Directory; изменившиеся идентификации передаются с сервера клиентам. В зависимости от расписания синхронизации службы заданий, изменения могут отражаться на сервере Team Foundation Server с некоторой задержкой. По умолчанию все группы обновляются в течение 24 часов, но этот параметр можно изменить в соответствии с требованиями развернутой системы.

Группы и разрешения

В Team Foundation Server есть собственный набор групп по умолчанию и прав, которые можно задать на уровне проекта, коллекции или сервера. Вы можете создавать собственные группы и настраивать разрешения на уровне групп и индивидуальных пользователей. Однако пользователи или группы, которые вы добавляете в Team Foundation Server, не добавляются автоматически в те два компонента, от которых может зависеть Team Foundation Server: в Продукты SharePoint и службы отчетов. Если при развертывании используются эти программы, в них необходимо добавить пользователей и группы и предоставить им соответствующие разрешения, чтобы разрешения для данных пользователей и групп правильно работали во всех операциях Team Foundation Server. Дополнительные сведения см. в разделах Добавление пользователей в командные проекты, Настройка пользователей, групп и разрешений, Управление разрешениями, Роли в продуктах SharePoint и Роли служб отчетов SQL Server.

Сетевые порты и протоколы

По умолчанию система Team Foundation Server настроена на использование определенных сетевых портов и протоколов. На следующей иллюстрации показан сетевой трафик Team Foundation Server в простой конфигурации.

Простая схема портов и коммуникаций

На следующей иллюстрации показан сетевой трафик в более сложной конфигурации, которая включает компоненты Visual Studio Lab Management.

Сложная схема портов и коммуникаций, часть 1Сложная схема портов и коммуникаций, часть 3Сложная схема портов и коммуникаций, часть 2

Сетевые параметры по умолчанию

По умолчанию при взаимодействии компьютеров, включенных в развертывание системы Team Foundation, используются протоколы и порты, указанные в следующей таблице. Если рядом с номером порта указана звездочка (*), этот порт можно изменить.

Уровень и служба

Протокол

Port

Уровень приложений — Веб-службы

HTTP/HTTPS

8080/443*

Уровень приложений — администрирование Windows SharePoint Services

HTTP

17012* (если служба была установлена с Team Foundation Server; в противном случае генерируется случайно)

Уровень приложений — Windows SharePoint Services и службы отчетов

HTTP

Служба инструментария управления Windows (WMI) (требуется во время установки для указания и проверки URL-адресов для служб отчетов)

80*

Динамический порт

Компьютер, на котором выполняется построение — удаленный доступ с сервера уровня приложений

SOAP поверх HTTP

9191*

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

MS-SQL TCP

1433*

Прокси Team Foundation Server — соединение клиента с прокси

HTTP

8081*

Прокси Team Foundation Server — соединение прокси с уровнем приложений

HTTP/HTTPS

8080/443*

Клиентский уровень — службы отчетов

HTTP

80*

Клиентский уровень — веб-службы

HTTP/HTTPS

8080/443*

Уровень приложений — контроллер построений

SOAP поверх HTTP

9191*

Уровень приложений — агент построения

SOAP поверх HTTP

9191*

Контроллер построений — уровень приложений

HTTP/HTTPS

8080/443

Агент построения — уровень приложений

HTTP/HTTPS

8080/443

Контроллер тестирования — уровень приложений

HTTP/HTTPS

8080/443*

Уровень приложений — контроллер тестирования

Удаленное взаимодействие .NET

6901*

Уровень приложений — служба доменных имен (DNS)

Динамическое обновление DNS

Уровень приложений — диспетчер виртуальных машин

HTTP

8100

Контроллер тестирования — агент тестирования

Удаленное взаимодействие .NET

6910*

Агент тестирования — контроллер тестирования

Удаленное взаимодействие .NET

6901*

Контроллер построений — агент построения

SOAP поверх HTTP

9191

Агент лаборатории — агент лаборатории в изолированной среде

Сокеты TCP

9050

Агент построения — контроллер построений

SOAP поверх HTTP

9191

Консоль администрирования диспетчера виртуальных машин — диспетчер виртуальных машин

HTTP

8100

Диспетчеры виртуальных машин — узлы диспетчера виртуальных машин

Удаленное управление Windows (WinRM) для выполнения действий

Фоновая интеллектуальная служба передачи (BITS) для передачи данных

80 для выполнения действий

443 для передачи данных

Диспетчер виртуальных машин — сервер библиотеки диспетчера виртуальных машин

WinRM для выполнения действий

Служба BITS для передачи данных

80 для выполнения действий

443 для передачи данных

Уровень приложений — узлы диспетчера виртуальных машин

Взаимодействие DCOM/WMI для передачи данных

135

Динамические порты в диапазоне 49152–65535.

Клиентский уровень — узлы диспетчера виртуальных машин

Размещенное подключение к виртуальной машине. Дополнительные сведения о размещенных подключениях см. в разделе Практическое руководство. Подключение к виртуальной среде.

2179 для выполнения размещенных подключений.

Изменяемые сетевые параметры

Как показано в предыдущей таблице, меняя настройки Team Foundation Server, можно изменять порты взаимодействия уровней приложений, данных и клиентского уровня. В следующей таблице показаны примеры изменений портов для перехода от использования протокола HTTP к HTTPS.

Примечание

Чтобы настроить Team Foundation Server для использования HTTPS и протокола SSL, нужно не только открыть порты для сетевого трафика HTTPS, но также выполнить много других задач.

Служба

Протокол

Port

Веб-службы, использующие SSL

HTTPS

Настраивается администратором

Центр администрирования SharePoint

HTTPS

Настраивается администратором

Продукты SharePoint

HTTPS

443

Службы отчетов

HTTPS

443

Клиентские веб-службы

HTTPS

Настраивается администратором

См. также

Основные понятия

Общие сведения о Team Foundation Server

Разрешения Team Foundation Server

Другие ресурсы

Компоненты хранилища данных для Team Foundation

Журнал изменений

Дата

Журнал

Причина

Июнь 2010

Добавлены сведения о сетевых портах по умолчанию для Lab Management.

Обратная связь от клиента.