'

Team Foundation Server

Понравилась презентация – покажи это...





Слайд 0

Team Foundation Server Основы Расширяемости


Слайд 1

Девиз Расширяемости TFS Для интеграции в/с среду TFS, ВЫ можете использать то же самое, что и МЫ


Слайд 2

Основные службы интеграции


Слайд 3

Team Foundation Server Team Foundation Common Services Ингеграция со стороны сервера


Слайд 4

Концептуально Набор данных, который требует отслеживания. Артефакт Тип набора данных, который требует отслеживания. Тип Артефакта Уникальный неизменяемый идентификатор артефакта. URI Артефакта зона хранения артефактов, групп пользователей, и т.д. Все интрументы TFS распознают Контекст Проекта. Контекст Проекта Один Team Foundation Server и набор интегрированных инструментов. «Логический сервер» может быть на разных физ. машинах. TFS Server


Слайд 5

Настройки и расширения Настройки Что? Подгонка TFS к вашей среде Кто? Пользователи, менджеры проекта Зачем? Настроить под нужды проекта Как? Через GUI , XML, автоматизация... Расширения/Интеграция: Что? Новая функциональность Кто? Партнеры, внутренняя IT Зачем? Встроить новое в платформу Как? Веб-службы, БД, VS SDK


Слайд 6

Примеры настроек Шаблон проекта Встроенные – изм. Новые - создать Типы Work Item Встроенные- изм. Новые – создать Автоматизация (WIOM) Верс. контроль Выбрать политики Отчеты Изм. встроенные Новые – создать Использовать другой тул для отчетов (Excel, компоненты Office Web) Портал Проекта Настраиваемый шаблон Новые библиотеки


Слайд 7

Примеры расширений Основные службы Новый тул с новыми артефактами, линками, БД, веб-службами Линки к другим артефактам Ответ на события Интеграция с Теаm Explorer Новые страницы в Мастере создания проекта Версионный Контроль: Об’ектная Модель Поддержка новых типов файлов (diff) Интегрированный checkin Новые политики Ответ на события Отчеты Расширения warehouse


Слайд 8

Примеры расширений Work Item Tracking Об’ектная Модель Ответ на события Связь с WI Интеграция с WI picker SPS Портал Новые web parts Билд Новые задачи билда (build tasks)


Слайд 9

Team Foundation Server Team Foundation Common Services Регистрация Регистрация Направляет callers к службам/инстр. Caller должен знать только URL веб-службы TFS location table. Если серверы поменялись – единственное место для изменений, одно для всех тулов, VS IDE и т.д. Location table может кэшироваться для быстродействия и обновляться по необходимости Тулы регистрируют типы событий, артегактов, линков во время установки Тули могут также хранить свои настройки в location table.


Слайд 10

Team Foundation Server Team Foundation Common Services Нотификации Нотификация Pub/sub для событий и вызовов. Caller вызывает службу нотификаций с типом события, все подписчики получают ответ. Конечный польз-ователь получает нотификацию по эл. почте.


Слайд 11

Регистрация и Подписка Event Types Subs Registration API Subscription API Во время установки тул регистрирует типы событий он будет «raise». Любой тул может подписаться получать события определенного типа, когда они raised. Пользователь может подписаться на нотификации по эл. почте через GUI (oбщий или специалный) subscribe unsubscribe


Слайд 12

Raising Событие Reliable delivery on request Event order is preserved Event Types Subs TFS Event Engine Subs События приходят через web service callback. Note: Server-side sinks only in V1. Events delivered through email fireSyncEvent fireAsyncEvent callback method указанный в вызове subscribe Web Service API Rules Processor Events matched to subscriptions


Слайд 13

Обзор API Нотификаций FireSyncEvent метод FireAsyncEvent метод Subscribe метод Unsubscribe метод Subscriptions метод (возвращает список всех подписок) Callout для нотификаций указываемый во время подписки.


Слайд 14

Team Foundation Server Team Foundation Common Services Linking Linking Слабосвязанныелинки между данными тулов -URI-based связи. Полные и частничные инверсионные запросы, кто ня меня указывает? Тулы обязаны предоставлять URIs для связываемых об’ектов.


Слайд 15

