Архитектура. 3-уровневая архитектура Team Foundation Server

3-уровневая архитектура Team Foundation Server

Team Foundation Server работает по трёхуровневой архитектуре: клиентский уровень, прикладной уровень и уровень данных. Клиентский уровень используется для создания и управления проектами, а также для доступа к хранимым и управляемым элементам проекта. На этом уровне TFS не содержит никаких пользовательских интерфейсов, но предоставляет веб-сервисы, которые могут быть использованы клиентскими приложениями для самостоятельной интеграции в функциональность TFS. Эти веб-сервисы используются такими приложениями, как Visual Studio Team System для применения TFS в качестве серверной инфраструктуры хранилища информации или выделенного TFS управления приложениями, наподобие включенного приложения Team Foundation Client. Сами веб-сервисы находятся на прикладном уровне. Прикладной уровень также включает в себя веб-портал и репозиторий (хранилище) документации, поддерживаемые Windows SharePoint Services. Веб-портал, называемый Team Project Portal (портал командного проекта), выступает в роли центра взаимодействия для проектов, управляемых TFS. Репозиторий документов используется как для элементов проекта, так и для отслеживания ревизий (документирование изменений), а также для накопления и обработки данных и генерации отчетов. Уровень данных, основывающийся в первую очередь на установленном SQL Server 2005 Standard Edition, обеспечивает сервисы постоянного хранения данных для репозитория документов. Уровень данных и уровень приложений могут существовать на различных физических или виртуальных серверах при использовании Windows Server 2003 или более специализированных версий. Уровень данных не взаимодействует с клиентским уровнем напрямую, только через прикладной уровень.

Большая часть действий в Team Foundation Server происходит с «рабочими элементами». Рабочими элементами называются отдельные единицы (шаги) работы, выполняемые поочередно. Во многих источниках они отождествляются с элементами типа «ошибка» (bug) в системах отслеживания ошибок наподобие Bugzilla, то есть в этом случае рабочий элемент имеет поля Area (связанная область), Iteration (состояние), Assignee (связан с), Reported By (кем создан) для указания соответствующей информации, историю, приложенные файлы, а также множество прочих атрибутов. Рабочие элементы сами по себе могут быть нескольких типов, например Ошибка, Задача, Требование качества, Сценарий и т. д.. Выбранный фреймворк для любого взятого проекта в Team Foundation Server определяет какие типы рабочих элементов будут доступны и какими атрибутами каждый из типов будет обладать. Эти элементы внутри приложения хранятся в XML-формате, а их схема может быть легко модифицирована для добавления новых атрибутов к различным элементам или создания новых элементов на проектной основе. Каждый рабочий элемент имеет соответствующие методики контроля, которые определяют, кому какие именно элементы доступны и какие действия он с ними может производить (просмотр, редактирование, создание, удаление и др.). Также подразумевается использование уведомлений и возможности ведения логов, для отслеживания истории всего процесса создания, обращения к элементу или его изменения (определяется правами), а также предусматривается дополнительное уведомление определенных пользователей при наступлении определенных событий.

Любой Team Foundation Server содержит один или более Совместный проект (Team Projects), состоящий из решений на базе Visual Studio, конфигурационных файлов для Team Build и Team Load Test Agents, и единый репозиторий на базе SharePoint, содержащий связанную с проектом документацию. Совместный проект включает в себя пользовательские рабочие элементы, версии (ветки) исходного кода, отчеты, управляемые TFS. TFS обеспечивает возможности для управления этими проектами. При создании нового проекта нужно выбирать фреймворк программной разработки, который впоследствии сменить нельзя. TFS включает в себя несколько наиболее распространенных шаблонов, среди которых присутствует как методики гибкой разработки, так и формальные. Выбор фреймворка наполняет проект заранее предопределенными элементами, как например, роли и полномочия, а также прочую документацию, например, стратегию развития проекта (project roadmap), шаблоны документов, заготовки отчетов. Эти элементы могут быть связаны с рабочими элементами. Статус определенных элементов проекта может автоматически обновляться при изменении рабочих элементов. TFS можно интегрировать с Microsoft Excel для создания и отслеживания элементов проекта. Статус элементов в этом случае можно указывать и редактировать непосредственно в Excel, а итоговые таблицы могут обрабатываться TFS, который будет импортировать данные с учетом особенностей управления данным проектом. Кроме того, его также можно интегрировать с Microsoft Project (например, Microsoft Project 2003, но не Project Server!) в качестве клиентской части управления проектом. Элементы проекта можно экспортировать как документы Excel для дальнейшего анализа данных.

TFS сам по себе не содержит пользовательского интерфейса для выполнения подобных заданий. Подобные возможности предоставляются за счет веб-сервисов, которые используются клиентскими приложениями наподобие среды разработки Visual Studio Team System (VSTS). Тем не менее, TFS имеет в своем составе приложение Team Foundation Client (TFC), которое может использоваться для выполнения этих заданий без VSTS. TFC также оперирует вызовами соответствующих веб-сервисов. TFS предоставляет клиентский API, который может быть использован клиентским приложением для доступа к функционалу; сам API управляет промежуточными связями для установки взаимодействия с веб-сервисами, как, например, кэширование со стороны клиента для уменьшения задержек и накладных расходов. Также поддерживается язык описаний веб-сервисов WSDL на случай если приложению требуется непосредственный вызов веб-сервисов. В качестве дополнения доступно Visual Studio Team System Web Access, предназначенное для схожих целей.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: