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 的特性和功能。 如果希望扩展服务器功能,您的应用程序必须在应用层服务器上运行。 如果希望扩展客户端功能,您的应用程序必须在团队资源管理器所在的同一计算机上运行。
有关更多信息,请参见Extending Team Foundation。
Web 服务和数据库
Team Foundation Server 包含一组 Web 服务和数据库,它们将单独安装和配置在承载 Team Foundation 的逻辑应用层、数据层和客户端层的一台或多台服务器上。 下图提供了 Web 服务、应用程序和数据库的概要视图。
集合级别服务
集合级别服务为团队项目集合级别的操作提供功能。 可以使用其中的一些服务来创建扩展 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 实验室管理工具版的组件。
默认网络设置
默认情况下,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 |
由管理员配置 |
请参见
概念
其他资源
修订记录
日期 |
修订记录 |
原因 |
---|---|---|
2010 年 6 月 |
添加了有关实验室管理工具版的默认网络端口的信息。 |
客户反馈 |