M365Con 2027 – bezpłatna konferencja online · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Przestań kopiować dane: dlaczego wirtualne tabele Dynamics 365 biją tradycyjną synchronizację

By ·

Witamy ponownie na blogu! W naszej pracy dużo mówimy o łączeniu systemów, likwidowaniu silosów i zapewnianiu użytkownikom dostępu do potrzebnych informacji na wyciągnięcie ręki. Istnieje jednak cicha pułapka, w którą wpada wiele organizacji podczas integrowania systemów przedsiębiorstwa: chęć kopiowania wszystkiego. Dziś zagłębiamy się w to, dlaczego tradycyjna synchronizacja danych może prowadzić

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

Cover: Dynamics 365 Virtual Entities - Simply Explained

Witamy ponownie na blogu! W naszej pracy dużo mówimy o łączeniu systemów, likwidowaniu silosów i zapewnianiu użytkownikom dostępu do potrzebnych informacji na wyciągnięcie ręki. Istnieje jednak cicha pułapka, w którą wpada wiele organizacji podczas integrowania systemów przedsiębiorstwa: chęć kopiowania wszystkiego. Dziś zagłębiamy się w to, dlaczego tradycyjna synchronizacja danych może prowadzić do poważnych bólów głowy i jak wbudowana funkcja Microsoft Dataverse może całkowicie zmienić podejście do danych zewnętrznych.

Jeśli chcesz posłuchać szczegółowego omówienia tego tematu wraz z przykładami z życia, koniecznie sprawdź odpowiedni odcinek podcastu: Dynamics 365 Virtual Entities - Simply Explained.

Pułapki duplikowania danych i nieaktualnych zadań synchronizacji

Wyobraź sobie taki scenariusz: Twój zespół sprzedaży spędza dzień wygodnie pracując w Dynamics 365. Stany magazynowe znajdują się jednak w osobnym systemie magazynowym, faktury są zarządzane w aplikacji finansowej, a katalogi informacji o produktach utrzymywane są w zupełnie innym systemie ERP. Klasyczne, domyślne podejście wielu zespołów IT polega na zbudowaniu potoku integracji. Piszesz zaplanowane zadania, które cyklicznie kopiują wszystkie te informacje do Dataverse. Brzmi dość prosto, prawda?

Niestety taka architektura jest pełna zduplikowanych rekordów, opóźnień synchronizacji, błędów wsadowych i, co najgorsze, nieaktualnych informacji. Wyobraź sobie, że Twój system magazynowy zapisuje podczas nocnej synchronizacji dziesięć dostępnych sztuk na stanie. Następnego ranka pulpit Dynamics 365 z dumą pokazuje te dziesięć dostępnych sztuk. Jednak w porze lunchu klient detaliczny kupuje i odbiera wszystkie dziesięć pozostałych sztuk. System magazynowy natychmiast wie, że stan magazynowy oficjalnie wynosi zero. Dynamics 365 nadal będzie jednak wyświetlać dziesięć sztuk na stanie aż do następnego zaplanowanego uruchomienia synchronizacji tego wieczoru. Nieświadomy handlowiec podejmuje teraz kluczowe decyzje dotyczące sprzedaży dodatkowej na podstawie całkowicie nieaktualnych danych. Problem niekoniecznie polega na tym, że skrypt synchronizacji zawiódł; podstawową wadą jest to, że skopiowane informacje nieuchronnie stają się nieaktualne między cyklami synchronizacji.

Co więcej, kopiowanie informacji rodzi znany problem architektoniczny: który system faktycznie jest źródłem prawdy? Jeśli produkt istnieje w systemie ERP, ale zduplikowana kopia znajduje się w Dataverse, a ktoś zmieni opis, cenę lub status dostępności w jednym z tych miejsc, ktoś lub coś musi ustalić, która wersja obowiązuje. Tradycyjna synchronizacja tworzy koszmar spójności danych. Wirtualne tabele oferują zupełnie inne podejście: pozwalają oryginalnemu systemowi biznesowemu zachować pełną własność rekordu, a użytkownikom Dynamics 365 umożliwiają bezpieczne wysyłanie zapytań o te informacje zawsze wtedy, gdy są potrzebne.

