Архитектура на Team Foundation Server

В тази лекция ще се запознаете с архитектурата на TFS и основните топологии на разработката. Логично, TFS има тристепенна архитектура, състояща се от клиентско ниво, ниво на приложение и ниво на данни. Клиентите на TFS взаимодействат с нивото на приложението чрез различни уеб услуги. Приложението ниво използва различни бази данни на Microsoft SQL Server на ниво данни.

Можете да инсталирате нивото на приложението и нивото на данните на един и същ физически сървър или на различни сървъри. По принцип изборът се определя от размера на групата. Разполагането на един сървър е по-подходящо за групи под 50 членове, въпреки че достатъчно мощен сървър може да поддържа до 400 потребители. Разполагането с множество сървъри ви позволява да увеличите броя на потребителите до 2000.

В тази лекция ще научите за основните компоненти на TFS и как те взаимодействат помежду си, както и целта на всеки от тези компоненти и как те обикновено се използват. .

Ако не сте запознати с TFS, прочетете първо лекция 1. Тя описва как екипите за разработка и тестване взаимодействат с TFS, за да улеснят сътрудничеството и да подобрят ефективността на разработката на софтуер. .

Архитектура на Team Foundation Server

TFS използва логическа тристепенна архитектура, разделена на ниво клиент, както и на нива приложения и данни. Клиентите на TFS взаимодействат с нивото на приложението чрез различни уеб услуги. На свой ред нивото на приложението се поддържа от различни бази данни на ниво данни. Компонентите на слоя TFS и техните взаимодействия са илюстрирани на фигура 2.1.

лекция

Клиентско ниво

Клиентското ниво се състои от следните компоненти:

  • Модел на обект на сървър на Team Foundation Отворен API за взаимодействие с TFS, използван за създаване на клиентски приложения, които комуникират с TFS .
  • Компоненти на Visual Studio Industry Partners (VSIP) Инструменти, добавки и езици на трети страни за използване в Visual Studio
  • Интеграция с Microsoft Office Набор добавки за Microsoft Office Excel и Microsoft Office Project, които ви позволяват да заявявате и актуализирате работни елементи в базата данни за проследяване на работни елементи на TFS. Особено полезно за мениджърите на проекти, които вече широко използват тези инструменти.
  • Инструменти на командния ред Инструменти за взаимодействие с TFS от командния ред. Използва се предимно за работа с функции за контрол на качеството на изходния код, също полезни за автоматизиране на повтарящи се процеси и при планиране на задания.
  • Политика за чекиране Разширяем механизъм за проверка на кода в процеса на чекиране след редактиране.
Приложен слой

На нивото на приложението на нивото на клиента се дава достъп до уеб услугите на ASP.NET. Не се очаква интегратори на трети страни да използват тези уеб услуги; те са показани тук само за пълнота. Услугите са групирани в следните колекции:

  • Услуги за данни на Team Foundation;
  • Услуги за интеграция на Team Foundation .
Услуги за данни на Team Foundation

Тези уеб услуги отговарят основно за операциите на ниво данни. Те включват следните уеб услуги:

  • Контрол на версиите Използва се на ниво клиент за изпълнение на различни функции за контрол на качеството на изходния код на TFS и за взаимодействие с базата данни за контрол на качеството на изходния код.
  • Проследяване на работни елементи Използва се на ниво клиент за създаване, актуализиране и маршрутизиране на заявки за работни елементи в базата данни за проследяване на работни елементи .
  • Team Foundation Build Използва се на ниво клиент и в обвивката на MSBuild за завършване на процеса на изграждане.
Услуги за интеграция на Team Foundation

Тези уеб услуги осигуряват функционалност за интеграция и автоматизация и не взаимодействат със слоя данни. Те включват следните уеб услуги:

Слой данни

