Udostępnij przez


Eksplorowanie wzorców integracji

Na podstawie analizy zaplanuj integrację i zidentyfikuj najlepszy wzorzec wymagań. Poniższa lista wzorców integracji nie jest wyczerpująca. Może się okazać, że kombinacja tych wzorców najlepiej pasuje do twojego scenariusza.

Każdy wzorzec dotyczy określonych scenariuszy biznesowych i ograniczeń technicznych:

Wzorzec wyzwalacza natychmiastowego

Wzorzec wyzwalacza natychmiastowego jest intuicyjny i oparty na aktywności użytkownika. Inicjuje przepływ integracji, gdy użytkownik wykonuje akcję, taką jak naciśnięcie przycisku w aplikacji Power App. Ten wzorzec jest idealny w scenariuszach, w których dane są potrzebne na żądanie, a nie w sposób ciągły.

Przykładowy scenariusz

Aplikacja Power App umożliwia menedżerom produktów przeglądanie opinii klientów i tworzenie planów działania. Niektóre specyfikacje techniczne są przechowywane w systemie zarządzania cyklem życia produktu Oracle. Zamiast kopiować cały zestaw danych do usługi Dataverse, aplikacja zawiera przycisk umożliwiający pobranie danych w razie potrzeby.

Przyczyny integracji zamiast przekierowywania użytkowników do programu Oracle obejmują:

  • Słabe środowisko użytkownika
  • Obawy dotyczące zabezpieczeń
  • Koszty licencjonowania

Biorąc pod uwagę opłacalność integracji z platformą Power Platform, dowolny z tych powodów może uzasadniać implementację.

Projektowanie przepływu

Użyj natychmiastowego przepływu w chmurze wyzwalanego przez naciśnięcie przycisku w aplikacji.

Ten diagram ilustruje wzorzec natychmiastowego wyzwalacza, w którym akcja zainicjowana przez użytkownika pobiera dane z systemu zewnętrznego i zapisuje je w usłudze Dataverse:

Diagram przedstawiający przepływ wyzwalany przez przyciski z krokami umożliwiającymi pobranie danych Oracle, zwrócenie ich do aplikacji i zapisanie go w usłudze Dataverse.

Przepływ obejmuje następujące kroki:

  1. Żądanie rekordów z firmy Oracle przy użyciu parametrów (takich jak identyfikator produktu) dostarczonych przez aplikację.
  2. Zwraca rekordy z bazy danych Oracle do aplikacji.
  3. Zapisywanie rekordów w usłudze Dataverse.

Te dane są następnie odzwierciedlane w interfejsie usługi Power Apps.

Zagadnienia do rozważenia:

  • Modele danych między bazą danych Oracle i Dataverse mogą się różnić, co wymaga wykonania kroków transformacji.
  • Natychmiastowe wyzwalacze nie są naprawdę natychmiastowe. Czas wykonywania zależy od dostępności systemu i złożoności transformacji.
  • Dodaj wskaźniki wizualne w aplikacji, aby pokazać postęp i zezwolić na anulowanie, jeśli operacja trwa zbyt długo.
  • W dużych organizacjach jednoczesne żądania od wielu użytkowników mogą przeciążać system.
  • Integracje mogą zakończyć się niepowodzeniem z różnych powodów. Upewnij się, że aplikacja przekazuje opinię użytkownikom podczas wykonywania. Unikaj scenariuszy, w których użytkownicy wybierają przycisk i nie otrzymują żadnej odpowiedzi, co prowadzi do złego doświadczenia użytkownika.

Wzorzec sterowany zdarzeniami

Architektury sterowane zdarzeniami (nazywane również automatycznym wyzwalaczem) reagują na zmiany w systemach bez bezpośredniej interakcji użytkownika. Na przykład wyzwalacze można skonfigurować tak, aby odpowiadały na rekord utworzony w usłudze Dataverse, przychodzących wiadomościach e-mail, plikach dodanych do usługi OneDrive i dowolnej liczbie innych zdarzeń. Ten wzorzec jest intuicyjny i skalowalny, dzięki czemu idealnie nadaje się do automatyzacji procesów biznesowych na podstawie zdarzeń systemowych.

