Работа с любым типом приложения

Microsoft Dataverse предоставляет несколько способов интеграции в любое приложение (мобильное, Интернет, классическое), устройство, система или служба. Для облачных решений есть способы интеграции независимо от модели, в которой развернуто ваше решение — инфраструктура как услуга (IaaS), платформа как услуга (PaaS) или программное обеспечение как услуга (SaaS). Для решений на основе IaaS подход интеграции также хорошо работает, если решения выполняются внутри контейнеров.

В некоторых случаях интеграция с приложением может быть достигнута с помощью бизнес-логики, содержащейся в Dataverse. В других случаях это будет включать интеграцию через события, Dataverse OData API, или с помощью подключаемых модулей.

Определение бизнес-логики

Таблицы в Dataverse могут использовать развитую логику на стороне сервера для обеспечения качества данных и снижения повторного кодирования в каждом приложении, которое создает и использует данные в таблице.

  • Бизнес-правила: проверяют данные в нескольких столбцах и таблицах и обеспечивают предупреждения и сообщения об ошибках, вне зависимости от приложения, используемого для создания данных. Дополнительные сведения: Создание бизнес-правила для таблицы

  • Последовательности операций бизнес-процесса помогают пользователям для обеспечения согласованного ввода данных и выполнения одних и тех же действий каждый раз. Последовательности операций бизнес-процесса в настоящее время поддерживаются только для приложений на основе модели. Дополнительные сведения: Обзор последовательности операций бизнес-процесса

  • Бизнес-процессы позволяют автоматизировать бизнес-процессы без вмешательства пользователей. Больше информации: Классические бизнес-процессы Dataverse

  • Бизнес-логика с кодом поддерживает сложные сценарии разработчика, чтобы расширить приложение непосредственно с помощью кода. Больше информации:  Применение бизнес-логики с помощью кода

Интеграция с приложениями с помощью событий

Общий подход к интеграции приложений заключается в использовании событий. Например, в Dataverse происходит такое событие, как добавление новой строки, и об этом следует сообщить связанной системе, чтобы можно было выполнить действие. Например, если был подан новый запрос в службу поддержки, это может привести к отправке SMS-сообщения назначенному сотруднику службы поддержки.

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

Самые популярные подходы в Dataverse включают веб-перехватчики, обмен сообщениями Azure (служебная шина, центры событий), Azure Logic Apps или Power Automate.

События в Dataverse.

Веб-перехватчики

С помощью Dataverse вы можете отправлять данные о событиях, происходящих в службе, в веб-приложение с помощью веб-перехватчиков. Веб-перехватчик представляет собой упрощенную схему HTTP для соединения интерфейсов веб-API и служб с использованием модели публикации и подписки. Отправители веб-перехватчиков уведомляют получателей о событиях, отправляя принимающим конечным точкам запросы, содержащие некоторые сведения о событиях.

Веб-перехватчики позволяют разработчикам и независимым поставщикам ПО интегрироваться данные Dataverse с собственным кодом, размещаемым на внешних сервисах. С помощью модели веб-перехватчиков можно защитить свою конечную точку, используя заголовок проверки подлинности или ключи параметров строки запроса. Это проще, чем подписанный URL-адрес Модель аутентификации, используемая с интеграцией служебной шины Azure.

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

  • Веб-перехватчики позволяют выполнять синхронные и асинхронные шаги.

  • Веб-перехватчики отправляют POST-запросы с полезной нагрузкой JSON и могут использоваться любым языком программирования или веб-приложением, размещенным где угодно.

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

Служебная шина Azure

Служебная шина обеспечивает безопасный и надежный канал связи между данными среды выполнения Dataverse и внешними облачные бизнес-приложениями. Эта возможность особенно полезна для сохранения синхронизации разрозненных систем Dataverse или других серверов Dataverse с изменениями бизнес-данных.

Последовательность событий следующая:

  • Приложение прослушивателя зарегистрировано в конечной точки служебной шины и начинает активно прослушивать контекст удаленного выполнения Dataverse в служебной шине.

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

  • Претензии, размещенные Dataverse аутентифицированы. Затем служебная шина передает контекст удаленного выполнения прослушивателю. Прослушиватель обрабатывает контекстную информацию и выполняет с этой информацией некоторую бизнес-задачу. Служебная шина уведомляет асинхронную службу об успешной публикации и устанавливает состояние связанной системной задачи на "Завершено".

