TFS是Team Fundation Server的简称,是微软VSTS的一部分,它是Microsoft应用程序生命周期管理(ALM)工具的核心协作平台,简单的说它是管理和开发软件项目的整个生命周期的平台工具。

  TFS的分为客户端层、应用层、数据层。

  他们的数据模型流转如下图:

   

    客户端层分为架构师客户端、开发人员客户端、测试人员客户端等。

  应用层分为:版本控制、团队生成、团队站点(SharePoint)、工作项跟踪、团队报告(Sql Server Reporting Service)、项目管理、TFS API接口(Web Service)。

  数据层:配置数据库、仓库数据库、分析数据库、团队项目集合数据库

  TFS的本地部署的 Web 服务、应用程序和数据库的概要视图如下:

  

  

  

  网络端口和协议图如下:

  

  部署的网络通讯图如下:

  

  TFS中的主要概念如下:

  应用层、数据层、客户端层:组成TFS的逻辑层,这些层可以在同一台计算机上,也可以在多态计算机上。

  团队项目集合:TFS所有数据的主要组织单位,它可以包含一个或者多个团队项目

  团队项目:团队用于共享开发软件的团队活动的中心区域。

  TFS管理控制台:TFS管理员集中管理工具,可以通过它管理用户和权限、团队项目集合、添加和管理SharePoint 团队网站、创建和管理虚拟机实验室以及检查服务器状态。

  SharePoint:基于Web的团队门户管理。

  Sql Server和SQL Server Reporting Services:TFS的配置、团队流程的保存区域、数据中心和团队报告数据。

  工作项:所有需要做的事情。

TFS二次开发系列:一、TFS体系结构和概念的更多相关文章

  1. TFS二次开发系列索引

    TFS二次开发11——标签(Label) TFS二次开发10——分组(Group)和成员(Member) TFS二次开发09——查看文件历史(QueryHistory) TFS二次开发08——分支(B ...

  2. TFS二次开发系列:三、TFS二次开发的第一个实例

    首先我们需要认识TFS二次开发的两大获取服务对象的类. 他们分别为TfsConfigurationServer和TfsTeamProjectCollection,他们的不同点在于可以获取不同的TFS ...

  3. TFS二次开发系列:七、TFS二次开发的数据统计以PBI、Bug、Sprint等为例(一)

    在TFS二次开发中,我们可能会根据某一些情况对各个项目的PBI.BUG等工作项进行统计.在本文中将大略讲解如果进行这些数据统计. 一:连接TFS服务器,并且得到之后需要使用到的类方法. /// < ...

  4. TFS二次开发02——连接TFS

    在上一篇<TFS二次开发01——TeamProjectsPicher>介绍了  TeamProjectsPicher 对象,使用该对象可以很简单的实现连接TFS. 但是如果我们要实现自定义 ...

  5. TFS二次开发系列:二、TFS的安装

    本系列的实例将采用TFS 2012+Sql Server2012编写. TFS的完整版本安装最好是在Windows server2008 64位以上版本中,其包括64位的SQL SERVER 2012 ...

  6. TFS二次开发系列:五、工作项查询

    本节将讲述如何查询工作项,用于二次开发中定义获取工作项列表. 使用WorkItemStore.Query方法进行查询工作项,其使用的语法和SQL语法类似: Select [标题] from worki ...

  7. TFS二次开发系列:四、TFS二次开发WorkItem添加和修改、保存

    WorkItemStore:表示跟踪与运行 Team Foundation Server的服务器的工作项客户端连接. A.添加工作项 1.首先获得某服务器的WorkItemStore. WorkIte ...

  8. TFS二次开发系列:八、TFS二次开发的数据统计以PBI、Bug、Sprint等为例(二)

    上一篇文章我们编写了此例的DTO层,本文将数据访问层封装为逻辑层,提供给界面使用. 1.获取TFS Dto实例,并且可以获取项目集合,以及单独获取某个项目实体 public static TFSSer ...

  9. TFS二次开发系列:六、TFS的版本控制

    在TFS中对于版本控制是在WorkSpace工作区来控制的. 首先我们先整理WorkSpace的一些基本使用方法. CheckIn:迁入挂起的操作 CreateMapping:创建一个本地映射地址 D ...

随机推荐

  1. [转]extjs render 用法介绍

    renderer可以格式化该列显示的数据格式或者按照你自定义的脚本显示最终数据样子,个人是这么理解,如果你不是可以看下本文 复制代码 代码如下: var cm = new Ext.grid.Colum ...

  2. mac下 tomcat8+jdk1.8+servlet+Spring环境搭建中的问题

    1,jdk1.8里面自带了servlet-api.jar tomcat里面也有这个,会导致冲突发生.出现这个问题会在控制台输出一大堆警告和错误,我一个一个去查(有的错误是表象不是核心)最后在stack ...

  3. windows 下 新建 点开头的文件和文件夹

    新建 .aaa文件夹 cmd:$ mkdir .aaa 新建 .aaa文件夹 echo " >> .aaa

  4. js 时间操作和随机数操作

    function Data() { var date = new Date(); var year = date.getFullYear(); ; var strDate = date.getDate ...

  5. [Android]Volley源码分析(五)

    前面几篇通过源码分析了Volley是怎样进行请求调度及请求是如何被实际执行的,这篇最后来看下请求结果是如何交付给请求者的(一般是Android的UI主线程). 类图:

  6. 各种HTTP状态的含义

    在网站建设的实际应用中,容易出现很多小小的失误,就像MySQL当初优化不到位,影响整体网站的浏览效果一样,其实,网站的常规http状态码的表现也是一样,Google无法验证网站几种解决办法,提及到由于 ...

  7. Arcgis 10.1安装

    来源http://download.csdn.net/detail/l_j_kin/7310665#comment 测试有效,存着备用,转过来不自己写了 安装desktop 打开“注册机”,功能选择a ...

  8. IO

    文件过滤 http://codego.net/9245/ C# 文件处理 http://wenku.baidu.com/link?url=yXKiIA_OZYR4MIynDgz-qhOnfJoCyOQ ...

  9. Python之路【第十七篇】Django进阶篇

    规范 确立规范的好处: 代码可读性高 方便代码的定位极其查找 为以后代码扩容带来便利 场景: 在多个APP的场景下,单个app的URL函数功能较多的时候,我们可以通过以下方法来解决. 把Views写成 ...

  10. panel的展开,关闭的一种应用。

    js: <script type="text/javascript"> $('#p2').panel({ title: 'panel1', closable: fals ...