Работа с любым типом приложения
Microsoft Dataverse предоставляет несколько способов интеграции в любое приложение (мобильное, Интернет, классическое), устройство, система или служба. Для облачных решений есть способы интеграции независимо от модели, в которой развернуто ваше решение — инфраструктура как услуга (IaaS), платформа как услуга (PaaS) или программное обеспечение как услуга (SaaS). Для решений на основе IaaS подход интеграции также хорошо работает, если решения выполняются внутри контейнеров.
В некоторых случаях интеграция с приложением может быть достигнута с помощью бизнес-логики, содержащейся в Dataverse. В других случаях это будет включать интеграцию через события, Dataverse OData API, или с помощью подключаемых модулей.
Определение бизнес-логики
Таблицы в Dataverse могут использовать развитую логику на стороне сервера для обеспечения качества данных и снижения повторного кодирования в каждом приложении, которое создает и использует данные в таблице.
Бизнес-правила: проверяют данные в нескольких столбцах и таблицах и обеспечивают предупреждения и сообщения об ошибках, вне зависимости от приложения, используемого для создания данных. Дополнительные сведения: Создание бизнес-правила для таблицы
Последовательности операций бизнес-процесса помогают пользователям для обеспечения согласованного ввода данных и выполнения одних и тех же действий каждый раз. Последовательности операций бизнес-процесса в настоящее время поддерживаются только для приложений на основе модели. Дополнительные сведения: Обзор последовательности операций бизнес-процесса
Бизнес-процессы позволяют автоматизировать бизнес-процессы без вмешательства пользователей. Больше информации: Классические бизнес-процессы Dataverse
Бизнес-логика с кодом поддерживает сложные сценарии разработчика, чтобы расширить приложение непосредственно с помощью кода. Больше информации: Применение бизнес-логики с помощью кода
Интеграция с приложениями с помощью событий
Общий подход к интеграции приложений заключается в использовании событий. Например, в Dataverse происходит такое событие, как добавление новой строки, и об этом следует сообщить связанной системе, чтобы можно было выполнить действие. Например, если был подан новый запрос в службу поддержки, это может привести к отправке SMS-сообщения назначенному сотруднику службы поддержки.
Эта интерактивность также может происходить в противоположном направлении — обновление во внешней системе может привести к добавлению, обновлению или удалению данных из среды Power Platform.
Самые популярные подходы в Dataverse включают веб-перехватчики, обмен сообщениями Azure (служебная шина, центры событий), Azure Logic Apps или Power Automate.
Веб-перехватчики
С помощью 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.
Эти бизнес-процессы могут выполнять логику и взаимодействовать с этими системами, используя сотни соединителей с базами данных, PaaS и SaaS.
Например, когда строка добавляется в реляционную базу данных, такую как SQL, это может запустить рабочий процесс, который может вставить эти данные в Dataverse.
Благодаря возможности создания настраиваемых соединителей с использованием определений Open API (ранее Swagger) для службы, также легко включить службы, функции и код, выполняемые в IaaS и службе Azure Kubernetes (AKS).
Интеграция Dataverse в приложения с OData API
Все популярные языки программирования поддерживают форму интеграции с API на основе REST.
Веб-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-запросы.
Подключаемые модули регистрируются в точках в конвейере событий, которые показаны здесь.
В конвейере событий могут происходить следующие события:
Запросы и Ответы могут быть рассмотрены и отклонены или обработаны за несколько шагов конвейера событий.
Обработчики проверки могут генерировать настраиваемые исключения для отклонения операций, которые ваша логика считает недопустимыми.
Предоперационные обработчики могут изменять запросы перед операцией базы данных.
Постоперационные обработчики могут изменить ответы.
Асинхронные обработчики выполняют автоматизацию после возврата ответа.
Одно ограничение с подключаемыми модулями заключается в том, что они должны быть автономными. Если для кода интеграции требуются ссылки на другие библиотеки, интеграция может быть выполнена с помощью функций Azure.
Функции Azure
Функции Azure предоставляют возможность выполнения кода без сервера для бизнес-логики и логики интеграции.
Функции запускаются вызовом из внешней системы, службы или кода. Для Dataverse этот триггер может исходить непосредственно от Dataverse, используя служебную шину, веб-перехватчик или вызов из подключаемого модуля. Кроме того, вызов функций Azure можно инициировать с помощью потока в Веб-API или Power Automate, что включает в себя соединитель Dataverse.
Дополнительные сведения: Расширение бизнес-процессов с помощью подключаемых модулей
Примечание
Каковы ваши предпочтения в отношении языка документации? Пройдите краткий опрос (обратите внимание, что этот опрос представлен на английском языке).
Опрос займет около семи минут. Личные данные не собираются (заявление о конфиденциальности).