TFS не поддържа директен достъп от клиентски приложения до данни, съхранявани в нивото на данните. Всички заявки за данни трябва да се правят чрез уеб услуги на ниво приложение. Нивото на данни TFS се състои от следните хранилища, съответстващи на услугите за данни от ниво на приложения.

  • Проследяване на работни елементи Това хранилище съдържа всички данни, свързани с работни елементи.
  • Контрол на версиите Всички данни, свързани с контрола на източника, се съхраняват тук.
  • Team Foundation Build Цялата информация, свързана с TFS Team Build, се съхранява тук .
  • Съхранение на отчети Той съхранява информация, свързана с всички инструменти и функции на TFS. Съхранението на отчети улеснява създаването на отчети, съчетаващи данни от различни инструменти.

Топология на внедряване

TFS е внедрен, използвайки различни топологии, от единичен сървър до сложни типологии на много сървъри.

Основни изисквания

Независимо от топологията, която използвате, има няколко ключови изисквания, които трябва да имате предвид.

  • Инсталирайте нивото на приложението и нивото на данните в същия домейн. В същото време те могат да бъдат разположени както на едни и същи, така и на различни сървърни възли.
  • TFS е инсталиран на компютри с Microsoft Windows Server 2003 SP1 или по-нова версия.
  • Всички уеб услуги на ниво приложение трябва да бъдат инсталирани на един и същ сървър.
  • Инсталирайте един екземпляр на TFS на един компютър.
  • Не можете да инсталирате повече от един екземпляр на TFS на физически сървър.
  • Не разпространявайте TFS база данни на множество сървъри на бази данни. Всички проекти трябва да са в една и съща Team Foundation Server Group и не могат да бъдат сортирани в групи.
  • Не можете да използвате съществуващата инфраструктура на Microsoft SharePoint Portal Server за хостване на портала на проекта. Помислете за използването на специален сървър за хостване на портали на TFS SharePoint .
  • Не се опитвайте да инсталирате TFS на контролер на домейн - това не се поддържа.
  • За разполагане на двоен сървър, подгответе акаунти на домейн за TFS услуги. Например ще трябва да създадете DOMAIN \ TFSSERVICE и DOMAIN \ TFSREPORTS акаунти .
Внедряване на един сървър

Разгръщането на един сървър е най-простата топология, подходяща за екипи за разработка или пилотни проекти с не повече от 400 потребители. При този подход всички компоненти от ниво на приложенията и нивото на данните са инсталирани на един сървър и достъп до тях в един и същи домейн.

Ако трябва да инсталирате бенчмарк компоненти за проверка на производителността, инсталирайте ги на сървърния възел или на един или повече клиенти. Фигура 2.2 показва топология на един сървър.

сървърна

Разполагане на отделни сървъри

Топологията за внедряване на множество сървъри се използва от големи екипи за разработка с до 2000 потребители. В тази топология слоят на приложението се инсталира отделно от слоя данни.

Можете да инсталирате Team Foundation Build Services на ниво приложение, но при големи екипи се препоръчва да отделите един или повече специализирани сървъри за изграждане. Ако вашият проект изисква проверка на производителността, внедрете тестовия стенд (контролер и агенти) на допълнителни сървърни възли. Фигура 2.3 показва топология на множество сървъри.

знай

Архитектурата на Team Foundation Server е разделена на три нива: клиент, приложение и данни.

  • Клиентското ниво съдържа клиентски компоненти като Team Explorer в Visual Studio 2005, интеграция на Microsoft Office и инструменти за команден ред.
  • Приложният слой съдържа например Team Foundation Services Services Control Services, услуги за проследяване на работни елементи и Build Services.
  • Нивото на данните съдържа базите данни за съхраняване на данните, необходими за проследяване на работни елементи, създаване на версии, групово изграждане и съхранение на отчети.

Продуктът TFS поддържа топологии за внедряване на един сървър и много сървъри. В първия случай нивото на приложението и нивото на данните са инсталирани на една и съща машина. Разполагането с един сървър е подходящо за малки екипи или пилотни проекти. При разделно внедряване нивото на приложението и нивото на данните се инсталират на отделни сървъри. Разгръщането на няколко сървъра е полезно за големи екипи с голям брой потребители.