Team Foundation Server 体系结构

更新:2010 年 6 月

若要分析和计划 Visual Studio Team Foundation Server 的最佳部署以满足业务需求,必须考虑以下各方面:

  • Team Foundation 的逻辑应用层、数据层和客户端层

  • 承载这些层的物理服务器的位置

  • 将在您的环境中运行的 Team Foundation Build 和生成计算机。

  • Team Foundation Server Proxy

此外,还必须考虑这些实体之间的交互。 您必须知道使用哪些 Web 服务、数据库和对象模型。 而且,您还必须了解默认情况下使用哪些网络端口和协议,以及可以自定义哪些网络端口。 最后,您必须了解在 Team Foundation Server 中必须设置的权限以及您的部署所依赖的组件和程序。

除了其本身的服务之外,Team Foundation Server 还需依靠其他服务才能运行。 有关更多信息,请参见Team Foundation Server 概念Team Foundation 数据仓库组件。 有关安装的要求和依赖关系的更多信息,请参见安装 Team Foundation 组件

对象模型

可通过编写基于服务器或客户端对象模型的应用程序来扩展 Team Foundation 的特性和功能。 如果希望扩展服务器功能,您的应用程序必须在应用层服务器上运行。 如果希望扩展客户端功能,您的应用程序必须在团队资源管理器所在的同一计算机上运行。

Team Foundation 的对象模型

有关更多信息,请参见Extending Team Foundation

Web 服务和数据库

Team Foundation Server 包含一组 Web 服务和数据库,它们将单独安装和配置在承载 Team Foundation 的逻辑应用层、数据层和客户端层的一台或多台服务器上。 下图提供了 Web 服务、应用程序和数据库的概要视图。

服务器体系结构示意图TFS 中使用的其他服务器客户端体系结构示意图

集合级别服务

集合级别服务为团队项目集合级别的操作提供功能。 可以使用其中的一些服务来创建扩展 Team Foundation Server 的应用程序。 有关更多信息,请参见Extending Team Foundation

  • Team Foundation Framework 服务

    • 注册表服务

    • 注册服务(用于与 Team Foundation Server 的早期版本兼容)

    • 属性服务

    • 事件服务

    • 安全性服务

    • 位置服务

    • 标识管理服务

  • 版本控制 Web 服务

  • 工作项跟踪 Web 服务

  • Team Foundation Build Web 服务

  • Lab Management Web 服务

  • VMM Administration Web 服务

  • 测试代理控制器 Web 服务

服务器级别服务

服务器级别服务(也称为应用程序级别服务)作为软件应用程序为 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)

  • Analysis Services 数据库 (TFS_Analysis)

  • 团队项目集合的数据库(TFS_集合名称)

下表列出了 Team Foundation Server 使用的数据库以及存储这些数据库的位置的列表。除非另有说明,否则您可以将此列表中的所有数据库从在其中安装和配置它们的原始服务器移到其他服务器。

数据库名称和说明

服务器

TFS_Configuration,此数据库存储 Team Foundation Server 的资源和配置信息的目录。 此数据库包含 Team Foundation Server 的操作存储区。

在首次安装和配置 Team Foundation Server 时使用的 SQL Server 实例

TFS_Warehouse,此数据库存储报表的数据。

在首次安装和配置 Team Foundation Server 时使用的 SQL Server 实例

TFS_Analysis,此多维数据库存储团队项目集合的聚合数据。

在首次安装和配置 Team Foundation Server 时使用的 SQL Server 实例

团队项目集合的数据库,每个团队项目集合都有自己的数据库,其中存储着该集合所有团队项目的数据。

与 Team Foundation Server 兼容的 SQL Server 实例。

客户端层

客户端层使用为应用层列出的 Web 服务与该层进行通信。 它们通过 Team Foundation Server 对象模型进行通信。 除了该模型之外,客户端层还包括 Visual Studio 行业合作伙伴 (VSIP) 组件、Microsoft Office 集成、命令行接口及签入策略框架。

配置信息

Team Foundation Server 依赖于 SQL Server、Internet 信息服务 (IIS) 和 Windows 操作系统。 根据部署的不同,Team Foundation Server 可能还依赖于 SQL Server Reporting Services 或 SharePoint 产品。 因此,Team Foundation Server 的配置信息可存储在下列任意位置:

  • IIS 数据存储区

  • Team Foundation Server 的配置文件

  • Reporting Services 的数据源(例如,TFSREPORTS 数据)

  • Team Foundation Server 的配置数据库

  • Windows 注册表

在维护 Team Foundation Server 部署时,必须考虑这些配置源。 若要以任意方式更改配置,可能需要修改存储在多个位置中的信息。 此外,还可能需要更改数据层和客户端层的配置信息。Team Foundation Server 包括一个管理控制台和多个命令行实用工具,可帮助您进行这些更改。 不过,有些配置更改可能需要您手动进行一些调整。

同步 Active Directory 与 Team Foundation Server 之间的组标识

对于在 Active Directory 域中运行 Team Foundation Server 的部署,当发生以下任意事件时,均会同步组和标识信息:

  • Team Foundation 的应用层服务器启动。

  • 在 Team Foundation Server 中向组添加 Active Directory 组。

  • 超过计划作业中指定的时间段。 (默认值为一小时,Team Foundation Server 中的所有组每 24 小时更新一次。)

