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

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

Posts Tagged ‘отчетность’

Практическое руководство по отчетности TFS. Open Data Protocol (OData)

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

Что это такое?

Протокол Open Data Protocol (OData) — веб-протокол для запроса и обновления данных, который предоставляет метод для разблокировки ваших данных и возможность избавить их от хранилищ, которые сегодня существуют в приложениях. OData делает это с применением веб-технологий, таких как HTTP, Atom Oublishing Protocol(AtomPub) и JSON, для обеспечения доступа к информации из различных приложений, услуг и хранилищ.

Протокол является опытом реализации клиентов и серверов AtomPub в различных продуктах за последние несколько лет. OData помогает нам представить и обеспечить доступ к информации из различных источников, включая, но не ограничиваясь, реляционные базы данных, файловые систем, системы управления контентом и традиционные веб-сайтов.

Зачем его использовать?

В настоящее время в интернете существуют общие пути проектирования Application Programming Interfaces (API) веб-приложений. Многие из них применяют принципы REST или CQRS и используют JSON или XML для предоставления данных.

Часто задаваемые вопросы:

  • Что означает сделать POST к конкретному ресурсу?
  • Что необходимо для идентификации связанных ресурсов?
  • Возможно ли применять фильтры для извлечения определенных ресурсов?

Эти и многие другие вопросы должны быть освещены в документации разработчика для каждого API.

OData решает эту проблему, предоставляя единый метод представления, структурирования, запроса и манипулирования данными с использованием практик REST и синтаксиса JSON или ATOM для описания полезных данных.

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

С помощью OData вы окунетесь в большую экосистему, которая будет направлена на ваш набор данных, без необходимости длительного изучения перед началом работы с данными.

Настройка TfsOData

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

Примечание

При использовании https://tfs.visualstudio.com, OData включен по умолчанию. Если у вас нет планов настройки потока OData, этот раздел будет вам только для информации. Для получения более подробной информации см. Bringing OData to Team Foundation Service.

Примечание

