Arquitectura de Team Foundation Server

Para analizar y planear la implementación óptima de Visual Studio Team Foundation Server de modo que se satisfagan las necesidades de su empresa, debe tener en cuenta los aspectos siguientes:

  • Las capas lógicas de aplicación, datos y cliente de Team Foundation

  • La ubicación de los servidores físicos que hospedan esas capas

  • Team Foundation Build y los equipos de compilación que se ejecutarán en el entorno

  • Proxy de Team Foundation Server

Además, debe tener en cuenta las interacciones entre estas entidades. Es necesario saber qué servicios Web, bases de datos y modelos de objetos se utilizan. También debe saber qué puertos y protocolos de red se utilizan de forma predeterminada y qué puertos de red se pueden personalizar. Por último, debe entender qué permisos debe establecer en Team Foundation Server y los componentes y programas de los que depende su implementación.

Además de sus propios servicios, Team Foundation Server depende de otros servicios para funcionar. Para obtener más información, vea Conceptos de Team Foundation Server y Componentes del almacén de datos para Team Foundation. Para obtener más información sobre los requisitos y las dependencias de la instalación, vea Instalación de los componentes de Team Foundation.

Modelo de objetos

Puede extender las características y la funcionalidad de Team Foundation escribiendo una aplicación basada en el modelo de objetos del servidor o del cliente. Si desea extender las capacidades del servidor, su aplicación se debe ejecutar en el servidor de capa de aplicación. Si desea extender las capacidades del cliente, su aplicación se debe ejecutar en el mismo equipo que Team Explorer.

Modelos de objeto para Team Foundation

Para obtener más información, vea Extending Team Foundation.

Servicios Web y bases de datos

Team Foundation Server incluye un conjunto de servicios Web y bases de datos que se instalan y configuran por separado en el servidor o servidores que hospedan las capas lógicas de aplicación, datos y cliente de Team Foundation. En las ilustraciones siguientes se proporciona una descripción general de servicios Web, aplicaciones y bases de datos.

Diagrama de arquitectura de servidorServidores adicionales usados en TFSDiagrama de arquitectura de cliente

Servicios de nivel de colección

Los servicios de nivel de colección proporcionan funcionalidad para las operaciones en el nivel de la colección de proyectos de equipo. Puede crear aplicaciones que extienden Team Foundation Server utilizando algunos de estos servicios. Para obtener más información, vea Extending Team Foundation.

  • Servicios de marco de trabajo de Team Foundation

    • Servicio del Registro

    • Servicio de registro (para que exista compatibilidad con versiones anteriores de Team Foundation Server).

    • Servicio de propiedades

    • Servicio de eventos

    • Servicio de seguridad

    • Servicio de ubicación

    • Servicio de administración de identidades

  • Servicio Web de control de versiones

  • Servicio Web de seguimiento de elementos de trabajo

  • Servicio Web de Team Foundation Build

  • Servicio Web de Lab Management

  • Servicio Web de administración de VMM

  • Servicio Web de controlador del agente de prueba

Servicios de nivel de servidor

Los servicios de nivel de servidor (también denominados servicios de nivel de aplicación) proporcionan funcionalidad para las operaciones de Team Foundation Server como una aplicación de software. Puede crear aplicaciones que extienden Team Foundation Server utilizando algunos de estos servicios. Para obtener más información, vea Extending Team Foundation.

  • Servicios de marco de trabajo de Team Foundation

    • Servicio del Registro

    • Servicio de eventos

    • Servicio de la colección de proyectos de equipo

    • Servicio de propiedades

    • Servicio de seguridad

    • Servicio de ubicación

    • Servicio de administración de identidades

    • Servicio de administración

    • Servicio de administración de colecciones

    • Servicio del catálogo

Capa de datos

La capa lógica de datos para Team Foundation está formada por los siguientes almacenes operativos dentro de SQL Server 2008. Esta capa incluye datos, procedimientos almacenados y otra lógica asociada. Estos almacenes operativos pueden estar almacenados todos en un servidor físico o distribuidos en varios servidores. Puede crear aplicaciones que extienden Team Foundation Server utilizando algunos de estos almacenes operativos. Para obtener más información, vea Extending Team Foundation.

  • Base de datos de configuración (TFS_Configuration)

  • Almacén de la aplicación (TFS_Warehouse)

  • Base de datos de servicios de análisis (TFS_Analysis)

  • Bases de datos para colecciones de proyectos de equipo (TFS_NombreDeColección)

En la tabla siguiente se proporciona una lista de las bases de datos que Team Foundation Server utiliza y dónde se almacenan. A menos que se indique lo contrario, puede mover todas las bases de datos de esta lista del servidor original donde se instalan y configuran a otro servidor.

Nombre y descripción de la base de datos

Servidor