标识管理服务 (IMS) 与 Active Directory 同步,并且更改的标识会从服务器传播到客户端。 根据作业服务的同步计划的不同,更改可能不会立即反映在 Team Foundation Server 中。默认情况下,将在 24 小时内更新所有组,但您可以自定义此设置以更加适合部署的需求。

组和权限

Team Foundation Server 有自己的默认组和权限,可在项目、集合或服务器级别对它们进行设置。 您可以创建自定义组,并在组和各个级别自定义权限。 不过,添加到 Team Foundation Server 的用户或组不会自动添加到 Team Foundation Server 可依赖的两个组件:SharePoint 产品和 Reporting Services。 如果部署使用这些程序,您必须将用户和组添加到这些程序中并向其授予适当的权限,这些用户或组才能在 Team Foundation Server 中正常执行所有操作。 有关更多信息,请参见向团队项目中添加用户配置用户、组和权限管理权限SharePoint 产品中的角色SQL Server Reporting Services 角色

网络端口和协议

默认情况下,Team Foundation Server 配置为使用特定的网络端口和协议。 下图演示简单部署中的 Team Foundation Server 网络通信。

端口和通信简单关系图

下图演示更加复杂的部署中的网络通信,该部署包含 Visual Studio 实验室管理工具版的组件。

端口和通信复杂关系图第 1 部分端口和通信复杂关系图第 3 部分端口和通信复杂关系图第 2 部分

默认网络设置

默认情况下,Team Foundation 部署中计算机之间的通信使用下表中的协议和端口。如果端口号后跟星号 (*),则可以自定义该端口。

层和服务

协议

端口

应用层 - Web 服务

HTTP/HTTPS

8080/443*

应用层 – Windows SharePoint Services 管理

HTTP

17012*(如果随 Team Foundation Server 一起安装);否则将随机生成

应用层 – Windows SharePoint Services 和 Reporting Services

HTTP

Windows Management Instrumentation (WMI) 服务(安装过程中需要使用该服务指定和验证 Reporting Services 的 URL)

80*

动态端口

生成计算机 - 从应用层服务器远程访问

HTTP 上的 SOAP

9191*

数据层

MS-SQL TCP

1433*

Team Foundation Server 代理 - 客户端到代理

HTTP

8081*

Team Foundation Server 代理 - 代理到应用层

HTTP/HTTPS

8080/443*

客户端层 - Reporting Services

HTTP

80*

客户端层 - Web 服务

HTTP/HTTPS

8080/443*

应用层到生成控制器

HTTP 上的 SOAP

9191*

应用层到生成代理

HTTP 上的 SOAP

9191*

生成控制器到应用层

HTTP/HTTPS

8080/443

生成代理到应用层

HTTP/HTTPS

8080/443

测试控制器到应用层

HTTP/HTTPS

8080/443*

应用层到测试控制器

.NET 远程处理

6901*

应用层到域名系统 (DNS)

DNS 动态更新

应用层 – Virtual Machine Manager

HTTP

8100

测试控制器到测试代理

.NET 远程处理

6910*

测试代理到测试控制器

.NET 远程处理

6901*

生成控制器到生成代理

HTTP 上的 SOAP

9191

隔离环境中的实验室代理到实验室代理

TCP 套接字

9050

生成代理到生成控制器

HTTP 上的 SOAP

9191

Virtual Machine Manager 管理员控制台 – Virtual Machine Manager

HTTP

8100

Virtual Machine Manager– Virtual Machine Manager 主机

Windows 远程管理 (WinRM),用于执行操作

后台智能传输服务 (BITS),用于传输数据

80,用于执行操作

443,用于传输数据

Virtual Machine Manager– Virtual Machine Manager 库服务器

WinRM,用于执行操作

BITS,用于传输数据

80,用于执行操作

443,用于传输数据

应用层 – Virtual Machine Manager 主机

分布式组件对象模型/Windows Management Interface (DCOM/WMI) 通信,用于传输数据

135

49152 至 65535 范围内的动态端口。

客户端层 – Virtual Machine Manager 主机

与虚拟机之间的基于主机的连接。 有关基于主机的连接的更多信息,请参见如何:连接到虚拟环境

2179,用于执行基于主机的连接。

可自定义的网络设置

如上表所示,通过将 Team Foundation Server 修改为使用自定义端口可更改应用层、数据层和客户端层之间的通信。 下表介绍一些从 HTTP 到 HTTPS 的端口更改示例。

提示

若要将 Team Foundation Server 配置为使用 HTTPS 和安全套接字层,不仅要为 HTTPS 网络通信启用端口,还要执行许多其他任务。

服务

协议

端口

使用 SSL 的 Web 服务

HTTPS

由管理员配置

SharePoint 管理中心

HTTPS

由管理员配置

SharePoint 产品

HTTPS

443

Reporting Services

HTTPS

443

客户端 Web 服务

HTTPS

由管理员配置

请参见

概念

Team Foundation Server 概念

Team Foundation Server 权限

其他资源

Team Foundation 数据仓库组件

修订记录

日期

修订记录

原因

2010 年 6 月

添加了有关实验室管理工具版的默认网络端口的信息。

客户反馈