Итак, ваши сотрудники работают с информацией в Office 365, и им это нравится. Они обращаются к данным каждый день, но на самом деле Office 365 используется лишь для совместной работы с документами и иногда — как платформа для публикаций и обсуждения. После того как эта стадия достигнута, следующая веха — создавать решения, расширяющие возможности для бизнеса и обработки данных.

Прежде всего, если нужно построить решение, ориентированное исключительно на данные и предназначенное для их представления, наиболее подходящая служба в Office 365, несомненно, Power BI (https://powerbi.microsoft.com/en-us/).

Кроме того, можно рассмотреть такие области, как рабочие процессы, формы и хранилища данных. Это можно сделать, подготовив пользовательские надстройки и программный код. Однако, если вы хотите обойтись готовыми функциями, следует обратиться к PowerApps (https://powerapps.microsoft.com/en-us/) и Flow (https://flow.microsoft.com/en-us/).

Начнем с PowerApps. Вам нужно зарегистрироваться на сайте PowerApps или уже иметь подписку клиента Office 365. На сайте следует обратиться к службе Common Data Service из левой области навигации, а затем щелкнуть ссылку Entities («Сущности»), как показано на экране 1.

 

Начало работы с данными
Экран 1. Начало работы с данными

Далее щелкните Create database («Создать базу данных») и в ответ на приглашение настройте доступ для своих пользователей (экран 2).

 

Создание базы данных
Экран 2. Создание базы данных

Разрешение Restrict access позволит указать пользователей, которым необходим доступ к базе данных. При создании базы данных сверху отображается голубая полоса (экран 3).

 

При создании базы данных вверху отображается голубая полоса
Экран 3. При создании базы данных вверху отображается голубая полоса

По завершении процесса выдается приглашение Browse entities («Просмотр сущностей»), Create an app («Создать приложение») или Try a sample app («Опробовать пример приложения»). Прежде чем сделать выбор, разберемся в том, что было создано (см. рисунок, источник изображения: https://pwrappsdps.blob.core.windows.net/media/powerapps.microsoft.com/en-us/documentation/articles/learning-common-data-service/20161212105937/architecture.png).

 

Схема обращения к базе данных
Рисунок. Схема обращения к базе данных

Службу Common Data Service следует рассматривать как иерархическую структуру. На нижнем уровне она хранит данные масштабируемым и надежным способом и обеспечивает доступность данных для нескольких приложений. Следующий уровень — Common Data Model, охватывающий многие сущности, используемые в приложениях и бизнес-процессах, такие как Account («Клиент»), Contact («Контакт»), Product («Продукт») и Sales Order («Заказ на продажу»). Вы можете расширить стандартный набор сущностей и создать пользовательские сущности, соответствующие вашим бизнес-требованиям.

Сущность — лишь комбинация метаданных, которые описывают ее (имена полей, типы данных и т. д.), и данные, которые хранятся в ней. Если вы знакомы с Access или другой базой данных, то сущность очень похожа на таблицу. Перечислим некоторые из преимуществ, достигаемых при работе с данными сущности в службе Common Data Service.

  • Простота управления: и метаданные, и данные хранятся в «облаке». Нет необходимости заботиться об их хранении.
  • Простота общего доступа: вы можете без труда обмениваться данными с коллегами, так как PowerApps управляет разрешениями.
  • Простота организации защиты: данные надежно защищены, и пользователь может видеть их, только если ему предоставлен доступ. Безопасность на основе ролей позволяет управлять доступом к сущностям для различных пользователей внутри компании.
  • Расширенные метаданные: типы и отношения данных формируются непосредственно внутри PowerApps. Например, определение URL-адреса типа поля представит ваши данные как гипер­ссылку в приложении.
  • Средства обеспечения производительности: сущности предоставляются в надстройках для Microsoft Excel и Outlook с целью увеличения производительности и обеспечения доступности данных.
  • Списки выбора: обширный набор стандартных списков выбора предоставляет раскрывающиеся списки в сущностях и приложениях.

Остается вопрос: почему нужно использовать сущности?

В действительности делать это не обязательно, но Common Data Service предоставляет базовую структуру данных, используемую для типовых данных, применяемых в большинстве компаний. Конечно, вы можете дополнить свой арсенал пользовательскими сущностями для ваших конкретных нужд.

Построим приложение и посмотрим, каким образом увязываются все компоненты решения. Просто щелкните по ссылке Create a new app («Создать новое приложение») и выберите вариант создания с использованием веб-интерфейса. Затем, как показано на экране 4, выберите плитку Common Data Service, Phone layout («Макет телефона»).

 

Создание приложения
Экран 4. Создание приложения

Далее выберите @Foundation.Contact из списка сущностей для нового приложения и нажмите кнопку Connect (экран 5).

 

Подсоединение к данным
Экран 5. Подсоединение к данным

Приложение по умолчанию строится на начальном наборе данных. Это превосходно, но, чтобы данные были полезными, их необходимо экспортировать. Несколько отличных примеров того, что можно сделать со службой Common Data Service, приведены по адресу: https://powerapps.microsoft.com/en-us/blog/5-new-powerapps-templates-for-the-common-data-service/.

Чтобы использовать один из них, следует выбрать не Common Data Service, Phone layout, а плитку App templates («Шаблоны приложений»). Из списка выберите Invoice Management («Управление накладными»). Данные шаблоны построены на Common Data Service, и в нем, в частности, используются сущности Account («Клиент»), Sales Invoice («Счет продажи») и Sales Invoice Line («Строка счета продажи») (экран 6).

 

Использование шаблона
Экран 6. Использование шаблона

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

 

Несоответствия между полями и источниками данных
Экран 7. Несоответствия между полями и источниками данных

Чтобы устранить этот недостаток, необходимо выбрать пострадавшую форму и элементы управления и назначить им правильные значения. В данном примере достаточно присвоить Sales invoice line значение действительного набора данных; в моем случае это @Sales.SalesInvoiceLine (экран 8).

 

Исправление несоответствия между полями и источниками данных
Экран 8. Исправление несоответствия между полями и источниками данных

После того как все формы будут исправлены, тестовое приложение начнет работать как положено. Мы получим приложение, основанное на Common Data Service, с данными, сохраненными в «облаке» и доступными для экспорта локально (экран 9).

 

Данные из приложения можно экспортировать
Экран 9. Данные из приложения можно экспортировать

Данные в формате Excel доступны для просмотра, изменения и обратного импорта. Таким образом, данные всегда доступны в сети. Теперь можно связать события Microsoft Flow с этими данными и приложением, чтобы создать оптимальное бизнес-приложение. В целом, используя стандартные сущности, вы можете, не проектируя программный код, расширить модель данных за счет пользовательских сущностей, открыв новый путь к построению еще более эффективных PowerApps и Flow. Common Data Service предоставляет единую модель данных, которая получает данные из многих систем, связывает их и дает пользователям возможность просматривать и обновлять данные в нескольких приложениях.