Wyobraź sobie to jak przechowywanie identycznych dokumentów w dwóch oddzielnych szafach na akta. Jedna szafa należy do działu sprzedaży, a druga do magazynu. Za każdym razem, gdy ktoś zmienia dokument w jednej szafie, musi fizycznie podejść i zaktualizować kopię w drugiej. Przeoczenie jednej aktualizacji sprawia, że obie szafy natychmiast przestają się zgadzać. Tradycyjna synchronizacja działa dokładnie w ten sposób. Wirtualne tabele oferują lepsze rozwiązanie: zamiast utrzymywać kruchą drugą kopię, dajesz zespołowi bezpieczny, działający w czasie rzeczywistym wgląd w oryginalną szafę.

Zrozumienie wirtualnych tabel Dynamics 365

Organizacje często deklarują, że chcą mieć „jeden system", który wszystko obejmie. Jednak jeśli porozmawiasz z codziennymi pracownikami, okaże się, że tak naprawdę potrzebują jednego miejsca do pracy. Handlowiec nie powinien musieć mieć otwartego Dynamics 365, przełączać się na system ERP, by sprawdzić stan magazynowy, otwierać trzecią, starą aplikację, by zweryfikować status faktury, i dopiero wtedy wrócić do karty klienta. Pracownicy chcą zunifikowanej przestrzeni roboczej. Wirtualne tabele wprowadzają wybrane zewnętrzne informacje bezpośrednio do natywnego środowiska Dynamics 365, pozwalając jednocześnie wyspecjalizowanym systemom nadal zarządzać swoimi procesami biznesowymi.

Jeśli od jakiegoś czasu pracujesz z pakietem aplikacji biznesowych Microsoftu, możesz nadal natknąć się na starszy termin „Virtual Entities” w dokumentacji historycznej, na forach technicznych lub w rozmowach z doświadczonymi deweloperami. Aktualną terminologią Microsoftu są Virtual Tables. Niezależnie od nazwy podstawowa koncepcja pozostaje ta sama: Dynamics 365 i Dataverse mogą udostępniać informacje zewnętrzne tak, jakby użytkownicy pracowali z natywną tabelą Dataverse, podczas gdy same rekordy pozostają bezpiecznie przechowywane poza Dataverse.

Aby zrozumieć tę różnicę, porównaj zwykłą tabelę Dataverse z Virtual Table. W standardowej tabeli Dataverse rekordy są przechowywane bezpośrednio w bazie danych Dataverse. Przykładami są konta, kontakty, szanse sprzedaży i tabele niestandardowe. W przypadku Virtual Table Dataverse określa jedynie, jak informacje zewnętrzne mają wyglądać i jak je pobierać, a rekordy znajdują się zupełnie gdzie indziej. Pomyśl o katalogu bibliotecznym. Katalog zawiera informacje opisujące książkę: mówi, jaki ma tytuł, kto jest jej autorem i gdzie znajduje się na fizycznej półce. Sam katalog nie jest jednak książką. Virtual Table działa dokładnie w ten sam sposób. Dataverse zna strukturę danych i wie, jak zażądać rekordu, ale rzeczywiste dane znajdują się w systemie zewnętrznym.

Jak Virtual Tables zapewniają bieżący podgląd danych zewnętrznych

Virtual Tables działają w modelu dostępu do danych w czasie wykonywania. Zamiast pobierać każdy pojedynczy rekord zewnętrzny i trwale przechowywać go lokalnie, Virtual Tables pobierają informacje dynamicznie, gdy aplikacja faktycznie ich potrzebuje. Użytkownik może otworzyć określony widok, wyszukać konkretne rekordy, zastosować filtr lub wybrać pojedynczy wiersz. Dataverse żąda wtedy od systemu zewnętrznego wyłącznie informacji potrzebnych w tym konkretnym momencie.