Przykładowy scenariusz

Dział obsługi klienta używa aplikacji połączonej z usługą Dataverse do pracy w sprawach i automatycznie udostępnia aktualizacje klientom bez ręcznego pisania wiadomości e-mail. Tylko określone zmiany — takie jak dodawanie notatki lub zmienianie stanu — powinny wyzwalać powiadomienia.

Użyj wyzwalacza automatycznego w usłudze Power Automate, aby reagować na te zdarzenia. Przepływ nasłuchuje zmian w rekordach usługi Dataverse i wysyła powiadomienia po spełnieniu zdefiniowanych warunków.

Na tym diagramie przedstawiono wzorzec automatycznego wyzwalania, w którym zmiany w usłudze Dataverse automatycznie inicjują akcje podrzędne aktualizujące klientów odpowiednimi informacjami o przypadku.

Zrzut ekranu przedstawiający konfigurację przepływu usługi Power Automate z ustawieniami wyzwalacza monitorowania zmian rekordów usługi Dataverse.

Konfiguracja wyzwalacza

Skonfiguruj przepływ w następujący sposób:

  • Wskaż typ zmiany do monitorowania.
  • Zdefiniuj kolumny, na które mają odpowiadać, używając parametru Select Columns (Wybieranie kolumn ).
  • Użyj parametru Filtruj wiersze, aby zapewnić, że tylko zmiany stanu klienta wyzwalają przepływ, a także wszelkie inne wymagania dotyczące filtrowania.

Unikaj implementowania tej logiki bezpośrednio w przepływie przy użyciu akcji If. Użyj parametrów wyzwalacza, aby zmniejszyć niepotrzebne wykonania i zwiększyć wydajność.

Unikanie konfliktów logicznych

Oceń logikę zdarzeń, aby zapobiec niezamierzonemu zachowaniu:

  • Unikaj pętli, w których zdarzenie wyzwala akcję, która ponownie uruchamia to samo zdarzenie.
  • Zapobiegaj temu, aby wiele aktualizacji powodowało szybkie, powtarzające się powiadomienia.
  • Projektowanie przepływów w celu obsługi przypadków brzegowych i unikania nadmiernego wykonywania.

Zagadnienia dotyczące liczby i częstotliwości

Omówienie oczekiwanej liczby wyzwalanych zdarzeń. Usługi powiadomień (wiadomości e-mail, SMS i inne) ograniczają liczbę wiadomości, które można wysyłać w danym przedziale czasu.

  • Szacowanie liczby zdarzeń dziennie lub miesiąca.
  • Implementowanie mechanizmów ograniczania przepustowości lub ograniczania szybkości.
  • Przygotuj plan ograniczania ryzyka pod kątem nieoczekiwanych skoków częstotliwości zdarzeń.

Wzorzec konsolidacji danych

Konsolidacja danych (znana również jako wyzwalacz zaplanowany) ułatwia organizacjom ujednolicenie informacji w wielu systemach w celu obsługi raportowania i procesów operacyjnych. Analiza często wymaga pełnych zestawów danych, jednak przypadki użycia operacyjnego koncentrują się na pobieraniu tylko danych potrzebnych do wykonywania zadań biznesowych.

Przykładowy scenariusz

Firma używa trzech starszych systemów do zarządzania podstawowymi funkcjami biznesowymi: SAP dla zamówień i należności finansowych, Oracle dla zapasów produktów i IBM do zarządzania zawartością związaną z klientem. Organizacja zleciła nową aplikację w ramach platformy Power Platform, która wykorzystuje AI do przewidywania następnej optymalnej akcji dla każdego klienta, opierając się na danych historycznych. Aplikacja musi zebrać odpowiednie informacje ze wszystkich trzech systemów i wygenerować plan działania sprzedaży dla menedżerów sprzedaży, aby pokierować zaangażowaniem.

