Поділитися через


Робота з програмами будь-якого типу

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

У деяких випадках інтеграції з програмою можна досягти за допомогою бізнес-логіки, що міститься в Dataverse. В інших випадках знадобиться інтеграція через події, API OData Dataverse або за допомогою компонентів plug-in.

Визначення бізнес-логіки

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

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

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

  • Робочі цикли: автоматизують бізнес-процеси без взаємодії користувача. Додаткові відомості: Класичні робочі цикли Dataverse

  • Бізнес-логіка з кодом: підтримує розширені сценарії розробника для розширення можливостей програми безпосередньо через код. Додаткові відомості: Застосування бізнес-логіки за допомогою коду

Інтеграція з програмами за допомогою подій

Типовий підхід до інтеграції програм – за допомогою подій. Наприклад, у Dataverse відбувається подія, скажімо, додавання нового рядка, і про це необхідно повідомити пов'язану систему, щоб виконати дію. Наприклад, якщо був створений новий запит на підтримку, може бути ініційовано надсилання SMS-повідомлення до призначених працівників служби підтримки.

Така взаємодія також може працювати в протилежному напрямку: оновлення в зовнішній системі може призводити до додавання, оновлення чи видалення даних у середовищі Power Platform.

До найпопулярніших підходів у Dataverse відносяться веб-сигнальники, обмін повідомленнями Azure (сервісна шина, концентратори подій), Azure Logic Apps і Power Automate.

Події в Dataverse.

Веб-сигнальники

Завдяки Dataverse можна надсилати дані про події, що відбуваються в службі, до веб-програми, використовуючи веб-сигнальники. Веб-сигнальник – це спрощений шаблон HTTP для підключення Web API та служб із моделлю публікації й передплати. Відправники веб-сигнальників повідомляють отримувачів про події, створюючи запити з певними відомостями про події до кінцевих точок отримувачів.

Веб-сигнальники дають змогу розробникам і постачальникам ISV інтегрувати дані Dataverse за допомогою свого власного настроюваного коду, розміщеного в зовнішніх службах. Використовуючи модель веб-сигнальника, можна захистити кінцеву точку за допомогою автентифікаційного заголовка та ключів параметрів рядка запиту. Це простіше, ніж модель автентифікації за допомогою підпису спільного доступу, яка використовується для інтеграції сервісної шини Azure.

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

  • Веб-сигнальники дають змогу використовувати синхронні та асинхронні кроки.

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

  • Веб-сигнальники можна викликати з компонента plug-in або спеціальної справи робочого циклу.

​Сервісна шина Azure

Сервісна шина забезпечує безпечний і надійний канал зв’язку між даними середовища виконання Dataverse і зовнішніми хмарними бізнес-програмами. Ці можливості особливо корисні для підтримання різнорідних систем Dataverse або інших серверів Dataverse, синхронізованих із змінами бізнес-даних.

Послідовність подій така:

  • Програма-прослуховувач реєструється в кінцевій точці рішення "Сервісна шина" і починає активно слухати контекст віддаленого виконання Dataverse на сервісній шині.

  • Користувач виконує певну операцію в Dataverse, яка ініціює виконання зареєстрованого готового компонента plug-in або спеціального компонента plug-in для Azure. Компонент plug-in ініціює публікацію (через системне завдання асинхронної служби) поточного контексту даних запиту до сервісної шини.

  • Твердження, опубліковані Dataverse, проходять автентифікацію. Після цього сервісна шина ретранслює контекст віддаленого виконання для прослуховувача. Прослуховувач обробляє інформацію про контекст і виконує певне ділове завдання, пов’язане з цією інформацією. Сервісна шина повідомляє асинхронну службу про успішну публікацію і встановлює для відповідного системного завдання стан "Виконано".

Сервісна шина ретранслює контекст даних повідомлення запиту між Dataverse і програмами-прослуховувачами рішень сервісної шини. Сервісна шина також забезпечує захист даних, щоб лише авторизовані програми могли отримати доступ до опублікованих даних Dynamics 365. Надання дозволу Dataverse на публікацію контексту даних на сервісній шині, а також для програм-прослуховувачів на їх читання, керуються підписами спільного доступу 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 Service (АКС).

Інтеграція Dataverse у програми з API OData

Усі популярні мови програмування підтримують форму інтеграції з API на основі REST.

Dataverse з API OData.

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

Dataverse використовує підхід "Спочатку API". Це означає, що служба не просто надає механізм для запиту даних, але й метадані зі служби для бізнес-правил, обмежень тощо, які можна використовувати для створення інтелектуальних, адаптивних програм і служб.

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

Додаткові відомості про початок роботи з Web API Dataverse див. в розділі Використання Web API Dataverse.

Додаткові відомості про використання Web API Dataverse з OAuth див. в розділі Використання OAuth із Dataverse.

Плагіни

Dataverse дає змогу писати код між API та даними. Цей код, написаний на .NET, називається компонентом plug-in. Оскільки компонент plug-in перебуває між API та даними, то насаджує таку ж логіку для кожної програми.

Компоненти plug-in можуть бути синхронними або асинхронними, а також виконувати такі завдання:

  • Повертати помилки користувачу.

  • Надсилати запит на дані Dataverse для визначення логіки.

  • Виконувати операції з даними.

  • Виконувати вихідні HTTP-запити.

Компоненти plug-in реєструються в пунктах у послідовності подій, які проілюстровані тут.

Plug-in event pipeline

У послідовності подій можуть виникнути такі події:

  • Запити та відповіді можна перевіряти та відхиляти або обробляти за кілька кроків послідовності подій.

  • Обробники перевірки можуть видавати настроювані винятки, щоб відхиляти операції, які ваша логіка вважає неприпустимими.

  • Обробники перед операцією можуть змінювати запити перед операцією з базою даних.

  • Обробники після операції можуть змінювати відповіді.

  • Асинхронні обробники виконують автоматизацію після повернення відповіді.

Одне обмеження з компонентами plug-in полягає в тому, що вони мають бути автономні. Якщо код інтеграції вимагає посилання на інші бібліотеки, то інтеграцію можна виконати за допомогою Функцій Azure.

Функції Azure

Функції Azure забезпечують параметр виконання коду без сервера для логіки бізнесу й інтеграції.

Dataverse із функціями Azure.

Функції ініціюються викликом із зовнішньої системи, служби чи коду. Для Dataverse цей тригер може надходити безпосередньо з Dataverse за допомогою сервісної шини, веб-сигнальника або виклику з компонента plug-in. Крім того, виклик Функцій Azure може ініціюватися через потік у Logic Apps або Power Automate, що включає з’єднувач Dataverse.

Додаткові відомості: Використання компонентів plug-in для розширення бізнес-процесів

Примітка

Розкажіть нам про свої уподобання щодо мови документації? Візьміть участь в короткому опитуванні. (зверніть увагу, що це опитування англійською мовою)

Проходження опитування займе близько семи хвилин. Персональні дані не збиратимуться (декларація про конфіденційність).