Служебная шина ретранслирует контекст данных сообщения запроса между Dataverse и приложения прослушивателя решения служебной шины. Служебная шина также обеспечивает безопасность данных, так что только авторизованные приложения могут получить доступ к опубликованным данным Dynamics 365. Авторизация Dataverse для отправки контекста данных в служебную шину, и для приложений прослушивателя для чтения, управляется подписанным URL-адресом Azure.

Больше информации:  Служебная шина и Аутентификация и авторизация служебной шины

Logic Apps и Power Automate

Logic Apps в Azure и Power Automate в Microsoft Power Platform могут инициировать бизнес-процесс, который можно использовать для интеграции с событиями и данными приложения по расписанию или по действию в базе данных, системе, службе или SaaS.

Logic Apps и Power Automate с Dataverse.

Эти бизнес-процессы могут выполнять логику и взаимодействовать с этими системами, используя сотни соединителей с базами данных, PaaS и SaaS.

Например, когда строка добавляется в реляционную базу данных, такую как SQL, это может запустить рабочий процесс, который может вставить эти данные в Dataverse.

Благодаря возможности создания настраиваемых соединителей с использованием определений Open API (ранее Swagger) для службы, также легко включить службы, функции и код, выполняемые в IaaS и службе Azure Kubernetes (AKS).

Интеграция Dataverse в приложения с OData API

Все популярные языки программирования поддерживают форму интеграции с API на основе REST.

Dataverse с API OData.

Веб-API Dataverse предоставляет опыт разработки, который может использоваться на самых разных языках программирования, платформах и устройствах. Веб-API реализует OData (Open Data Protocol), версия 4.0, стандарт OASIS для создания и использования RESTful API через источники сложных данных. Вы можете узнать больше об этом протоколе по адресу www.odata.org. Для получения дополнительной информации об этом стандарте см. www.oasis-open.org.

Dataverse использует подход «сначала API». Это означает, что служба не просто предоставляет механизм для запроса данных, она также предоставляет метаданные от службы по бизнес-правилам, ограничениям и т. д. Поэтому можно использовать для создания интеллектуальных, отзывчивых приложений и служб.

API защищен с помощью OAuth. OAuth требует поставщика idtable для аутентификации. Для Dataverse поставщиком idtable является Microsoft Entra ID. Для аутентификации с Microsoft Entra, используя рабочую или учебную учетную запись Майкрософт, используйте библиотеки аутентификации Microsoft (MSAL).

Для получения дополнительной информации о начале работы с веб-API Dataverse см. Использование веб-API Dataverse.

Для получения дополнительной информации об использовании веб-API Dataverse с OAuth см. Использование OAuth с Dataverse.

Подключаемые модули

Dataverse предоставляет возможность писать код, который находится между API и данными. Этот код, написанный на .NET, называется подключаемым модулем. Поскольку подключаемый модуль находится между API и данными, он применяет одну и ту же логику в каждом приложении.

Подключаемые модули могут быть синхронными или асинхронными и выполнять следующие задачи:

  • Возвращать ошибки пользователю.

  • Запрос данных Dataverse для оценки логики для выполнения.

  • Выполнение операций с данными.

  • Выполнять исходящие HTTP-запросы.

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

Plug-in event pipeline

В конвейере событий могут происходить следующие события:

  • Запросы и Ответы могут быть рассмотрены и отклонены или обработаны за несколько шагов конвейера событий.

  • Обработчики проверки могут генерировать настраиваемые исключения для отклонения операций, которые ваша логика считает недопустимыми.

  • Предоперационные обработчики могут изменять запросы перед операцией базы данных.

  • Постоперационные обработчики могут изменить ответы.

  • Асинхронные обработчики выполняют автоматизацию после возврата ответа.

Одно ограничение с подключаемыми модулями заключается в том, что они должны быть автономными. Если для кода интеграции требуются ссылки на другие библиотеки, интеграция может быть выполнена с помощью функций Azure.

Функции Azure

Функции Azure предоставляют возможность выполнения кода без сервера для бизнес-логики и логики интеграции.

Dataverse с функциям Azure.

Функции запускаются вызовом из внешней системы, службы или кода. Для Dataverse этот триггер может исходить непосредственно от Dataverse, используя служебную шину, веб-перехватчик или вызов из подключаемого модуля. Кроме того, вызов функций Azure можно инициировать с помощью потока в Веб-API или Power Automate, что включает в себя соединитель Dataverse.

Дополнительные сведения: Расширение бизнес-процессов с помощью подключаемых модулей

Примечание

Каковы ваши предпочтения в отношении языка документации? Пройдите краткий опрос (обратите внимание, что этот опрос представлен на английском языке).

Опрос займет около семи минут. Личные данные не собираются (заявление о конфиденциальности).