【IT168 技术文档】
简介
Visual Studio 2005 Team System 包括 Visual Studio Team Foundation 平台和一套工具。Team Foundation 包括:
<1>工作项跟踪
<2> 项目管理
<3> 源代码管理
<4> 集成服务
Visual Studio 2005 Team System 中的附加工具有:
<1> Architecture and Design
<2> Public Builds
<3> Code Analysis 和 Testing
团队基础 (Team Foundation) 集成服务可以用于将工具集成到 Visual Studio 2005 Team System 之中,方法如下:
<1> Visual Studio Team Foundation 提供了一组服务并定义了一组增强的 API,在无需紧密耦合的情况下允许工具与其他工具集成。例如,Visual Studio Team Foundation 提供通用引用、事件生成与处理,以及分类服务。
<2> 工具能够插入到某些关键的用户界面以供使用,这等同于本地或第三方工具。例如,工具可以用于创建一个新项目或管理员安全。
<3> 工具能够将数据添加到报告仓库之中并在报告中利用这些数据。
除了集成服务之外,Visual Studio 2005 Team System 中的每个工具都可以通过自己的 API 或服务进行扩展。下表列出每种工具的扩展方式。
工具 | 工具的扩展方式 |
Project Management and Work Item Tracking |
自定义工作项类型和工作流的过程指导,以及利用工作项对象模型自动化工作项跟踪。 |
Architecture and Design |
添加远程服务、宿主环境以及针对设计人员的约束,以便提供更丰富、更详细的设计。 |
Source Code Management |
定义新的文件类型和签入策略,并利用源代码管理对象模型使源代码管理活动自动化。 |
Public Builds |
将生成步骤的新类型集成到生成过程中。 |
Code Analysis |
添加批注和规则,以便在静态分析过程中查找更多的缺陷。 |
Testing |
根据新的测试类型扩展测试工具,并在单元测试、生成验证测试和负载测试中使用它们。 |
团队基础
Team Foundation 提供 Visual Studio 2005 Team System 工具之间进行集成的基础,以及工作项跟踪和 Source Code Management 工具。
工具、构件、服务和服务器
Team Foundation 启用的工具是一个在 Team System 中使用的应用程序,这是通过执行一组增强的 API 并将其插入到 Team Foundation 的可扩展用户界面实现的。在某些情况下,工具包括服务器和客户端组件。具有服务器组件的工具提供一个实现服务器端增强 API 的 Web 服务。在客户端,工具通过插入到通用用户界面从而集成到 Team System 中。
Team Foundation 增强 API 提供工具以构件形式管理的信息。每个构件都有一个不可更改的标识,并且表示对于用户有意义的信息单元。Team Foundation Server 集成服务和每个工具的服务器组件都是 Web 服务,它们共同组成一个逻辑上的 Team Foundation Server。Team Foundation Server 可以部署到单个硬件设备上,也可以跨多个设备进行部署以处理较大的负载。
工具注册和发现
每个工具利用 Team Foundation 进行自我注册,并描述工具管理的构件集合、工具支持的链接类型集合以及工具引发的事件集合。工具还能为其内部使用注册属性。
其他工具可以使用注册表来确定工具是否已经安装在 Team Foundation Server 中,以及获得对该工具的访问权限。
构件和链接管理
构件和链接是核心概念,通过这些概念,Visual Studio 2005 Team System 可以提供所有数据和关系(跨 Team Foundation 启用的所有工具)的公用视图。构件(例如,工作项和更改集)是数据。链接是构件之间的关联。
每个工具实现一个包括 API 的 Web 服务,该服务返回有关该工具管理的构件和链接的信息。
事件生成、事件处理和用户通知
工具注册其可引发的事件。其他的工具服务器组件可以订阅这些事件并作出适当的响应。工具可以同步或异步引发事件。工具通常选择异步引发事件,但当工具需要知道响应时除外。例如,如果工具提供事件的否决机制,那么工具应该将订户能够否决的事件声明为一个同步事件。编程模型对于同步事件和异步事件同样有效。
其他工具(例如,Web 服务)能够订阅 Team Foundation 事件,并响应这些事件表示的行为。
引发事件的工具还可以为传递基于那些事件和最终用户的通知提供电子邮件模板。如果用户订阅通知,则每次工具引发该事件时,该用户都会收到基于模板的电子邮件和事件内容。用户可以选择性地请求汇总每天事件的通知。
任何一种订阅(例如,服务器的事件订阅或用户的通知订阅)都可以包括一个筛选器。筛选器指定 Team Foundation 应该处理的事件内容,以便订阅的 Web 服务或用户可以得到需要的目标信息。例如,用户可以订阅一个工作项更改事件并筛选订阅,以便当某人给用户分配工作项时,用户可以接收通知。
组管理和授权
每个工具使用它自己的安全模式,并以适合该工具的方式管理工具的权限。如果每个工具要针对权限分配维护自己的用户组权限,那么维护组和权限的任务可能会成为用户的负担。出于这个原因,Team Foundation 集中管理要跨工具共享的用户组存储。用户只需要使用组的一个单独权限。
Windows 用户和 Windows 组可以加入到 Team Foundation 用户组。
通过注册工具需要安全保证的对象和动作,工具还可以使用授权服务来管理工具的权限。在工具注册这些项后,管理员可以授予和拒绝这些项的权限。然后,工具调用授权服务以确定用户是否有执行特殊操作的权限。
公文包项目
当团队决定使用 Team Foundation 启用的工具时,那么团队就会使用这些工具为生成可发布的软件套件的整个投入来管理数据。这种投入大致符合公文包项目。公文包项目可以包含需求、功能和源代码(包括大量 Visual Studio 项目文件、日程安排、错误、测试等)。
管理员在 Team Foundation 中定义公文包项目,通常,每个工具在任意时间以公文包项目的上下文进行操作。
当管理员创建一个新的公文包项目时,Team Foundation 会通知注册的工具,以便工具能够采取必要的措施来显示新的公文包项目。
公文包资源浏览器
Portfolio Explorer 帮助用户在公文包项目之间浏览并导航到特定于工具的功能。例如,用户可以导航到公文包项目,在那里进行操作,然后导航到报告或工作项。Team Foundation 启用的工具在 Portfolio Explorer 中通常至少显示一个启动点。
报告仓库
Team Foundation 提供一个报告仓库,工具能够向它发送数据。该数据可通过联机分析处理 (OLAP) 随时间变化进行组合和检查。通过从工具的数据存储检索数据,正确转换数据并通过仓库 API 传递数据,每个工具可将数据分配到仓库。从所有工具检索数据并重新处理 OLAP 多维数据集的整个过程,是由一个单独的、简单的托管服务进行管理的。仓库简化报告的创建 — 合并从多个工具检索的数据并按照共享维度汇总它们。