Podejście do integracji

Integracja nie wymaga aktualizacji w czasie rzeczywistym ani wyzwalaczy sterowanych zdarzeniami. Zamiast tego należy użyć zaplanowanego procesu w oparciu o częstotliwość interakcji pracowników sprzedaży z klientami.

W tym przypadku użycia zaplanowany wyzwalacz konsoliduje dane w następujący sposób:

  • Żąda tylko niezbędnych danych z każdego systemu
  • Zwraca dane do formatu zgodnego z usługą Dataverse
  • Przekazuje dane do modelu AI na potrzeby analizy

Ten diagram ilustruje zaplanowany wzorzec konsolidacji danych, w którym proces cykliczny zbiera informacje z wielu systemów i przekazuje połączony zestaw danych do usługi Dataverse:

Diagram integracji danych przy użyciu zaplanowanego procesu w celu ujednolicenia informacji z trzech starszych systemów na potrzeby rekomendacji sprzedaży opartych na sztucznej inteligencji.

Konfiguracja zaplanowanego wyzwalacza

Zaplanowane wyzwalacze oferują elastyczne opcje cyklu, od raz na sekundę do raz w roku. Są one przewidywalne w czasie, ale mogą stać się nieprzewidywalne w ilości, jeśli zakres danych rozszerza się lub wzrost przekracza oczekiwania.

  • Monitorowanie czas wykonywania przepływu, aby uniknąć nakładania się lub opóźnień
  • Implementowanie zabezpieczeń w celu zapobiegania pogorszeniu wydajności
  • Użyj usługi Application Insights lub podobnych narzędzi, aby upewnić się, że przepływ działa spójnie

Ograniczenie ryzyka

Jeśli zaplanowany przepływ trwa dłużej niż oczekiwano, może to zakłócić procesy biznesowe. Na przykład przepływ zaprojektowany do uruchamiania co 10 minut może zakończyć się niepowodzeniem, jeśli jego wykonanie zaczyna trwać dłużej niż 10 minut.

  • Monitorowanie środowiska uruchomieniowego i ustawianie alertów dotyczących anomalii
  • Planowanie skalowalności w miarę zwiększania ilości danych
  • Zapewnianie wglądu w kondycję przepływu, aby zapobiec niezauważonym niepowodzeniom

Wzorzec integracji zorientowanej na usługę

Duże organizacje często obsługują wiele systemów w różnych działach. Te systemy ewoluują, aby zależeć od siebie nawzajem w celu ukończenia procesów biznesowych. Warstwa integracji łączy te systemy, umożliwiając każdemu z nich wykonywanie podstawowych funkcji przy jednoczesnym włączeniu komunikacji między systemami.

Przykładowy scenariusz ponownie

Kontynuujmy nasz przykładowy scenariusz, w którym organizacja używa wielu systemów do zarządzania różnymi częściami działalności. Firma SAP obsługuje zamówienia i należności, firma Oracle zarządza zapasami produktów, a ibm przechowuje wewnętrzną dokumentację finansową. Usługa Dataverse uruchamia aplikacje do obsługi sprzedaży, obsługi klienta i zarządzania produktami. Program SharePoint obsługuje wewnętrzną współpracę i zarządzanie bazą wiedzy, a interfejsy API Maersk automatyzują procesy logistyczne.

Ten diagram przedstawia wzorzec oparty na zdarzeniach w środowisku wielosystemowym, w którym aktualizacje w różnych systemach przedsiębiorstwa wyzwalają zautomatyzowane przepływy koordynujące dane i akcje między nimi:

Diagram przedstawiający architekturę integracji z wieloma systemami połączonymi za pomocą określonych wyzwalaczy dla procesów biznesowych.

Każdy system współdziała z innymi za pośrednictwem zaplanowanych zdarzeń lub ręcznych akcji użytkownika. Żaden pojedynczy przepływ nie obsługuje wszystkich przypadków użycia. Zamiast tego rozwiązanie wymaga wielu przepływów dostosowanych do określonych wyzwalaczy i procesów biznesowych.

Unikaj przepływów monolitycznych

Tworzenie jednego dużego przepływu do obsługi wszystkich integracji nie jest praktyczne. Wprowadza ona wyzwania związane z wydajnością, zabezpieczeniami i konserwacją. Zamiast tego:

  • Tworzenie modułowych przepływów dla każdego wyzwalacza i procesu
  • Optymalizowanie przepływów pod kątem określonych przypadków użycia
  • Skalowanie środowiska integracji przy użyciu składników, którymi można zarządzać

Optymalizowanie procesów między systemami

Poszukaj możliwości konsolidacji logiki tam, gdzie jest to konieczne. Na przykład, jeśli dokument w SharePoint musi zostać wysłany zarówno do SAP, jak i Oracle podczas tego samego zdarzenia, możesz być kuszony do utworzenia jednego przepływu, który odczytuje plik raz i zapisuje go w obu systemach. Najpierw należy jednak rozważyć, czy utworzona logika jest zbyt sztywna. W dużym środowisku zmiany sposobu działania procesów biznesowych w systemach odbywają się tak często, jak zmiany w tych systemach.

Unikaj nadmiernej konsolidacji. Procesy biznesowe i konfiguracje systemu często zmieniają się. Sztywna, scentralizowana logika zmniejsza elastyczność i zwiększa nakład pracy konserwacyjnych.

Projektowanie przepływów, które są:

  • Modułowe i konserwowalne
  • Skalowalne między działami i systemami
  • Odporność na zmiany w logice biznesowej i zachowaniu systemu

Ten wzorzec skutkuje architekturą zorientowaną na usługę — czasami humorystycznie nazywaną "architekturą spaghetti", w której systemy są połączone za pośrednictwem dobrze zdefiniowanych, specjalnie utworzonych przepływów.

Wzorzec synchronizacji danych

Synchronizacja danych jest używana, gdy identyczne systemy przechowują dane w oddzielnych bazach danych. Chociaż przechowywanie tych samych danych dwa razy może wydawać się nieefektywne, ten wzorzec obsługuje określone potrzeby biznesowe, takie jak wydajność i zgodność z przepisami.

  • Wydajność: Dostęp do danych lokalnych poprawia czas reakcji, zwłaszcza w branżach wrażliwych na opóźnienia.
  • Zgodność: Przepisy prawne mogą wymagać przechowywania danych w granicach krajowych. Organizacje często wdrażają wystąpienia lokalne z procesami synchronizacji, aby spełnić te wymagania.

Przykładowy scenariusz

Firma zajmująca się urządzeniami medycznymi działa w wielu regionach Europy we współpracy z lokalnymi instytucjami medycznymi. Prawa poszczególnych regionów są jasne dotyczące danych medycznych — muszą być przechowywane w granicach tego regionu. Informacje o zamówieniach, produktach i wysyłkach mogą być przechowywane transgraniczne. Aby spełnić wymagania prawne, firma utworzyła wystąpienie aplikacji do zarządzania klientami Power Platform oraz Dataverse w każdym regionie.

Aby wspierać operacje sprzedaży, firma chce synchronizować dane o niskiej wrażliwości, takie jak dane kontaktowe, zamówienia i wysyłka, we wszystkich instancjach. Dane medyczne są wykluczone z synchronizacji.

Podejście do integracji

Użyj automatycznego przepływu chmury wyzwalanego przez aktualizacje rekordu Konta. Skonfiguruj filtry do:

  • Monitorowanie tylko dozwolonych pól
  • Zapobieganie synchronizacji ograniczonych danych

Takie podejście powoduje ukierunkowaną integrację sterowaną zdarzeniami, która obsługuje zgodność i wydajność operacyjną.

Na tym diagramie przedstawiono wzorzec synchronizacji sterowany zdarzeniami, w którym aktualizacje w jednym środowisku usługi Dataverse automatycznie wyzwalają odpowiednie aktualizacje w innym:

Diagram integracji sterowanej zdarzeniami przedstawiający zmiany liczby i częstotliwości na podstawie aktualizacji konta z zastosowanymi filtrami.

Oczekiwania dotyczące czasu odpowiedzi

Ustaw realistyczne oczekiwania dotyczące szybkości synchronizacji. Usługa Power Automate jest asynchroniczna i nie gwarantuje wydajności w czasie rzeczywistym. Jeśli użytkownicy biznesowi oczekują natychmiastowej dostępności danych, wyjaśnij ograniczenia na wczesnym etapie procesu projektowania.

  • Ocena, czy usługa Power Automate spełnia wymagania dotyczące wydajności
  • Unikaj nadmiernej inżynierii dostępu w czasie rzeczywistym, chyba że są uzasadnione wymaganiami biznesowymi

Wiele żądań dostępu w czasie rzeczywistym nie ma silnego przypadku biznesowego. Określanie priorytetów przejrzystości, skalowalności i możliwości utrzymania w projekcie integracji.

Poza przepływami chmurowymi

Po wybraniu narzędzia integracji rozpocznij od usługi Power Automate jako opcji domyślnej. Oferuje on niezrównaną efektywność kosztową zarówno w zakresie programowania, jak i konserwacji.

Usługa Power Automate jest preferowanym narzędziem integracji dla wielu scenariuszy, ponieważ:

  • Zapewnia szybki rozwój przy użyciu łączników z małą ilością kodu
  • Minimalizuje długoterminowe koszty konserwacji
  • Obsługuje szeroką gamę wyzwalaczy i systemów
  • Dobrze się sprawdza w większości scenariuszy biznesowych

Kod niestandardowy, usługa Azure Functions, fabryka danych lub usługa Service Bus mogą zapewnić większą kontrolę lub lepszą wydajność, ale dodają złożoność i koszt. Użyj tych opcji tylko wtedy, gdy usługa Power Automate nie spełnia Twoich potrzeb biznesowych ani technicznych.

Diagram przepływu pracy integracji przedstawiający łączniki Power Automate, które zbierają dane, oraz usługi Azure Functions wykonujące obliczenia.

Przykładowy scenariusz

Usługa bankowości internetowej chce szybciej kwalifikować klientów do pożyczek. Proces kwalifikacji obejmuje złożone obliczenia i pobieranie danych z wielu systemów w celu uzyskania ostatecznej oceny ryzyka. Po wstępnej ocenie usługa bankowa uznała przepływ w chmurze za nieodpowiedni, biorąc pod uwagę złożoność obliczeń.

Jednak w tym przypadku rozwiązanie hybrydowe to odpowiedź:

  • Usługa Power Automate do obsługi zbierania danych za pomocą wbudowanych łączników
  • Złożone obliczenia zamknięte w kodzie niestandardowym uruchamianym jako funkcja platformy Azure, którą można skalować niezależnie lub w łączniku niestandardowym

Takie podejście hybrydowe równoważy wydajność, skalowalność i koszty.

Strategia integracji

Nie wybieraj narzędzi w oderwaniu od kontekstu. Zamiast tego połącz swoje mocne strony. Przykład:

  • Używanie usługi Power Automate do orkiestracji i łączności
  • Korzystanie z usługi Azure Functions na potrzeby zadań intensywnie korzystających z obliczeń
  • Używanie łączników niestandardowych do rozszerzania funkcjonalności w razie potrzeby

Każda decyzja dotycząca integracji musi uwzględniać całkowity koszt posiadania. Rozwiązania niestandardowe mogą wydawać się zaawansowane, ale często wymagają większego budżetu na programowanie, licencjonowanie i pomoc techniczną. Uzasadniaj wyższe koszty jasno określoną wartością biznesową.