Team Foundation Server のアーキテクチャ

更新 : 2010 年 6 月

ビジネス ニーズを満たすように Visual Studio Team Foundation Server の最適な配置を分析および計画するには、次の点を考慮する必要があります。

  • Team Foundation の論理アプリケーション層、データ層、およびクライアント層

  • これらの層をホストする物理サーバーの場所

  • 使用する環境で実行する Team Foundation ビルドおよびビルド コンピューター

  • Team Foundation Server Proxy

さらに、これらのエンティティ間の相互作用も考慮する必要があります。 使用される Web サービス、データベース、およびオブジェクト モデルを把握しておきます。 また、既定で使用されるネットワーク ポートおよびネットワーク プロトコルと、カスタマイズ可能なネットワーク ポートについても知っておく必要があります。 最後に、Team Foundation Server に設定する必要のあるアクセス許可、および配置が依存するコンポーネントおよびプログラムについても理解している必要があります。

Team Foundation Server は、それ自体のサービスだけでなく、他のサービスにも依存して動作します。 詳細については、「Team Foundation Server の概念」および「Team Foundation におけるデータ ウェアハウスの構成要素」を参照してください。 インストールの要件および依存関係の詳細については、「Team Foundation コンポーネントのインストール」を参照してください。

オブジェクト モデル

サーバーをベースにしたアプリケーションまたはクライアント オブジェクト モデルを記述することで、Team Foundation の機能を拡張できます。 サーバーの機能を拡張するには、アプリケーションがアプリケーション層サーバー上で実行されている必要があります。 クライアントの機能を拡張するには、アプリケーションが チーム エクスプローラー と同じコンピューター上で実行されている必要があります。

Team Foundation のオブジェクト モデル

詳細については、「Extending Team Foundation」を参照してください。

Web サービスおよびデータベース

Team Foundation Server には、一連の Web サービスとデータベースが含まれます。これらの Web サービスとデータベースは、Team Foundation の論理アプリケーション層、データ層、およびクライアント層をホストする 1 つ以上のサーバーに別個にインストールして構成します。 Web サービス、アプリケーション、およびデータベースの概要を次の図に示します。

サーバー アーキテクチャ ダイアグラムTFS で使用される追加のサーバークライアント アーキテクチャ ダイアグラム

コレクション レベル サービス

コレクション レベル サービスは、チーム プロジェクト コレクションのレベルで運営するための機能を提供します。 これらのサービスを使用すると Team Foundation Server を拡張するアプリケーションを作成できます。 詳細については、「Extending Team Foundation」を参照してください。

  • Team Foundation フレームワーク サービス

    • レジストリ サービス

    • 登録サービス (Team Foundation Server の旧バージョンとの互換性を保つため)

    • プロパティ サービス

    • イベント サービス

    • セキュリティ サービス

    • ロケーション サービス

    • ID 管理サービス

  • バージョン管理 Web サービス

  • 作業項目トラッキング Web サービス

  • Team Foundation ビルド Web サービス

  • Lab Management Web サービス

  • VMM 管理 Web サービス

  • テスト エージェント コントローラー Web サービス

サーバー レベル サービス

サーバー レベル サービス (アプリケーション レベル サービスとも呼ばれる) は、Team Foundation Server をソフトウェア アプリケーションとして操作するための機能を提供します。 これらのサービスを使用すると Team Foundation Server を拡張するアプリケーションを作成できます。 詳細については、「Extending Team Foundation」を参照してください。

  • Team Foundation フレームワーク サービス

    • レジストリ サービス

    • イベント サービス

    • チーム プロジェクト コレクション サービス

    • プロパティ サービス

    • セキュリティ サービス

    • ロケーション サービス

    • ID 管理サービス

    • 管理サービス

    • コレクション管理サービス

    • カタログ サービス

データ層

Team Foundation の論理データ層は、SQL Server 2008 内の次の運営ストアで構成されます。 この層には、データ、ストアド プロシージャ、および他の関連するロジックが含まれます。これらの運営ストアは、1 つの物理サーバーにまとめて格納される場合も、多数のサーバーに分散される場合もあります。 これらの運営ストアを使用すると Team Foundation Server を拡張するアプリケーションを作成できます。 詳細については、「Extending Team Foundation」を参照してください。

  • 構成データベース (TFS_Configuration)

  • アプリケーション ウェアハウス (TFS_Warehouse)

  • Analysis Services データベース (TFS_Analysis)

  • チーム プロジェクト コレクションのデータベース (TFS_CollectionName)

Team Foundation Server で使用されるデータベースの一覧とそれぞれの格納場所を次の表に示します。特に記載がない限り、この一覧に含まれるすべてのデータベースを元のサーバー (インストールと構成が行われたサーバー) から別のサーバーに移動できます。

