M365Con 2027 – безкоштовна онлайн-конференція · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Припиніть копіювати дані: чому віртуальні таблиці Dynamics 365 кращі за традиційну синхронізацію

By ·

Ласкаво просимо назад у блог! У нашій роботі ми багато говоримо про об'єднання систем, руйнування ізольованих сховищ даних і про те, щоб користувачі мали потрібну інформацію просто під рукою. Але є тиха пастка, в яку потрапляють багато організацій під час інтеграції корпоративних систем: бажання скопіювати все. Сьогодні ми детально розберемо, чому традиційна синхронізація даних може призвести до м

Automatically translated with AI from the original post. Read the English original

Cover: Dynamics 365 Virtual Entities - Simply Explained

Ласкаво просимо назад у блог! У нашій роботі ми багато говоримо про об'єднання систем, руйнування ізольованих сховищ даних і про те, щоб користувачі мали потрібну інформацію просто під рукою. Але є тиха пастка, в яку потрапляють багато організацій під час інтеграції корпоративних систем: бажання скопіювати все. Сьогодні ми детально розберемо, чому традиційна синхронізація даних може призвести до масштабних головних болів і як вбудована функція Microsoft Dataverse може повністю змінити підхід до зовнішніх даних.

Якщо ви хочете послухати детальний аудіоогляд цієї теми з прикладами з реального життя, обов'язково перегляньте відповідний епізод подкасту: Dynamics 365 Virtual Entities - Simply Explained.

Пастки дублювання даних і застарілих завдань синхронізації

Уявіть собі таку ситуацію: ваша команда продажів проводить робочий день у Dynamics 365. Водночас дані про залишки на складі зберігаються в окремій складській системі, рахунки-фактури ведуться у фінансовому застосунку, а каталог товарів підтримується в іншій ERP. Класичний, типовий підхід багатьох ІТ-команд — побудувати конвеєр інтеграції. Ви пишете заплановані завдання, які регулярно копіюють усю цю інформацію в Dataverse. Звучить досить просто, правда?

На жаль, така архітектура рясніє дублікатами записів, затримками синхронізації, збоями пакетної обробки і, що найгірше, застарілою інформацією. Уявіть, що ваша складська система під час нічної синхронізації зафіксувала десять одиниць товару в наявності. Наступного ранку панель Dynamics 365 з гордістю показує ці самі десять одиниць. Але вдень місцевий покупець, що зайшов до магазину, купує й отримує всі десять залишених одиниць. Складська система одразу фіксує, що залишок офіційно дорівнює нулю. Однак Dynamics 365 і далі показуватиме десять одиниць в наявності аж до наступного запланованого запуску синхронізації ввечері. Ваш ні про що не здогадливий продавець тепер приймає важливі рішення щодо допродажу, спираючись на повністю застарілі дані. Проблема не обов'язково в тому, що скрипт синхронізації дав збій; фундаментальний недолік полягає в тому, що скопійована інформація неминуче застарівають між циклами синхронізації.

Крім того, копіювання даних породжує сумнозвісне архітектурне питання: яка система насправді є джерелом істини? Якщо товар існує в ERP, але його дублікат зберігається в Dataverse, і хтось змінює опис, ціну або статус наявності в одному місці, то хтось або щось має визначити, яка версія переможе. Традиційна синхронізація створює кошмари з узгодженістю даних. Віртуальні таблиці пропонують принципово інший підхід: вихідна бізнес-система зберігає повний контроль над записом, а користувачі Dynamics 365 можуть безпечно запитувати цю інформацію щоразу, коли це потрібно.

Уявіть, що ви зберігаєте однакові документи в двох окремих картотечних шафах. Одна шафа належить відділу продажів, а інша — складу. Щоразу, коли хтось змінює документ в одній шафі, він має фізично підійти і оновити копію в іншій. Пропустіть одне оновлення, і дві шафи миттєво розійдуться в даних. Традиційна синхронізація працює саме за цією схемою. Віртуальні таблиці пропонують кращий спосіб: замість підтримки крихкої другої копії ви даєте команді безпечне вікно в реальному часі до оригінальної шафи.

Розуміння віртуальних таблиць Dynamics 365

Організації часто заявляють, що хочуть мати «одну систему», яка керуватиме всім. Але якщо поговорити зі звичайними працівниками, їм насправді потрібне одне місце для роботи. Продавцеві не варто тримати відкритим Dynamics 365, перемикатися на ERP, щоб перевірити залишки, відкривати ще один застарілий застосунок, щоб перевірити статус рахунку, і лише потім повертатися до картки клієнта. Співробітникам потрібен єдиний робочий простір. Віртуальні таблиці переносять вибрану зовнішню інформацію безпосередньо в рідний інтерфейс Dynamics 365, дозволяючи спеціалізованим системам і далі керувати своїми бізнес-процесами.