При использовании ALM VM TFS 2012 (http://aka.ms/almvms) Брайана Келлера, вам необходимо убедиться, что у вас в наличии свежая виртуальная машина и что включена синхронизация времени, в противном случае вы не сможете подключиться к каналу размещенной службы odata из-за ошибки сертификата. Вам также нужно будет включить доступ в Интернет.

Предварительные требования

Сборка сервисов OData
Развертывание сервисов OData
Сторонние решения
  • Служба OData использует WCF Data Services Toolkit, чтобы обеспечить общие задачи, связанных со сборкой конечной точки OData со службой данных WCF. Эта зависимость расположена в папке code\References.
  • Проект ODataTFS.Tests, который содержит модульные тесты, зависит от библиотеки с названием Moq. Версия 4.0 этой зависимости включена как часть загрузки службы OData.

Таблица 1. Предварительные требования

Примечание

Если вы хотите запускать или отлаживать с помощью эмулятора Azure, вам также нужно будет установить IIS с возможностью ASP.NET на компьютере разработчика.

Развертывание служб OData на сервере IIS

Примечание

Это руководство было проверено на Windows Server 2008 R2 Standard SP1, Windows Server 2012 Standard и в Windows Server 2012 R2. Вам может потребоваться адаптировать его в соответствии с вашей средой, если есть какие-либо различия.
Шаг Описание
1. Установить роль Web Server (IIS)

[ ] — Сделано

  • Установить роль Web Server (IIS) и включить службы роли ASP.NET.
  • Добавить зависимые службы при появлении соответствующего запроса. В Server 2012 этот выбор будет включать Application Development | ASP.NET 4.5.
  • Включить параметр Dynamic Content Compression.
2. Установить NET Framework 4.5

[ ] — Сделано

  • Это является предварительным условием для клиентской объектной модели Team Foundation Server.
  • На сервере 2012 это условие является частью ASP.NET 4.5.
Примечание Если платформа .NET Framework установлена до IIS, необходимо использовать средство регистрации IIS для ASP.NET, которое поставляется с платформой.
  • Рекомендуется проверить наличие обновлений Windows после установки NET Framework.
3. Собрать OData для сервера

[ ] — Сделано

  • Откройте файл решения ODataTFS.sln в Visual Studio
  • Если у вас уже установлен пакет SDK Azure, перейдите к следующему разделу.
  • Если вы хотите избежать установки Azure SDK и в конечном итоге будете выполнять развертывание в IIS, вы можете просто удалить ссылки Microsoft.WindowsAzure.* из веб-проекта.

  • Выберите Build | Rebuild Solution, чтобы убедиться, что все обновлено.
4. Опубликовать OData

[ ] — Сделано

  • Щелкните правой кнопкой мыши на проекте ODataTFS.Web в обозревателе решений и выберите Publish.
  • Вы можете использовать любой метод публикации, который вы хотите, но оставшиеся инструкции в разделе основаны на методе публикации в файловой системе.

5. Скопировать опубликованный веб-сайт на сервер

[ ] — Сделано

  • Запустите скрипт InstallTFSObjectModel.cmd из папки \bin\SetupFiles опубликованного веб-сайта. Это позволит установить сборки клиентской объектной модели Team Foundation Server в глобальный кэш сборок.
  • Запустите скрипт SetupIIS.cmd из папки \bin\SetupFiles опубликованного веб-сайта для создания папки кэша клиентской объектной модели Team Foundation Server и установки разрешений для группы IIS_IUSRS для папки кэша.
6. Настроить безопасность

[ ] — Сделано

  • Убедитесь, что группа IIS_IUSRS также имеет все разрешения в это место, через командную строку или через свойства папки и вкладку Безопасность в окне проводника Windows.
  • Создайте и настройте новый веб-сайт в IIS. Установить основные настройки сайта, такие как имя, порт и имя хоста, для вашей конкретной среды.
  • Убедитесь, что вы используете HTTPS и SSL-сертификат для привязки.
  • Предпочтительно использовать физический путь c:\Inetpub\wwwroot\TfsOdataAlmRangers, вместо c:\odata.

Примечание

Для тестирования, можно использовать самозаверяющийся сертификат. Один из способов сделать это, с использованием IIS Manager перейти в узел машины, открыть Server Certificates и выбрать Create Self-Signed Certificate. Чтобы узнать больше о SSL и IIS, смотрите http://learn.iis.net/page.aspx/144/how-to-set-up-ssl-on-iis-7/
7. Настройте .NET Framework

[ ] — Сделано

После того, как был создан веб-сайт, мы также должны убедиться, что соответствующий пул приложений настроен на использование .NET Framework 4. Будет нормально, если дополнительный номер версии больше чем показанный на скриншоте.

8. Готово!

[ ] — Сделано

С этого момента сервисы OData готовы к использованию.

Таблица 2. Руководство: Развертывание служб OData на сервере IIS

Реклама

Posted in TFS Practical Reporting Guide | Отмечено: , , , | Leave a Comment »

Практическое руководство по отчетности TFS. Отчетность в TFS Service

Posted by Шамрай Александр на Ноябрь 29, 2013

<<Содержание

Проблемы Отчетности

Team Foundation Server всегда включает в себя важную функцию отчетности через компоненты управления рабочими элементами, управления версиями, сборку, качество кода и тестирование. Архитектура отчетности основана на оперативных хранилищах, оперативная база данных хранилища и куб служб аналитики являются частью инфраструктуры локального TFS, обеспечивая видение и прозрачность необходимые для реагирования и выравнивания ситуации, и для постоянно меняющихся условий.

Примечание

Смотрите электронную книгу компаньон Практическое руководство по отчетности TFS — Часть 2 Хранилище Данных для справки и примеров, сосредоточенных на хранилище данных.

Когда вы выбираете Visual Studio онлайн в качестве вашего решения управления жизненным циклом приложений (ALM), как это сделали мы в апреле 2011 года, вы не сможете насладиться богатой отчетностью (пока). Хотя Visual Studio онлайн будет продолжать развиваться и добавит функции отчетности, нам нужно больше прозрачности для наших проектов и возможность определить пожары заранее.

Оставшаяся часть данного руководства познакомит вас с табличной моделью, моделью PowerPivot, OData и проведет вас через решения Рейнджеров ALM, которые они сделали для этого руководства и для использования в их оперативной среде.

Возможности Моделей Отчетности

Этот раздел содержит сравнение моделей Tabular и PowerPivot, что позволит вам выбрать правильную модель для вашей среды.

Масштабируемость

Табличная модель (Tabular) сервер-ориентирована и имеет возможностей для масштабирования больше, чем может предложить PowerPivot. PowerPivot ограничивается размером 2 ГБ (для файла Excel) и поддерживает только режим запросов in-memory по сравнению с режимом DirectQuery.

Режим запросов In-memory именно то, как это звучит – данные должны быть загружены в память перед выполнением по ним запроса. Это также означает, что при изменении базовых данных, данные в памяти также необходимо обновить, для того чтобы показать их в результате запроса.

Режим DirectQuery обходит эти и другие недостатки, позволяя движку обрабатывать данные непосредственно с диска, и лучше поддерживает оптимизацию и безопасность данных. Существуют и недостатки в режиме DirectQuery – самым большим из которых является использование только одного источника реляционных данных после того, как модель уже настроена на использование DirectQuery. Excel не может использоваться в качестве клиента к кубу через режим DirectQuery.

Примечание

Для получения дополнительной информации о запросах DirectMode перейдите сюда.

Табличные модели поддерживают разделы данных, которые позволяют табличной модели загружать и обрабатывать кусками, а не все сразу как модель PowerPivot. Модели могут содержать большое количество данных и тем не менее выполняться очень быстро. Например, такой подход позволяет хранить данные о продажах за двадцать лет. Это безопасная ставка, т.к. данные о продажах за последние два года и более больше не меняются, так что модель может быть настроена на обработку данных только последних продаж. В PowerPivot все исторические данные по продажам будут обрабатываться при каждом обновлении базовых данных.

Расширяемость

PowerPivot поддерживает расширяемость, которая обеспечивается с помощью Excel, но она ограничена. Табличные модели позволяют разработчикам использовать SQL Server Management Studio, Analysis Management Objects (AMO), ActiveX Data Objects Multidimensional Library (ADOMD), XML for Analysis (XMLA), Analysis Services Deployment Wizard, AMO for PowerShell и SQL Server Integration Services для импорта и обработки данных. Тут гораздо больше инструментов, чем доступно с моделью PowerPivot для Excel.

Безопасность

Модели PowerPivot защищены с помощью управления доступом к файлу Excel. Это предел модели безопасности. Табличные модели вводят возможность безопасности на уровне строк и динамическую безопасность через использование Ролей и членства ролей. Безопасность на уровне строк контролируется фильтром, применяется во время выполнения запроса, основываясь на роли пользователей.

Динамическая безопасность позволяет управлять безопасностью на основе пользователя, который вошел в систему для просмотра данных модели. Здесь сценарии включают в себя аспекты, которые можно изменить. Например, менеджер в состоянии увидеть информацию, связанную с его прямыми отчетами, которые могут измениться со временем, или доступ к данным, основанный на текущем географическом положение пользователя.

Примечание

Для получения дополнительной информации, смотрите этот технический документ: Security the Tabular BI Semantic Model.

Интегрированные инструменты разработки

PowerPivot живет в Excel и в то время как файл Excel можно поместить в систему управления версиями, но правление версиями или объектами становится довольно сложным. Кроме того, файлом Excel можно управлять вне каких-либо профессиональных инструментов разработки. Табличные модели, с другой стороны, строятся с использованием SQL Server Data Tools в среде Visual Studio. Это означает, что модели могут управляться с помощью Team Foundation Server и могут участвовать в таких процессах как автоматизированная сборка с помощью Team Build с автоматизированным развертыванием. Кэти Думас имеет отличный блог о пользовательских задачах MSBuild для развертывания здесь.

Выбор Правильной Модели

В следующей таблице приведены ключевые соображения для выбора подходящей модели для правильной ситуации.

Таблица 1. Табличная модель по сравнению с PowerPivot

Табличная модель

PowerPivot

Масштабируемость
  1. Никакого ограничения для максимального размера
  2. Поддерживает режим DirectQuery
  3. Один источник для реляционной базы данных
  4. Поддержка разделов
  5. Обычно подходит для крупных организаций.
  6. Требует SQL Analysis Services запущенные на сервере с большим количеством оперативной памяти (> 8 ГБ)
  1. Ограничение в 2GB (размер файла Excel) поддерживает только режим запросов in-memory
  2. Несколько источников данных
  3. Не поддерживает разделы
  4. Обычно подходит для небольших организаций

Расширяемость

Позволяет разработчикам использовать SQL Server Management Studio, Analysis Management Objects (AMO), ActiveX Data Objects Multidimensional Library (ADOMD), XML for Analysis (XMLA), Analysis Services Deployment Wizard, AMO for PowerShell и SQL Server Integration Services для импорта и обработки данных Только ограниченная поддержка для разработки – то что может делать Microsoft Excel

Безопасность

  1. Поддерживает безопасность на уровне строк и динамическую безопасность.
  2. Поддержка для ролей пользователей, которые определяют доступ к объектам и данным.
  1. Очень ограниченная поддержка безопасности.
  2. Типичным уровнем безопасности является ограничение доступа к файлу.

Инструменты разработки

Можно использовать инструменты разработки с репозиторием системы управления версиями Team Foundation Server и собирать с использованием Team Build Управления версиями может быть сложным

Преобразование <->

Нельзя преобразовать в модель PowerPivot (хотя можно загрузить в Excel) Можно преобразовать в Табличную модель

Сценарии использования модели PowerPivot

  • Модель поддерживается персонажами, которые не знакомы с Visual Studio.
  • Не затрагиваются ограничения в масштабируемости, безопасности, расширения или функций инструментов разработки.
  • Модели создаются для отдельных команд.
  • Ограничены или не поддерживают сервер SQL Server Analysis Services.
  • Ограничена или отсутствует поддержка среды SharePoint настроенной для PowerPivot.

Примечание

Для того, чтобы сделать модель PowerPivot общедоступной, они либо должны быть загружены на SharePoint (и SharePoint должен быть правильно настроен) или файл должен быть передан всем – 2 GB вероятно очень много для электронной почты!

Сценарии использования табличной модели

  • Типична для крупных предприятий.
  • Необходимо получить доступ и обмениваться данными через различные среды.
  • Поддержка сервера служб SQL Server Analysis Services.
  • Поддержка среды SharePoint настроенного для PowerPivot.

Предварительные Условия После Выполненного Выбора

Предварительные условия для создания табличной модели

Настройка для построения табличной модели является относительно простой и этот раздел не добавляет компоненты для различных интерфейсов, которые содержат отчеты с данными. В целях настоящего документа, отчетность по модели может быть выполнена с использованием функции анализа данных из Microsoft Excel.

  • Должен быть источник данных для модели данных. Т.к. этот документ посвящен Team Foundation Server, источник данных должен быть одним из следующих: канал TFS Service OData, база данных хранилища локального TFS или реляционная база данных коллекции (то есть TFS_<имя коллекции>). Основное внимание будет уделяться каналу OData и реляционной базе данных.
  • Необходимо установить службы SQL Server 2012 Analysis Services в табличном режиме. Инструкции для этой установки можно найти здесь.
  • Это все компоненты, которые необходимы разработчику для создания, публикации и отчетности в табличных моделях.

Предварительные условия для создания модели PowerPivot

Создание модели PowerPivot является несколько проще с точки зрения необходимых средств по сравнению с табличной модели.

  • Как в табличной модели источника данных не требуется.
  • Помимо этого, требуется Microsoft Excel 2010 или выше. Если версии Excel 2010, должна быть установлена надстройка. Эту надстройку можно загрузить отсюда. Если используется Excel 2013 надстройка PowerPivot автоматически устанавливается, но она не включается по умолчанию.
    • Чтобы включить:
      • Откройте пустую книгу в Excel 2013
      • Выберите Файл, Параметры
      • Выберите вкладку Надстройки
      • Выберите Надстройки Com и нажмите кнопку Перейти
      • Проверьте Microsoft Office PowerPivot для Excel 2013 и нажмите кнопку OK
    • Будет добавлена новая лента PowerPivot к существующим лентам.

Предварительно

Мы рассмотрели Табличную модель и модель PowerPivot. В следующем разделе мы представим OData и проведем вас через сборку модели PowerPivot в среде Visual Studio онлайн.

<<Содержание

Posted in Microsoft, Team Foundation Server, TFS Practical Reporting Guide, Visual Studio | Отмечено: , , , | Leave a Comment »

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