データベースの名前と説明

サーバー

TFS_Configuration: このデータベースには、リソースのカタログと Team Foundation Server の構成情報が格納されます。 このデータベースには、Team Foundation Server の運営ストアが含まれます。

Team Foundation Server の最初のインストールおよび構成時に使用された SQL Server のインスタンス

TFS_Warehouse: このデータベースには、レポートのデータが格納されます。

Team Foundation Server の最初のインストールおよび構成時に使用された SQL Server のインスタンス

TFS_Analysis: この多次元データベースには、チーム プロジェクト コレクションからの集計データが格納されます。

Team Foundation Server の最初のインストールおよび構成時に使用された SQL Server のインスタンス

チーム プロジェクト コレクションのデータベース: 各チーム プロジェクト コレクションで独自のデータベースが使用されます。このデータベースには、コレクション内のすべてのチーム プロジェクトのデータが格納されます。

Team Foundation Server と互換性のある SQL Server のインスタンス

クライアント層

クライアント層は、アプリケーション層の説明で示したのと同じ Web サービスを使用して、アプリケーション層と通信します。 これらの層は Team Foundation Server のオブジェクト モデルを介して通信します。 クライアント層は、オブジェクト モデルに加えて、VSIP (Visual Studio Industry Partners) のコンポーネント、Microsoft Office 統合、コマンド ライン インターフェイス、およびチェックイン ポリシーのフレームワークで構成されます。

構成情報

Team Foundation Server は、SQL Server、インターネット インフォメーション サービス (IIS: Internet Information Services)、および Windows オペレーティング システムに依存します。 配置によって、Team Foundation Server は SQL Server Reporting Services または SharePoint 製品に依存する場合もあります。 そのため、Team Foundation Server の構成情報は、次の任意の場所に格納される可能性があります。

  • IIS データ ストア

  • Team Foundation Server の構成ファイル

  • Reporting Services のデータ ソース (TFSREPORTS データなど)

  • Team Foundation Server の構成データベース

  • Windows レジストリ

Team Foundation Server の配置を保守する際には、これらの構成元を考慮する必要があります。 何かの方法で構成を変更するには、複数の場所に格納されている情報を変更する必要がある場合があります。 また、データ層とクライアント層の構成情報の変更も必要になる場合があります。Team Foundation Server には、管理コンソールなど、このような変更を行うのに役立つさまざまなコマンド ライン ユーティリティが用意されています。 ただし、構成の変更内容によっては、手動での調整が必要になることもあります。

Active Directory と Team Foundation Server 間でのグループ ID の同期

Team Foundation Server が Active Directory ドメインで実行されている配置では、次のいずれかのイベントが発生したときにグループと ID の情報が同期されます。

  • Team Foundation のアプリケーション層サーバーが起動される。

  • Active Directory グループが Team Foundation Server のグループに追加される。

  • スケジュールされたジョブで指定されている期間が経過する (既定の期間は 1 時間です。また、Team Foundation Server 内のすべてのグループが 24 時間ごとに更新されます)。

ID 管理サービス (IMS: Identity Management Services) は Active Directory と同期しており、変更された ID はサーバーからクライアントに反映されます。 ジョブ サービスの同期スケジュールによっては、変更が Team Foundation Server 全体にすぐには反映されない可能性があります。既定では、すべてのグループが 24 時間以内に更新されますが、配置のニーズに合わせてこれをカスタマイズすることもできます。

グループおよびアクセス許可

Team Foundation Server には、既定のグループとアクセス許可の独自のセットがあります。これらのグループとアクセス許可は、プロジェクト レベル、コレクション レベル、またはサーバー レベルで設定できます。 グループまたは個々のレベルで、カスタム グループを作成したりアクセス許可をカスタマイズしたりすることができます。 ただし、Team Foundation Server に追加したユーザーまたはグループは、Team Foundation Server が依存している可能性のある 2 つのコンポーネント (SharePoint 製品および Reporting Services) に自動的に追加されることはありません。 配置でこれらのプログラムを使用している場合は、ユーザーとグループをこれらのプログラムに追加して、適切なアクセス許可を付与する必要があります。その時点で、これらのユーザーまたはグループは、Team Foundation Server のすべての操作で正しく動作するようになります。 詳細については、「チーム プロジェクトへのユーザーの追加」、「ユーザー、グループ、およびアクセス許可の構成」、「アクセス許可の管理」、「SharePoint 製品でのロール」、および「SQL Server Reporting Services のロール」を参照してください。

ネットワーク ポートおよびネットワーク プロトコル

既定では、Team Foundation Server は特定のネットワーク ポートおよびプロトコルを使用するように構成されます。 配置例における Team Foundation Server のネットワーク トラフィックを次の図に示します。

