Architektur von Team Foundation Server
Um eine optimale Bereitstellung von Visual Studio Team Foundation Server entsprechend Ihren Geschäftsanforderungen zu analysieren und zu planen, müssen Sie die folgenden Aspekte berücksichtigen:
die logischen Anwendungs-, Daten- und Clientebenen für Team Foundation
die Position der physischen Server, die diese Ebenen hosten
Team Foundation Build und die Buildcomputer, die in der Umgebung ausgeführt werden
Team Foundation Server-Proxy
Darüber hinaus müssen Sie die Interaktionen zwischen diesen Entitäten berücksichtigen. Sie müssen wissen, welche Webdienste, Datenbanken und Objektmodelle verwendet werden. Außerdem müssen Sie wissen, welche Netzwerkports und -protokolle standardmäßig verwendet werden und welche Netzwerkports angepasst werden können. Schließlich müssen Sie mit den Berechtigungen vertraut sein, die Sie in Team Foundation Server und den Komponenten und Programmen festlegen müssen, von denen die Bereitstellung abhängt.
Die ordnungsgemäße Funktion von Team Foundation Server ist nicht nur von den eigenen Diensten, sondern auch von anderen Diensten abhängig. Weitere Informationen finden Sie unter Team Foundation Server-Konzepte und Komponenten des Data Warehouse für Team Foundation. Weitere Informationen zu den Anforderungen und Abhängigkeiten für die Installation finden Sie unter Installieren von Team Foundation-Komponenten.
Objektmodell
Sie können den Funktionsumfang von Team Foundation erweitern, indem Sie eine Anwendung schreiben, die auf dem entsprechenden Server oder Clientobjektmodell basiert. Wenn Sie die Serverfunktionen erweitern möchten, muss die Anwendung auf dem Anwendungsebenenserver ausgeführt werden. Wenn Sie die Clientfunktionen erweitern möchten, muss die Anwendung auf demselben Computer wie Team Explorer ausgeführt werden.
Weitere Informationen finden Sie unter Extending Team Foundation.
Webdienste und Datenbanken
Team Foundation Server beinhaltet einen Satz von Webdiensten und Datenbanken, die Sie separat auf den Servern installieren und konfigurieren, die die logischen Anwendungs-, Daten- und Clientebenen für Team Foundation hosten. Die folgenden Abbildungen bieten eine allgemeine Übersicht über Webdienste, Anwendungen und Datenbanken.
Dienste auf Auflistungsebene
Dienste auf Auflistungsebene stellen die Funktionalität für Vorgänge auf Ebene der Teamprojektsammlung bereit. Sie können Anwendungen erstellen, durch die Team Foundation Server mithilfe einiger dieser Dienste erweitert wird. Weitere Informationen finden Sie unter Extending Team Foundation.
Team Foundation Framework-Dienste
Registrierungsdienst
Registrierungsdienst (um die Kompatibilität mit früheren Versionen von Team Foundation Server zu gewährleisten)
Eigenschaftendienst
Ereignisdienst
Sicherheitsdienst
Ortsdienst
Identitätsverwaltungsdienst
Webdienst zur Versionskontrolle
Webdienst zur Arbeitsaufgabenverfolgung
Team Foundation Build-Webdienst
Lab Management-Webdienst
VMM-Verwaltungs-Webdienst
Test-Agent-Controller-Webdienst
Dienste auf Serverebene
Dienste auf Serverebene (auch als Dienste auf Anwendungsebene bezeichnet) stellen die Funktionen für Vorgänge für Team Foundation Server als Softwareanwendung bereit. Sie können Anwendungen erstellen, durch die Team Foundation Server mithilfe einiger dieser Dienste erweitert wird. Weitere Informationen finden Sie unter Extending Team Foundation.
Team Foundation Framework-Dienste
Registrierungsdienst
Ereignisdienst
Teamprojekt-Auflistungsdienst
Eigenschaftendienst
Sicherheitsdienst
Ortsdienst
Identitätsverwaltungsdienst
Verwaltungsdienst
Auflistungsverwaltungsdienst
Katalogdienst
Datenebene
Die logische Datenebene für Team Foundation besteht aus den folgenden betriebsinternen Speichern innerhalb von SQL Server 2008. Diese Ebene umfasst Daten, gespeicherte Prozeduren und weitere zugeordnete Logiken. Diese betriebsinternen Speicher können alle zusammen auf einem physischen Server gespeichert oder auf verschiedene Server verteilt sein. Sie können Anwendungen erstellen, durch die Team Foundation Server mithilfe einiger dieser betriebsinternen Speicher erweitert wird. Weitere Informationen finden Sie unter Extending Team Foundation.
Konfigurationsdatenbank (TFS_Configuration)
Anwendungs-Warehouse (TFS_Warehouse)
Analysis Services-Datenbank (TFS_Analysis)
Datenbanken für Teamprojektsammlungen (TFS_SammlungsName)
Die folgende Tabelle enthält eine Liste der Datenbanken (mit Angabe des Speicherorts), die von Team Foundation Server verwendet werden. Wenn nichts anderes angegeben ist, können Sie alle Datenbanken in dieser Liste von dem ursprünglichen Server, auf dem diese installiert und konfiguriert sind, auf andere Server verschieben.
Datenbankname und -beschreibung |
Server |
---|---|
TFS_Configuration. In dieser Datenbank werden der Ressourcenkatalog und die Konfigurationsinformationen für Team Foundation Server gespeichert. Die Datenbank enthält die betriebsinternen Speicher für Team Foundation Server. |
Eine Instanz von SQL Server, die bei einer Neuinstallation und -konfiguration von Team Foundation Server verwendet wird |
TFS_Warehouse In dieser Datenbank werden die Daten für Berichte gespeichert. |
Eine Instanz von SQL Server, die bei einer Neuinstallation und -konfiguration von Team Foundation Server verwendet wird |
TFS_Analysis. In dieser mehrdimensionalen Datenbank werden die aggregierten Daten aus Teamprojektsammlungen gespeichert. |
Eine Instanz von SQL Server, die bei einer Neuinstallation und -konfiguration von Team Foundation Server verwendet wird |
Datenbanken für TeamprojektsammlungenJede Teamprojektsammlung verfügt über eine eigene Datenbank, in der Daten für alle Teamprojekte in der Auflistung gespeichert werden. |
Instanz von SQL Server, die mit Team Foundation Server kompatibel ist |
Clientebene
Die Clientebene verwendet zur Kommunikation mit der Anwendungsebene die gleichen Webdienste, die in der Anwendungsebene aufgeführt sind. Die Kommunikation erfolgt über das Objektmodell für Team Foundation Server. Neben diesem Modell besteht die Clientebene aus VSIP-Komponenten (Visual Studio Industry Partners), Microsoft Office-Integration, Befehlszeilenschnittstellen und einem Framework für Eincheckrichtlinien.
Konfigurationsinformationen
Team Foundation Server ist abhängig von SQL Server, Internetinformationsdiensten (IIS) und dem Betriebssystem Windows. Je nach Bereitstellung kann Team Foundation Server zudem von SQL Server Reporting Services oder SharePoint-Produkte abhängen. Daher können Konfigurationsinformationen für Team Foundation Server in jedem der folgenden Speicherorte gespeichert werden:
IIS-Datenspeicher
Konfigurationsdateien für Team Foundation Server
Datenquellen für Reporting Services (z. B. TFSREPORTS-Daten)
Konfigurationsdatenbank für Team Foundation Server
Windows-Registrierung
Bei der Verwaltung einer Team Foundation Server-Bereitstellung müssen Sie diese Konfigurationsquellen berücksichtigen. Zur Änderung der Konfiguration müssen Sie ggf. Informationen in verschiedenen Speicherorten ändern. Des Weiteren müssen Sie u. U. Konfigurationsinformationen für die Daten- und Clientebene ändern. Team Foundation Server beinhaltet eine Verwaltungskonsole und verschiedene Befehlszeilendienstprogramme, mit denen Sie diese Änderungen vornehmen können. Bei einigen Konfigurationsänderungen sind jedoch ggf. manuelle Anpassungen erforderlich.
Synchronisieren von Gruppenidentitäten zwischen Active Directory und Team Foundation Server
Bei Bereitstellungen, bei denen Team Foundation Server in einer Active Directory-Domäne ausgeführt wird, werden Gruppen- und Identitätsinformationen synchronisiert, wenn eines der folgenden Ereignisse eintritt:
Der Anwendungsebenenserver für Team Foundation wird gestartet.
Einer Gruppe in Team Foundation Server wird eine Active Directory-Gruppe hinzugefügt.
Der im geplanten Auftrag angegebene Zeitraum läuft ab. (Die Standardeinstellung ist eine Stunde. Die Gruppen in Team Foundation Server werden alle 24 Stunden aktualisiert.)
Identitätsverwaltungsdienste (Identity Management Services, IMS) werden mit Active Directory synchronisieren, und geänderte Identitäten werden vom Server an die Clients weitergegeben. In Abhängigkeit von dem Synchronisierungszeitplan für den Auftragsdienst werden Änderungen möglicherweise nicht unmittelbar in Team Foundation Server übernommen. Standardmäßig werden alle Gruppen innerhalb von 24 Stunden aktualisiert, aber Sie können diese Einstellung an die Anforderungen der Bereitstellung anpassen.
Gruppen und Berechtigungen
Team Foundation Server verfügt über einen eigenen Satz von Standardgruppen und Berechtigungen, die Sie auf Projekt-, Auflistungs- oder Serverebene festlegen können. Sie können benutzerdefinierte Gruppen erstellen und Berechtigungen auf Gruppen- und Benutzerebene anpassen. Benutzer oder Gruppen, die Sie zu Team Foundation Server hinzufügen, werden nicht automatisch zwei Komponenten hinzugefügt, von denen Team Foundation Server abhängen kann: SharePoint-Produkte und Reporting Services. Wenn diese Programme in der Bereitstellung verwendet werden, müssen Sie Benutzer und Gruppen zu diesen Programmen hinzufügen und diesen die entsprechenden Berechtigungen erteilen, damit die Benutzer und Gruppen in sämtlichen Team Foundation Server-Vorgängen ordnungsgemäß verwendet werden können. Weitere Informationen finden Sie unter Hinzufügen von Benutzern zu Teamprojekten, Konfigurieren von Benutzern, Gruppen und Berechtigungen, Verwalten von Berechtigungen, Rollen in SharePoint-Produkten und SQL Server Reporting Services-Rollen.
Netzwerkanschlüsse und Protokolle
Standardmäßig ist Team Foundation Server für die Verwendung von bestimmten Netzwerkports und Netzwerkprotokollen konfiguriert. In der folgenden Abbildung ist der Netzwerkdatenverkehr für Team Foundation Server in einer einfachen Bereitstellung dargestellt.
In der folgenden Abbildung ist der Netzwerkdatenverkehr für eine komplexere Bereitstellung dargestellt, die die Komponenten für Visual Studio Lab Management einschließt.
Standardnetzwerkeinstellungen
Standardmäßig werden für die Kommunikation zwischen den Computern in einer Bereitstellung von Team Foundation die Protokolle und Ports verwendet, die in der folgenden Tabelle aufgeführt sind. Wenn auf die Portnummer ein Sternchen (*) folgt, können Sie den betreffenden Port anpassen.
Ebene und Dienst |
Protokoll |
Port |
---|---|---|
Anwendungsebene – Webdienste |
HTTP/HTTPS |
8080/443* |
Anwendungsebene – Windows SharePoint Services-Verwaltung |
HTTP |
17012* (falls mit Team Foundation Server installiert); wird anderenfalls nach dem Zufallsprinzip generiert |
Anwendungsebene – Windows SharePoint Services und Reporting Services |
HTTP Windows-Verwaltungsinstrumentation-Dienst (Windows Management Instrumentation, WMI) (erforderlich bei der Installation, um die URLs für Reporting Services anzugeben und zu überprüfen) |
80* Dynamischer Port |
Buildcomputer – Remotezugriff vom Anwendungsebenenserver |
SOAP über HTTP |
9191* |
Datenebene |
MS-SQL TCP |
1433* |
Team Foundation Server-Proxy ‑ Client zu Proxy |
HTTP |
8081* |
Team Foundation Server-Proxy ‑ Proxy zu Anwendungsebene |
HTTP/HTTPS |
8080/443* |
Clientebene – Reporting Services |
HTTP |
80* |
Clientebene – Webdienste |
HTTP/HTTPS |
8080/443* |
Anwendungsebene – Buildcontroller |
SOAP über HTTP |
9191* |
Anwendungsebene – Build-Agent |
SOAP über HTTP |
9191* |
Buildcontroller – Anwendungsebene |
HTTP/HTTPS |
8080/443 |
Build-Agent – Anwendungsebene |
HTTP/HTTPS |
8080/443 |
Testcontroller – Anwendungsebene |
HTTP/HTTPS |
8080/443* |
Anwendungsebene – Testcontroller |
.NET-Remoting |
6901* |
Anwendungsebene – Domain Name System (DNS) |
Dynamisches Update für DNS |
|
Anwendungsebene – Virtual Machine Manager |
HTTP |
8100 |
Testcontroller – Test-Agent |
.NET-Remoting |
6910* |
Test-Agent – Testcontroller |
.NET-Remoting |
6901* |
Buildcontroller – Build-Agent |
SOAP über HTTP |
9191 |
Labor-Agent – Labor-Agent in einer isolierten Umgebung |
TCP-Sockets |
9050 |
Build-Agent – Buildcontroller |
SOAP über HTTP |
9191 |
Virtual Machine Manager-Administratorkonsole – Virtual Machine Manager |
HTTP |
8100 |
Virtual Machine Manager – Virtual Machine Manager-Hosts |
Windows-Remoteverwaltung (Windows Remote Management, WinRM) zum Ausführen von Aktionen Intelligenter Hintergrundübertragungsdienst (Background Intelligent Transfer Service, BITS) zum Übertragen von Daten |
80 zum Ausführen von Aktionen 443 für Datenübertragung |
Virtual Machine Manager – Virtual Machine Manager-Bibliotheksserver |
WinRM zum Auszuführen von Aktionen BITS für Datenübertragung |
80 zum Ausführen von Aktionen 443 für Datenübertragung |
Anwendungsebene – Virtual Machine Manager-Hosts |
Kommunikation Distributed Component Object Model (DCOM)/Windows-Verwaltungsschnittstelle für Datenübertragung |
135 Dynamische Ports im Bereich von 49152 bis 65535. |
Clientebene – Virtual Machine Manager-Hosts |
Hostbasierte Verbindung zum virtuellen Computer. Weitere Informationen zu hostbasierten Verbindungen finden Sie unter Gewusst wie: Verbinden mit einer virtuellen Umgebung. |
2179 zum Ausführen von hostbasierten Verbindungen |
Anpassbare Netzwerkeinstellungen
Wie in der vorherige Tabelle zu sehen ist, können Sie Kommunikation zwischen der Anwendungs-, Daten- und Clientebene ändern, indem Sie in Team Foundation Server benutzerdefinierte Ports festlegen. Die folgende Tabelle dient als Beispiel für Portänderungen von HTTP in HTTPS.
Tipp
Um Team Foundation Server für die Verwendung von HTTPS und Secure Sockets Layer zu konfigurieren, müssen Sie nicht nur Ports für HTTPS-Netzwerkverkehr aktivieren, sondern auch noch eine Reihe anderer Aufgaben ausführen.
Dienst |
Protokoll |
Port |
---|---|---|
Webdienste mit SSL |
HTTPS |
Wird vom Administrator konfiguriert |
SharePoint-Zentraladministration |
HTTPS |
Wird vom Administrator konfiguriert |
SharePoint-Produkte |
HTTPS |
443 |
Reporting Services |
HTTPS |
443 |
Client-Webdienste |
HTTPS |
Wird vom Administrator konfiguriert |
Siehe auch
Konzepte
Team Foundation Server-Konzepte
Team Foundation Server-Berechtigungen
Weitere Ressourcen
Komponenten des Data Warehouse für Team Foundation
Änderungsprotokoll
Datum |
Verlauf |
Grund |
---|---|---|
Juni 2010 |
Informationen zu Standardnetzwerkports für Lab Management wurden hinzugefügt. |
Kundenfeedback. |