Архитектура 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 можно написать приложение, основанное на серверной или клиентской объектной модели этой системы. Если необходимо расширить возможности серверов, приложение должно выполняться на сервере уровня приложений. Если необходимо расширить возможности клиентов, приложение должно выполняться на одном компьютере с обозревателем Сред. Командный обозреватель.
Дополнительные сведения см. в разделе Extending Team Foundation.
Веб-службы и базы данных
Team Foundation Server включает набор веб-служб и баз данных, устанавливаемых и настраиваемых отдельно на сервере или серверах, на которых размещены логические уровни приложений, данных и пользовательский уровень Team Foundation. На следующих рисунках показано высокоуровневое представление веб-служб, приложений и баз данных.
Службы уровня коллекции
Службы уровня коллекции предоставляют функциональность для операций на уровне коллекций командных проектов. С помощью некоторых из этих служб можно создавать приложения, которые расширяют возможности 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.
Сетевые параметры по умолчанию
По умолчанию при взаимодействии компьютеров, включенных в развертывание системы 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. |
Обратная связь от клиента. |