TFS_Configuration Esta base de datos almacena el catálogo de recursos y la información de configuración para Team Foundation Server. Esta base de datos contiene los almacenes operativos para Team Foundation Server.

Instancia de SQL Server que se utiliza cuando Team Foundation Server se instala y configura por primera vez

TFS_Warehouse Esta base de datos almacena los datos para los informes.

Instancia de SQL Server que se utiliza cuando Team Foundation Server se instala y configura por primera vez

TFS_Analysis Esta base de datos multidimensional almacena los datos agregados de las colecciones de proyectos de equipo.

Instancia de SQL Server que se utiliza cuando Team Foundation Server se instala y configura por primera vez

Bases de datos para las colecciones de proyectos de equipo Cada colección de proyectos de equipo tiene su propia base de datos, donde se almacenan los datos para todos los proyectos de equipo de la colección.

Instancia de SQL Server que es compatible con Team Foundation Server.

Nivel de cliente

La capa de cliente utiliza los mismos servicios Web que se enumeran en la capa de aplicación para comunicar con esa capa. La comunicación se realiza a través del modelo de objetos de Team Foundation Server. Además de ese modelo, la capa de cliente está formada por los componentes de Visual Studio Industry Partners (VSIP), la integración con Microsoft Office, las interfaces de línea de comandos y un marco para directivas de protección.

Información de configuración

Team Foundation Server depende de SQL Server, Internet Information Services (IIS) y el sistema operativo Windows. En función de la implementación, Team Foundation Server también puede depender de SQL Server Reporting Services o Productos de SharePoint. Por consiguiente, la información de configuración para Team Foundation Server puede estar almacenada en cualquiera de las siguientes ubicaciones:

  • Almacenes de datos de IIS

  • Archivos de configuración de Team Foundation Server

  • Orígenes de datos de Reporting Services (por ejemplo, datos de TFSREPORTS)

  • Base de datos de configuración de Team Foundation Server

  • Registro de Windows

Cuando se mantiene una implementación de Team Foundation Server, deben tenerse en cuenta estos orígenes de configuración. Para realizar alguna modificación en la configuración, puede que sea necesario modificar información que está almacenada en varias ubicaciones. También es posible que sea necesario cambiar la información de configuración de las capas de datos y de cliente. Team Foundation Server incluye una consola de administración y varias utilidades de línea de comandos que ayudan a realizar estas modificaciones. Sin embargo, algunos cambios de configuración puede que requieran la realización de algunos ajustes manuales.

Sincronización de identidades de grupo entre Active Directory y Team Foundation Server

En implementaciones en las que Team Foundation Server se ejecuta en un dominio de Active Directory, la información de grupos e identidades se sincroniza cuando se produce alguno de los eventos siguientes:

  • Se inicia el servidor de nivel de aplicación de Team Foundation.

  • Un grupo de Active Directory se agrega a un grupo de Team Foundation Server.

  • El período de tiempo que se especifica en el trabajo programado transcurre. (El valor predeterminado es una hora y todos los grupos de Team Foundation Server se actualizan cada 24 horas).

Los Servicios de administración de identidades (IMS) sincronizan con Active Directory y las identidades modificadas se propagan del servidor a los clientes. Dependiendo de la programación de sincronización del servicio de trabajos, puede que los cambios no se reflejen inmediatamente en Team Foundation Server. De forma predeterminada, todos los grupos se actualizan antes de 24 horas, pero puede personalizarlo para satisfacer mejor las necesidades de su implementación.

Grupos y permisos

Team Foundation Server tiene su propio conjunto de grupos y permisos predeterminados que se pueden establecer en el nivel de proyecto, colección o servidor. Puede crear grupos personalizados y personalizar permisos en cada grupo y cada nivel. Sin embargo, los usuarios o grupos que se agregan a Team Foundation Server no se agregan automáticamente a dos componentes de los que Team Foundation Server puede depender: Productos de SharePoint y Reporting Services. Si la implementación usa estos programas, se deben agregar usuarios y grupos a esos programas y conceder los permisos adecuados para que estos usuarios o grupos funcionen correctamente en todas las operaciones de Team Foundation Server. Para obtener más información, vea Agregar usuarios a proyectos de equipo, Configurar usuarios, grupos y permisos, Administrar permisos, Roles en los productos de SharePoint y Roles de SQL Server Reporting Services.

Puertos y protocolos de red

De forma predeterminada, Team Foundation Server está configurado para utilizar puertos y protocolos de red específicos. En la ilustración siguiente se muestra el tráfico de red de Team Foundation Server en una implementación sencilla.

Diagrama simple de comunicaciones y puertos

En la siguiente ilustración se muestra el tráfico de red en una implementación más compleja que incluye los componentes de Visual Studio Lab Management.