Załóżmy, że opiekun klienta omawia duży potencjalny kontrakt z ważnym klientem. Klient chce złożyć zamówienie na 500 sztuk w przyszłym miesiącu. Nie opuszczając znanego interfejsu Dynamics 365, opiekun klienta otwiera powiązane informacje o dostępności produktu. Może zobaczyć numer pozycji, lokalizację w magazynie, dostępną ilość oraz przewidywaną datę uzupełnienia zapasów. Te dane pochodzą bezpośrednio z zewnętrznego magazynu lub systemu ERP w czasie rzeczywistym, a nie z wczorajszego zaimportowanego arkusza z zapasami. Dynamics 365 pełni rolę zunifikowanej przestrzeni pracy, a system magazynowy pozostaje absolutnym źródłem prawdy o stanach magazynowych.

Ta architektura działania w czasie wykonywania eliminuje ryzyko duplikowania danych. Gdy użytkownik uruchamia zapytanie, aplikacja wykonuje uproszczoną sekwencję zdarzeń. Handlowiec otwiera listę produktów i filtruje dostępne pozycje. Dataverse rozpoznaje, że docelowym obiektem jest Virtual Table. Dostawca danych odbiera żądanie, wykorzystuje szczegóły połączenia ze źródła danych, aby skontaktować się z usługą zewnętrzną, tłumaczy filtr użytkownika na format zrozumiały dla systemu zewnętrznego, pobiera pasujące rekordy, konwertuje wyniki na standardowe wiersze Dataverse i natychmiast wyświetla je w interfejsie użytkownika. Użytkownik otrzymuje płynne doświadczenie, a dane nigdy nie opuszczają swojego autorytatywnego źródła.

Trzy podstawowe elementy składowe: dostawcy danych, źródła danych i tabele

Aby ta magia działała w tle, każda Virtual Table opiera się na trzech podstawowych elementach architektury: dostawcy danych (Data Provider), źródle danych (Data Source) oraz samej definicji Virtual Table. Zrozumienie tych trzech komponentów jest niezbędne dla każdego, kto chce zaprojektować solidną strategię integracji.

Czym jest dostawca danych?

Dostawca danych pełni rolę głównego tłumacza w tej architekturze. Dynamics 365 i Dataverse wysyłają żądania, używając własnych pojęć wewnętrznych: tabel, kolumn, filtrów i identyfikatorów rekordów. System zewnętrzny najprawdopodobniej korzysta jednak z zupełnie innego interfejsu API, protokołu lub formatu danych. Dostawca tłumaczy między tymi dwoma światami. Użytkownicy nie muszą rozumieć tej złożonej wymiany; po prostu pracują z wynikowymi rekordami w standardowym interfejsie aplikacji Dynamics 365.

Microsoft zapewnia gotową obsługę dostawcy OData w wersji 4. OData to ustandaryzowany, uznany w branży sposób udostępniania i odpytywania danych przez sieć. Jeśli zewnętrzna usługa udostępnia produkty zawierające pola takie jak numery produktów, opisy, ceny jednostkowe i dostępne ilości, wbudowany dostawca może pobrać te rekordy i zwrócić je w strukturze, którą Dataverse natywnie rozumie. W przypadku nowoczesnych aplikacji chmurowych znacznie upraszcza to integrację.

Oczywiście nie każda starsza lub niestandardowa aplikacja biznesowa obsługuje OData. Gdy architektura wymaga innej metody integracji, organizacje mogą wdrożyć niestandardowych dostawców danych (Custom Data Providers). Doświadczony programista może napisać własnego dostawcę, który połączy Dataverse z zastrzeżonym interfejsem REST API, bazą danych SQL lub wewnętrzną usługą sieciową firmy. Niezależnie od podstawowej technologii niestandardowy dostawca wykonuje te same podstawowe zadania: odbiera żądanie Dataverse, komunikuje się z systemem zewnętrznym, przetwarza odpowiedź i bezproblemowo zwraca rekordy.

Czym jest źródło danych?

Jeśli dostawca danych wie, jak „mówić” w danym języku, źródło danych zawiera konkretny adres i dane uwierzytelniające potrzebne do dotarcia do miejsca docelowego. Źródło danych przechowuje wszystkie informacje o połączeniu z usługą zewnętrzną, w tym adres punktu końcowego, parametry uwierzytelniania, klucze API oraz ustawienia ograniczania przepustowości związane z połączeniem. Można myśleć o dostawcy jak o tłumaczu, a o źródle jak o książce adresowej.

Mapowanie zewnętrznych kolumn i unikatowych identyfikatorów rekordów

Po nawiązaniu połączenia należy zmapować zewnętrzne kolumny na schemat tabeli wirtualnej. Na przykład aplikacja magazynowa może nazywać pole „Available Quantity”, podczas gdy użytkownicy Dynamics 365 wolą widzieć „Stock on Hand”. Mapowanie pól informuje Dataverse, że te dwie różne nazwy oznaczają dokładnie tę samą informację. Dzięki temu organizacje mogą udostępniać użytkownikom Dynamics 365 przyjazne dla nich nazewnictwo, bez konieczności kosztownej zmiany nazw kolumn w systemie zewnętrznym.

Dodatkowo Dataverse wymaga niezawodnego unikatowego identyfikatora dla każdego rekordu, aby odróżniać jeden wpis od drugiego. Rekordy tabel wirtualnych muszą mieć wiarygodne unikatowe klucze, które Dataverse potrafi rozpoznać. Bez solidnego identyfikatora Dataverse nie może z pewnością ustalić, który konkretny produkt, faktura lub klient został wybrany przez użytkownika. Tożsamość rekordu jest więc kluczowym technicznym warunkiem wstępnym przy ocenie, czy dane źródło zewnętrzne może skutecznie działać z tabelami wirtualnymi.

Kiedy używać tabel wirtualnych w architekturze

Tabele wirtualne stanowią potężną zmianę paradygmatu architektonicznego. Sprawdzają się najlepiej w scenariuszach, w których wyspecjalizowany system zewnętrzny jest wyraźnie właścicielem danych głównych, a użytkownicy Dynamics 365 potrzebują kontekstowego dostępu do tych informacji w codziennej pracy. Typowe przykłady to śledzenie stanów magazynowych w czasie rzeczywistym, złożone katalogi produktów, statusy zamówień zakupu, bieżące stany faktur, podsumowania ksiąg finansowych, katalogi dostawców oraz ukierunkowane analizy marketingowe.

Pozostawiając zarządzanie cyklem życia rekordu biznesowego aplikacji zewnętrznej, a jednocześnie dając użytkownikom Dynamics 365 kontekstowy wgląd w dane, eliminujesz ryzyko duplikacji danych, ograniczasz rozrost magazynu w Dataverse i zapewniasz, że zespoły zawsze podejmują decyzje na podstawie aktualnych, dokładnych informacji. Czas przestać kopiować dane i zacząć wykorzystywać możliwości nowoczesnej wirtualizacji.

Podsumowując, odejście od tradycyjnej synchronizacji danych na rzecz tabel wirtualnych może znacząco usprawnić architekturę Microsoft 365. Zachowujesz jedno źródło prawdy, eliminujesz okresy nieaktualnych danych i dajesz użytkownikom jednolite środowisko pracy, o które od dawna prosili. Aby zgłębić ten temat, koniecznie posłuchaj pełnego odcinka pod tytułem Dynamics 365 Virtual Entities - Simply Explained.

Dynamics 365 Dataverse

Related articles

RSS