Source Code Control Work Item Tracking Пример Имеет URI к артефактам управляемых SCC включая: Поддержку GetReferencingArtifacts GetArtifacts Execute DefaultAction Линки на другие об’екты (опция) Создает и показывает для каждого артефакта SCC включая: File Folder ChangeSet Поддерживает GetArtifacts ExecuteDefaultAction Data: Bug data URI: WorkItem123 Link: URIfor$\foo\bar.cs Data: Metadata, source file URI: URIfor$\foo\bar.cs LinkType: Attachment


Слайд 16

Основы Linking Artifacts - Артефакты Artifact Identifiers (URIs): http://TfsServer/vset/servertype.instance/artifacttype/moniker Links – Линки, Связи Таргет (target) линка не должна ничего знать о sources, которые на нее указывают. Для более «серьезных» дел, поддерживается также и tight coupling.


Слайд 17

Пример GUI связывания Linking UI Тип линка Легкое имя Friendly Name Тип Артефакта Последнее изменение даннух по отношению к общей схеме


Слайд 18

(нетипизирован) Найден в checkin Work Item 107462 Attached Document WhatScrewedUp.doc? Build 20031012.352 Change Set 142562: Lollipop Fix Work Item 170472 <artifactData> <links> Test Pass 20031014.8054 <artifactData> <links> Work Item 107462 <artifactData> Change Set 142562: Lollipop Fix <artifactData> <links> Build 20031012.352 <artifactData> <links> Attached Document WhatScrewedUp.doc? <artifactData> <links>


Слайд 19

found in checkin Relationship Item type Item Modified By Work Item 107462 участвует в таких связях: checkin change set 142562: Lollipop fix 10/15/2003 6:42pm dev1 тестирован test pass 20031014.8054 10/14/2003 2:15am qa1 связан с Work Item 170472 10/5/2003 3:13pm gematthew found in build 20031012.352 10/12/2003 9:52pm qa1 involves attachment WhatScrewedUp.doc 10/13/2003 10:00am pm1


Слайд 20

Линк и тип линка Линк (link) может иметь тип Тип линка описывает назначение/цель линка Для отображения, тип линка имеет 2 роли (reading): consumer linkreading1 provider provider linkreading2 consumer Пример: Тест x тестириет Метод y Метод y тестируется Тестом x Действующие типы линков регистрируются тулами во время установки. Типы линков могут также указывать с какими типами артефактов они работают (если известно заранее)


Слайд 21

Внешняя адресация Вы можете предоставить страницу ASP для показа ваших артефактов. URI артефактов встроенные в emails, и т.д., и попадают на ваши ASP страницы через TFS ISAPI фильтр. Примечания: Страницы хранятся в определенном virtual directory. XSL для форматирования данных артефактов. Сложная ASP.Net application. Нет ASP страницы? Пользователь получит 404.


Слайд 22

Requirement Doc Artifact Generic Artifact Provider (GAP) Оболочка для инструментов вне TFS Requirements Tool Requirement X LinkedToURI: Windows SharePoint Services Requirement Doc URL: Note: GAP Adapter нужен для каждого инструмента. Adapter должен получать сообщения об изменениях в артефактах GAP http://.../ReqDoc/2a45690 http://Proj1/ReqDocs/ReqX.doc links, other data http://.../ReqDoc/2a45690 http://Proj1/ReqDocs/ReqX.doc


Слайд 23

Team Foundation Server Team Foundation Common Services Группы Пользователей User Groups Lightweight user groups / roles for security and policy. Default groups for common roles. Group resolution includes AD groups and TFS groups. TFS Enabled Tools will include these user groups when they perform authorization. In addition, TFS provides simple auth services for tools that can use them


Слайд 24

User Group Служба Требует компоненты Win 2003 Server Authorization Manager (AzMan) Active Directory Application Mode (ADAM) Пользователи могут определять собственные группы По определению, тулы с поддержкой TFS знают о пре-определеных группах Administrators и Project Administrators. Определения групп могут передаваться в WSS, SQL Reporting Services. Для авторизации: Пишите свои собственные и пользуйтесь группами TFS or Пользуйтесь нашим механизмом AzMan авторизации


Слайд 25

Обзор User Group API IsMember CreateProjectGroup ListProjectGroups AddMemberToProjectGroup RemoveMemberFromProjectGroup ListMembers ListMemberOf


Слайд 26

Team Foundation Server Team Foundation Common Services Classification Service Classification Централизованная схема классификации для поддержки сквозных (cross-tool) отчетов. В V1 поддержка: Project Structure and Iteration.