Якщо ви певний час працюєте з бізнес-застосунками Microsoft, то в застарілій документації, технічних форумах або розмовах із досвідченими розробниками можете натрапити на старіший термін «Virtual Entities». Актуальна термінологія Microsoft тепер така: Virtual Tables. Яку б назву ви не використовували, основна концепція залишається тією самою: Dynamics 365 і Dataverse можуть показувати зовнішні дані так, ніби користувачі працюють із нативною таблицею Dataverse, а самі записи при цьому надійно зберігаються поза Dataverse.

Щоб зрозуміти різницю, порівняйте звичайну таблицю Dataverse із Virtual Table. У стандартній таблиці Dataverse записи зберігаються безпосередньо в базі даних Dataverse. Яскраві приклади таких таблиць: облікові записи, контакти, можливості продажу та власні таблиці. Virtual Table працює інакше: Dataverse лише визначає, як зовнішні дані мають відображатися і як їх отримувати, а самі записи перебувають в іншому місці. Уявіть каталог бібліотеки. Він містить опис книжки: назву, автора та те, де її знайти на фізичній полиці. Але каталог — це не сама книжка. Virtual Table працює точно так само. Dataverse знає структуру даних і вміє запитувати потрібний запис, але фактичні дані містить зовнішня система.

Як Virtual Tables забезпечують живий доступ до зовнішніх даних

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

Припустімо, керівник клієнтського відділу обговорює велику потенційну угоду з великим клієнтом. Клієнт хоче замовити 500 одиниць товару наступного місяця. Не виходячи з звичного інтерфейсу Dynamics 365, керівник відкриває пов’язану інформацію про наявність товару. Він бачить номер позиції, місце зберігання на складі, доступну кількість і очікувану дату поповнення. Ці дані надходять безпосередньо зі складської системи або системи ERP в режимі реального часу, а не спираються на вчорашню імпортовану таблицю із залишками. Dynamics 365 виступає єдиним робочим простором, а складська система залишається беззаперечним джерелом істини щодо запасів.

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

Три основні складові: постачальники даних, джерела даних і таблиці

Щоб це працювало, кожна Virtual Table спирається на три базові архітектурні компоненти: постачальника даних, джерело даних і саме визначення Virtual Table. Розуміння цих трьох компонентів є необхідним для кожного, хто планує надійну стратегію інтеграції.

Що таке постачальник даних?

Постачальник даних є головним перекладачем в архітектурі. Dynamics 365 і Dataverse надсилають запити, використовуючи власні внутрішні поняття: таблиці, стовпці, фільтри та ідентифікатори записів. Однак зовнішня система, імовірно, використовує зовсім інший API, протокол або формат даних. Постачальник перекладає між цими двома сторонами. Користувачам не потрібно розуміти цю складну взаємодію: вони просто працюють із отриманими записами через стандартний інтерфейс застосунку Dynamics 365.

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

Звісно, не кожен застарілий чи власний бізнес-застосунок підтримує OData. Якщо ваша архітектура потребує іншого методу інтеграції, організації можуть реалізувати власних провайдерів даних (Custom Data Providers). Досвідчений розробник може написати власного провайдера, який з'єднує Dataverse із пропрієтарним REST API, SQL-базою даних або внутрішньою корпоративною веб-службою. Незалежно від базової технології, власний провайдер виконує одні й ті самі основні функції: приймає запит від Dataverse, взаємодіє із зовнішньою системою, перетворює відповідь і безперешкодно повертає записи.

Що таке джерело даних?

Якщо провайдер даних знає, якою мовою говорити, то джерело даних містить конкретну адресу та облікові дані, необхідні для доступу до цільової системи. Джерело даних зберігає всю інформацію про підключення до зовнішньої служби: адресу кінцевої точки, параметри автентифікації, ключі API та налаштування обмеження швидкості, пов'язані з підключенням. Провайдера можна уявити як експерта з мови, а джерело як адресну книгу.

Зіставлення зовнішніх стовпців і унікальних ідентифікаторів записів

Щойно підключення встановлено, потрібно зіставити зовнішні стовпці зі схемою віртуальної таблиці. Наприклад, застосунок складського обліку може називати поле «Available Quantity», а користувачі Dynamics 365 вважають зручнішим бачити «Stock on Hand». Зіставлення полів повідомляє Dataverse, що ці два різні імені означають одну й ту саму інформацію. Так організації можуть використовувати зрозумілу користувачам термінологію в Dynamics 365, не змушуючи зовнішню систему дорого перейменовувати схему.

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

Коли використовувати віртуальні таблиці в архітектурі

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

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

Підсумовуючи, відмова від традиційної синхронізації даних на користь віртуальних таблиць може суттєво спростити архітектуру Microsoft 365. Ви зберігаєте єдине джерело істини, усуваєте періоди застарілих даних і даєте користувачам єдине робоче середовище, якого вони давно очікували. Щоб глибше зануритися в тему, обов'язково послухайте повний епізод на сторінці Dynamics 365 Virtual Entities - Simply Explained.

Dynamics 365 Dataverse

Related articles

RSS