Diagrama complejo de comunicaciones y puertos (parte 1)Diagrama complejo de comunicaciones y puertos (parte 3)Diagrama complejo de comunicaciones y puertos (parte 2)

Configuración de la red predeterminada

De forma predeterminada, la comunicación entre los equipos en una implementación de Team Foundation utiliza los protocolos y puertos mostrados en la tabla siguiente. Si hay un asterisco (*) después del número de puerto, puede personalizar ese puerto.

Capa y servicio

Protocolo

Puerto

Nivel de aplicación: servicios Web

HTTP/HTTPS

8080/443*

Capa de aplicación: administración de Windows SharePoint Services

HTTP

17012* (si se instaló con Team Foundation Server); de lo contrario, se genera de forma aleatoria

Capa de aplicación: Windows SharePoint Services y Reporting Services

HTTP

Servicio Instrumental de administración de Windows (WMI) (es necesario durante la instalación para especificar y comprobar las direcciones URL para Reporting Services)

80*

Puerto dinámico

Equipo de compilación: acceso remoto desde el servidor de la capa de aplicación

SOAP a través de HTTP

9191*

Capa de datos

TCP de MS-SQL

1433*

Proxy de Team Foundation Server: cliente a proxy

HTTP

8081*

Proxy de Team Foundation Server: proxy a capa de aplicación

HTTP/HTTPS

8080/443*

Capa de cliente: Reporting Services

HTTP

80*

Nivel de cliente: servicios Web

HTTP/HTTPS

8080/443*

Capa de aplicación a controlador de compilación

SOAP a través de HTTP

9191*

Capa de aplicación a agente de compilación

SOAP a través de HTTP

9191*

Controlador de compilación a capa de aplicación

HTTP/HTTPS

8080/443

Agente de compilación a capa de aplicación

HTTP/HTTPS

8080/443

Controlador de pruebas a capa de aplicación

HTTP/HTTPS

8080/443*

Capa de aplicación a controlador de pruebas

.NET Remoting

6901*

Capa de aplicación a Sistema de nombres de dominio (DNS)

Actualización dinámica de DNS

Capa de aplicación: Virtual Machine Manager

HTTP

8100

Controlador de pruebas a agente de prueba

.NET Remoting

6910*

Agente de prueba a controlador de pruebas

.NET Remoting

6901*

Controlador de compilación a agente de compilación

SOAP a través de HTTP

9191

Agente de laboratorio a agente de laboratorio en un entorno aislado

Sockets TCP

9050

Agente de compilación a controlador de compilación

SOAP a través de HTTP

9191

Consola de administrador de Virtual Machine Manager: Virtual Machine Manager

HTTP

8100

Virtual Machine Manager: hosts de Virtual Machine Manager

Administración remota de Windows (WinRM) para realizar acciones

Servicio de transferencia inteligente en segundo plano (BITS) para transferir datos

80 para realizar acciones

443 para transferir datos

Virtual Machine Manager: servidor de biblioteca de Virtual Machine Manager

WinRM para realizar acciones

BITS para transferir datos

80 para realizar acciones

443 para transferir datos

Capa de aplicación: hosts de Virtual Machine Manager

Comunicación de Modelo de objetos componentes distribuido/Interfaz de administración de Windows (DCOM/WMI) para transferir datos

135

Puertos dinámicos en el intervalo 49152 a 65535.

Capa de cliente: hosts de Virtual Machine Manager

Conexión basada en host a la máquina virtual. Para obtener más información sobre las conexiones basadas en host, vea Cómo: Conectar con un entorno virtual.

2179 para realizar conexiones basadas en host.

Configuración de la red personalizable

Como se muestra en la tabla anterior, se puede cambiar la comunicación entre las capas de aplicación, datos y cliente modificando Team Foundation Server para utilizar puertos personalizados. En la tabla siguiente se describen cambios de ejemplo en puertos de HTTP a HTTPS.

Nota

Para configurar Team Foundation Server de modo que se utilice HTTPS y Capa de sockets seguros, no solo se deben habilitar puertos para el tráfico de red HTTPS sino realizar también otras muchas tareas.

Servicio

Protocolo

Port

Servicios Web con SSL

HTTPS

Configurado por el administrador

Administración central de SharePoint

HTTPS

Configurado por el administrador

Productos de SharePoint

HTTPS

443

Reporting Services

HTTPS

443

Servicios Web de cliente

HTTPS

Configurado por el administrador

Vea también

Conceptos

Conceptos de Team Foundation Server

Permisos de Team Foundation Server

Otros recursos

Componentes del almacén de datos para Team Foundation

Historial de cambios

Fecha

Historial

Motivo

Junio de 2010

Información agregada sobre los puertos de red predeterminados para Lab Management.

Comentarios de los clientes.