Слайд 27

Классофикация не нужна


Слайд 28

Status by Team Незаконченная Спецификация Неоконченные задачи (10s) Строки кода (1000s) Новые /измененные строки кода (10s) Активные баги Степень нахождения багов Степень починки Fix Rate Запуски тестов(10s) Степень падения тестов (%) Непокрытый тестом код (%) Классификация нужна Статус по командам


Слайд 29

Status by Team Unfinished Specifications Unfinished Tasks (10s) Lines of Code (1000s) New and Changed Lines of Code (10s) Active Bug Count Find Rate Fix Rate Tests Run (10s) Test Fail Rate (%) Uncovered Code (%) Классификация нужна Код из версионного контроля Спецификации (ТЗ) из SharePoint Баги, задачи из Work Item Tracking Результаты из Тестов (Testing Software)


Слайд 30

Обоснование Классификации Общая классификация позволяет делать отчеты по всем инструментам. Подход: Организация Work item (структуры портфолио проекта portfolio project structure) понятна для менеджеров проекта Пользователи категоризуют source trees/subtrees и другие артегакты (тесты, и т.д.) в структуру work item. Позволяет создавать отчеты, которые не могут следовать из прямых связей между source, work items, и другими интересуюшими нас артефактами.


Слайд 31

Explicit Классификация и Отчеты Некоторые отчеты могут быть написаны без обязательного указания классификации Отчеты из данных полученных из ОДНОГО инструмента. Отчеты из данных из нескольких инструментах, но с преопределенными связями (predefined relationships) Некоторые отчеты – не могут.... Если связи не предопределены.


Слайд 32

Обзор API Классификации Артефакты содержат линки на классифицируещие ноды (nodes) Контекст проекта - Project Context ListProjectContexts CreateProjectContext DeleteProjectContext Структуры GetStructure (Выдает полную структуру классификаций) CreateNode ListPermittedChildNodeTypes RenameNode MoveNode DeleteNode


Слайд 33

Интеграция со стороны сервера


Слайд 34

Интеграция со стороны клиента Partner Client Tool Inside the IDE Visual Studio IDE


Слайд 35

Интеграция со стороны клиента Visual Studio IDE Portfoliо Explorer Portfolio Project Creation Wizard Мастер создания проекта Portfolio Project Properties Team Foundation Core Extension Points


Слайд 36

Project Context Node Ваш тул здесь


Слайд 37

Ваши шаги Расширяемая модель для построения


Слайд 38

Расширения шаблонов проекта


Слайд 39

Client-Side Integration Visual Studio IDE Portfolio Explorer Project Creation Wizard Team Foundation Core Extension Points Project Properties


Слайд 40

Portfolio Project Properties Новый таб


Слайд 41

Work Item Tracking Reporting Warehouse SQL Server Reporting Services Source Code Control Work Item PULL Adapter Source Code PULL Adapter Partner Tool A Partner Tool A PULL Adapter Reporting Warehouse Reporting Warehouse Object Model Excel 3rd Party/ Custom Reporting Test/Build PUSH Adapter Partner Tool B PUSH Adapter


Слайд 42

Reporting Warehouse Collection point for reporting/analysis Storage for trend analysis Extensible Adapter model Add dimensions/measures Pull model from data source Push model directly to warehouse Uses SQL Server Yukon RDB for star schema Analysis Services for OLAP cubes


Слайд 43

Project Portal WSS Site на проект Добавление своих web parts в галлерею Расширение шаблонов в ТFS


Слайд 44


Слайд 45

Примеры из VS 2005 SDK Версионный контроль Политика checkin Oсновы ВК Запрещенные checkin’ы Интеграция с Team Build Подписки на TFS Основные службы TFS Коллекции Work Item tracking Work items Work Items Controls Team Explorer Team Explorer плагин Тeam Test Расширения для Team Test – Team Test Extensibility


Слайд 46

Architecting for TFS On the server Register your tool characteristics at install time “Artifact-ize” for data integration Implement TFS-enablement APIs/Web Services Add an ASP page for web-based artifact display Extend your authorization to include TFS user groups Raise/respond to TFS Notifications Use (and extend) the warehouse and reports On the client Use IDE extensibility points Provide web parts to expose your data Add your own portfolio project and SharePoint templates


Слайд 47

© 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


×

HTML:





Ссылка: