Team Foundation Server: Under the Hood


To evaluate and plan for the optimum deployment of Team Foundation Server to meet your business needs, you needto consider below:

You need to think through the relations between these objects. You need to know what Web services, db, and object models are used. Also, you need to figure out which network ports and protocols are used by default and which nic ports you can customize. Finally, you must understand what permissions you must set in TFS and the components and programs on which your deployment depends.

You can extend the structures and functionality of Team Foundation by writing an application that is based on its server or client object orientated model. If you need to extend the server abilities, your application must run on the application-tier server. If you need to extend the client abilities, your application must ride on the same computer as Team Explorer.

Flow chart from MS
MS Flow Chart

 

 

TFScontains a set of Web services and dbs that you deploy and configure distinctly on the server or servers that host the logical application, data, client tiers for Team Foundation. Below is a high-level view of all those components provided by MS.

MS High-Level View

 


Collection level services in TFS offer the functionality for processes at the level of the team project pool. You can generate applications that extend TFS by using some of these services.

The logical data tier for Team Foundation contains of the subsequent operational stores within SQL 2008. This tier includes data, stored procedures, other associated logic. These working stores may be stored all on one physical server or dispersed across many servers out the world. You can create applications that extend Team Foundation Server by using some of these operational stores.

The subsequent table from MS shows a list of the dbs that TFS uses and where they are located.

MS dbs that uses TFS

 

TFS depends on SQL Server, Internet Information Services (IIS), and the OS. Depending on your environment, Team Foundation Server might also depend on SQL SRS or SharePoint portal. Hence, structure information for Team Foundation Server can be kept in any of the following places:

As you sustain a deployment of Team Foundation Server, you need to take these configuration sources into account. To make changes to the configuration, you might need to make changes in different places. You might also want to change configuration information for the client and data tiers. Team Foundation Server provides an administration console and several CLI to help you make these changes.

 

Permissions in Team Foundation Server

TFS has its own set of groups and permissions that you can set at the project, collection, and server level. You may create custom groups and customize permissions at individual levels to fit your needs. Users or groups that you add to Team Foundation Server are not automatically added too two components on which Team Foundation Server can depend on: SharePoint Products, Reporting Services. If your placement uses these programs, you needto add users and groups to them and award the appropriate permissions prior those users or groups will function correctly through all operations in Team Foundation Server.

Team Foundation Server Port Requirements

Tier and service

Protocol

Port

Application tier – Web Services

HTTP/HTTPS

8080/443*

Application tier – Windows SharePoint Services Administration

HTTP

17012* (if it was installed with Team Foundation Server); otherwise randomly generated

Application tier – Windows SharePoint Services and Reporting Services

HTTP

Windows Management Instrumentation (WMI) service (required during installation to specify and verify the URLs for reporting services)

80*

Dynamic port

Build computer – remote access from application-tier server

SOAP over HTTP

9191*

Data tier

MS-SQL TCP

1433*

Team Foundation Server Proxy - client to proxy

HTTP

8081*

Team Foundation Server Proxy - proxy to application tier

HTTP/HTTPS

8080/443*

Client tier - Reporting Services

HTTP

80*

Client tier - Web services

HTTP/HTTPS

8080/443*

Application tier to build controller

SOAP over HTTP

9191*

Application tier to build agent

SOAP over HTTP

9191*

Build controller to application tier

HTTP/HTTPS

8080/443

Build agent to application tier

HTTP/HTTPS

8080/443

Test controller to application tier

HTTP/HTTPS

8080/443*

Application tier to test controller

.NET remoting

6901*

Application tier to Domain Name System (DNS)

DNS Dynamic Update

Application tier – Virtual Machine Manager

HTTP

8100

Test controller to test agent

.NET remoting

6910*

Test agent to test controller

.NET remoting

6901*

Build controller to build agent

SOAP over HTTP

9191

Lab agent to lab agent in an isolated environment

TCP sockets

9050

Build agent to build controller

SOAP over HTTP

9191

Virtual Machine Manager Administrator Console – Virtual Machine Manager

HTTP

8100

Virtual Machine Manager– Virtual Machine Manager hosts

Windows Remote Management (WinRM) to perform actions

Background Intelligent Transfer Service (BITS) to transfer data

80 to perform actions

443 to transfer data

Virtual Machine Manager– Virtual Machine Manager library server

WinRM to perform actions

BITS to transfer data

80 to perform actions

443 to transfer data

Application tier – Virtual Machine Manager hosts

Distributed Component Object Model/Windows Management Interface (DCOM/WMI) communication to transfer data

135

Dynamic ports in the range 49152 to 65535.

Client tier – Virtual Machine Manager hosts

Host-based connection to the virtual machine. For more information about host-based connections, see How to: Connect to a Virtual Environment.

2179 to perform host-based connections.