ポートとコミュニケーションの単純なダイアグラム

コンポーネントが含まれるさらに複雑な配置例における Visual Studio Lab Management のネットワーク トラフィックを次の図に示します。

ポートと通信複合図パート 1ポートと通信複合図パート 3ポートと通信複合図パート 2

既定のネットワーク設定

既定では、Team Foundation の配置内のコンピューター間の通信には、次の表に示すプロトコルおよびポートが使用されます。ポート番号の後ろにアスタリスク (*) がある場合は、そのポートをカスタマイズできます。

層およびサービス

プロトコル

ポート

アプリケーション層 - Web サービス

HTTP/HTTPS

8080/443*

アプリケーション層 – Windows SharePoint Services 管理

HTTP

17012* (Team Foundation Server と共にインストールされた場合)。それ以外の場合はランダム生成

アプリケーション層 – Windows SharePoint Services および Reporting Services

HTTP

Windows Management Instrumentation (WMI) サービス (インストール時に Reporting Services の URL の指定と検証のために必要)

80*

動的ポート

ビルド コンピューター - アプリケーション層サーバーからのリモート アクセス

SOAP over HTTP

9191*

データ層

MS-SQL TCP

1433*

Team Foundation Server Proxy - クライアントからプロキシ

HTTP

8081*

Team Foundation Server Proxy - プロキシからアプリケーション層

HTTP/HTTPS

8080/443*

クライアント層 - Reporting Services

HTTP

80*

クライアント層 - Web サービス

HTTP/HTTPS

8080/443*

アプリケーション層からビルド コントローラー

SOAP over HTTP

9191*

アプリケーション層からビルド エージェント

SOAP over HTTP

9191*

ビルド コントローラーからアプリケーション層

HTTP/HTTPS

8080/443

ビルド エージェントからアプリケーション層

HTTP/HTTPS

8080/443

テスト コントローラーからアプリケーション層

HTTP/HTTPS

8080/443*

アプリケーション層からテスト コントローラー

.NET リモート処理

6901*

アプリケーション層からドメイン ネーム システム (DNS)

DNS の動的な更新

アプリケーション層 – Virtual Machine Manager

HTTP

8100

テスト コントローラーからテスト エージェント

.NET リモート処理

6910*

テスト エージェントからテスト コントローラー

.NET リモート処理

6901*

ビルド コントローラーからビルド エージェント

SOAP over HTTP

9191

隔離された環境におけるラボ エージェントからラボ エージェント

TCP ソケット

9050

ビルド エージェントからビルド コントローラー

SOAP over HTTP

9191

Virtual Machine Manager 管理者コンソール – Virtual Machine Manager

HTTP

8100

Virtual Machine Manager – Virtual Machine Manager ホスト

アクションを実行するための Windows Remote Management (WinRM)

データを転送するためのバックグラウンド インテリジェント転送サービス (BITS)

アクションの実行には 80

データの転送には 443

Virtual Machine Manager– Virtual Machine Manager ライブラリ サーバー

アクションの実行には WinRM

データの転送には BITS

アクションの実行には 80

データの転送には 443

アプリケーション層 – Virtual Machine Manager ホスト

データの転送には分散コンポーネント オブジェクト モデル/Windows Management Interface (DCOM/WMI) 通信

135

49152 ~ 65535 の範囲の動的なポート

クライアント層 – Virtual Machine Manager ホスト

仮想マシンへのホストベース接続。 ホストベース接続の詳細については、「方法: 仮想環境に接続する」を参照してください。

ホスト ベース接続の実行には 2179

カスタマイズできるネットワーク設定

前の表に示したように、カスタム ポートを使用するように Team Foundation Server を変更することで、アプリケーション層、データ層、およびクライアント層の間の通信を変更できます。 HTTP から HTTPS にポートを変更する例を次の表に示します。

注意

HTTPS および Secure Sockets Layer を使用するように Team Foundation Server を構成するには、HTTPS ネットワーク トラフィック用のポートを有効にするだけでなく、他の多くのタスクを実行する必要があります。

サービス

プロトコル

ポート

SSL を使用した Web サービス

HTTPS

管理者が設定

SharePoint サーバー管理

HTTPS

管理者が設定

SharePoint 製品

HTTPS

443

Reporting Services

HTTPS

443

クライアント Web サービス

HTTPS

管理者が設定

参照

概念

Team Foundation Server の概念

Team Foundation Server のアクセス許可

その他の技術情報

Team Foundation におけるデータ ウェアハウスの構成要素

履歴の変更

日付

履歴

理由

2010 年 6 月

Lab Management 用の既定のネットワーク ポートに関する情報を追加

カスタマー フィードバック