Заметки консультанта

Шамрай Александр Владимирович

Практическое руководство по отчетности TFS. Адаптеры данных и Хранилище TFS

Posted by Шамрай Александр на Декабрь 27, 2014

Предупреждение Этот раздел находится еще в стадии разработки и будет обновлен в ближайшее время. Мы приносим свои извинения за доставленные неудобства, но хотим быть уверенными, что мы представим руководство с высоким уровнем качества, когда будем готовы.

 

Майкрософт использует адаптеры хранилища для добавления данных в хранилище данных TFS. Эти адаптеры используются данные из операционных (транзакционных) таблиц и форматируют их в виде таблиц измерений и фактов. Можно создать собственный адаптер для увеличения данных в хранилище.

Рисунок 9. Архитектура Хранилища данных

Вы можете найти информацию о том, как разработать адаптер для более ранних версий TFS из публикаций от Матиаса Скольда, Стива Сен-Жана и Стивена Райта. Если вам нужно что-то более директивное, то есть загружаемый код и пошаговое руководство на веб-сайте корпорации Майкрософт.

Основы разработки адаптеров хранилища TFS

Реализация адаптера

Реализуются два интерфейса, когда вы получаете данные из операционных таблиц и вставляете их в хранилище данных TFS: IWarehouseAdapter и IDataStore. Интерфейс IWarehouse используется службой хранилища данных TFS для вызова пяти основных адаптеров по определенному графику для изменения данных. Интерфейс IDataStore используется службой хранилища данных TFS для взаимодействия в хранилище данных TFS.

IWarehouseAdapter имеет четыре метода:

  • Initialize: создает объекты, которые взаимодействуют с операционным хранилищем и хранилищем данных.
  • MakeSchemaChanges: создает новый атрибут измерения в хранилище. Этот атрибут содержит описание политики переопределения.
  • MakeDataChanges: вызывается каждый раз, когда вы обновляете хранилище. В этом адаптере метод проверяет все наборы изменений, сделанные с времени последнего обновления хранилища. Если набор изменений содержит описание переопределения политики, он вызывает метод SavePolicyOverrideCommentDimAttribute, который сохраняет описание в хранилище.
  • Cancel: когда вы хотите остановить адаптер.

Используя пример CSharp Assembly Churn, который предоставляется Microsoft, вы увидите лучшие практики создания отдельного таблицы измерения для данных, которые требуется добавить в хранилище данных TFS. Вам нужно иметь в виду, что версии TFS разные и вам не нужно быть привязанным к их таблицам, так как нет никакой гарантии, что они будут такими же после применения накопительного обновления или обновления версии.

Этот пример содержит SQL и классы, используемые при создании таблиц измерений, фактов и хранимых процедур, используемых в хранилище данных TFS и SQL.

Реализация с использованием адаптера для внесения данных изменений находится в классе CSharpAssemblyCodeChurnSampleAdapter. Этот класс содержит метод ProcessChangesets, который используется для получения сведений о сборке для файлов и их добавления в хранилище данных TFS.

Развертывание адаптера

Хорошим подходом является тестирование развертывания в непроизводственной среде. Можно рассмотреть использование виртуальной машины Брайана Келлера, если у вас только одна среда.

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

  • Скопируйте сборку в папку plugins хранилища
    • «C:\Program Files\Microsoft Team Foundation Server 11.0\Application Tier\Web Services\bin\Plugins» для TFS 2012
    • «C:\Program Files\Microsoft Team Foundation Server 12.0\Application Tier\Web Services\bin\Plugins» для TFS 2013
  • Перезапустите IIS.
  • Откройте браузер и перейдите по адресу https://localhost/tfs/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx?op=GetProcessingStatus и нажмите кнопку Invoke.
  • Продолжайте делать это до тех пор, пока статус возвращается как Idle.
  • Убедитесь, что это не вызвало никаких проблем, проверив журнал событий приложений Windows на отсутствие каких-либо ошибок.

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

Рекомендуется выполнять мониторинг состояния обработки хранилища данных TFS. Отчеты о состоянии обработки куба Гранта Холлидея обеспечат информацию об ошибках, которые возникают.

Важная информация

Элементы, на которые стоит обратить внимание:

  • Важные изменения схемы в структуре таблицы хранилища:
    • TFS 2010: до сих пор используется много внешних ключей каскадного удаления, что убивает производительности
    • TFS 2010 SP1: удалено большинство связей с внешними ключами, адаптерам необходимо «очищать после себя»
    • TFS 2012/2013: едва ли были какие-либо изменения в хранилище данных, но схема операционного хранилища была значительно изменена, особенно в области сборок
  • Версии платформы .NET framework, параметры ЦП для адаптеров
    • TFS 2010: .NET 4, AnyCPU, с ожидаемой загрузкой в среде x64
    • TFS 2012: .NET 4.5, AnyCPU, с ожидаемой загрузкой в среде x64
    • TFS 2013: .NET 4.5.1, AnyCPU, с ожидаемой загрузкой в среде x64
  • Минимальные требования SQL Server
    • TFS 2010 (SQL Server 2008)
    • TFS 2012 (SQL Server 2008 R2)
    • TFS 2013 (SQL Server 2012)
    • SQL 2014 не был проверен
  • Сборки для ссылки и где их найти
    • Описания SK/BK для существующих измерений и фактов
    • Отладка адаптера (присоединить Visual Studio к службе TFS Job)
    • Срабатывание адаптера (вызов веб-службы хранилища)
Advertisements

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

 
%d такие блоггеры, как: