Skumulowana synchronizacja danych

W produkcie obsługiwana jest metoda synchronizacji danych, dzięki której kilka zmian wprowadzonych w obiekcie może być kumulowanych i wysyłanych razem jako pojedynczy komunikat do systemu zewnętrznego.

W poniższych punktach opisano ogólne działanie funkcjonalności:
  • Po dodaniu, zmianie lub usunięciu obiektu w co najmniej jednym żądaniu synchronizacji pobierany jest zapis danych obiektu przed zmianą, po jednym dla każdego systemu zewnętrznego, do którego muszą zostać przekazane dane. Zapis sprzed aktualizacji jest używany jako linia bazowa do wykrywania wszystkich zmian dokonanych od tego czasu w momencie wysyłania komunikatu do systemu zewnętrznego.

  • Żądania synchronizacji są przetwarzane przez następny proces zadania monitorowania.

  • Przetwarzanie żądania synchronizacji zazwyczaj obejmuje reguły biznesowe, które porównują zapis sprzed aktualizacji z bieżącą zawartością obiektu w celu wykrycia wszystkich dokonanych zmian. W przypadku wprowadzenia zmian logika może zdecydować o kontynuowaniu wysyłania komunikatu synchronizacji. W przeciwnym razie żądanie zostanie odrzucone. Reguły te są również odpowiedzialne za obsługę wszelkich błędów napotkanych podczas komunikacji z systemem zewnętrznym i zarządzanie próbami ponawiania w razie potrzeby.

Ta funkcjonalność jest obsługiwana przez logikę dostarczoną w podstawowym obiekcie biznesowym "Żądanie synchronizacji" (F1-SyncRequest). Należy pamiętać, że każda aplikacja brzegowa dostarcza odpowiedni podrzędny obiekt biznesowy na potrzeby tego obiektu biznesowego w odniesieniu do każdego konkretnego scenariusza synchronizacji obsługiwanego w tym produkcie. Niektóre z poniższych funkcji są realizowane przez użycie konfiguracji w nadrzędnym obiekcie biznesowym dostarczanym przez framework, a inne funkcje mogą być dostarczane przez podrzędny obiekt biznesowy. Ponadto mogą istnieć bardziej złożone przypadki użycia obsługiwane przez konkretną integrację produktu. Więcej informacji można znaleźć w bibliotece obiektu biznesowego żądania synchronizacji konkretnej aplikacji wraz z dokumentacją dotyczącą konkretnej integracji produktu.

W poniższych sekcjach opisano kluczowe aspekty tej metody synchronizacji danych.

Pobieranie zmiany

W produkcie bazowym dostępny jest algorytm pobierania zmiany danych (audytu obiektu obsługi) F1-GCHG-CDCP, który może być używany przez obiekty obsługi wymagające synchronizacji za pomocą tej metody. Ten algorytm umożliwia tworzenie rekordu żądania synchronizacji na potrzeby zmienionego rekordu, pobieranie kodu obiektu obsługi i klucza głównego, jeśli nie zostanie znalezione istniejące żądanie synchronizacji dla tego samego rekordu (i tego samego obiektu biznesowego) w statusie początkowym. Używany jest obiekt biznesowy żądania synchronizacji definiowany w opcji Obiekt biznesowy żądania synchronizacji obiektu obsługi dotyczącego zmienionego rekordu. Jeśli istnieje więcej niż jedna taka opcja, tworzonych jest wiele żądań synchronizacji.

Konkretny produkt może również zawierać dodatkowe algorytmy audytu obsługujące bardziej wyrafinowane przykłady.

Podczas tworzenia rekordu żądania synchronizacji zwykle obiekt biznesowy żądania synchronizacji będzie mieć wtyczkę przetwarzania wstępnego, która pobiera zapis danych rekordu przed jego zmianą. Dane będą używane w kolejnych krokach do sprawdzania, czy trzeba powiadamiać system zewnętrzny o zmianie.

Potwierdzanie potrzeby synchronizacji

Po pobraniu żądania synchronizacji przed wysłaniem informacji do systemu zewnętrznego wykonywanych jest kilka kroków.

Uwaga: W tej sekcji opisano tylko najważniejsze kroki. Aby uzyskać pełny obraz funkcjonalności, należy zapoznać się z konfiguracją obiektu biznesowego, jego cyklem życia i algorytmami.
  • Po utworzeniu żądania synchronizacji jego początkowy status (Oczekujące) jest przetwarzany przez monitor zadania. Dzięki temu rekordy są dodawane do tabeli żądania synchronizacji w ciągu dnia, ale przetwarzane wspólnie. Algorytm audytu obiektu obsługi uniemożliwia utworzenie nowego żądania synchronizacji, jeśli istnieje już rekord Oczekujące na potrzeby danej kombinacji obiektu obsługi/klucza publicznego (dotyczącej tego samego obiektu biznesowego). Możliwe jest jednak, że istniejący rekord dla kombinacji obiektu obsługi/klucza publicznego ma stan "inny niż końcowy" (np. Oczekujące na potwierdzenie). Ten status obejmuje algorytm monitora służący do sprawdzania warunku i pomijania zmiany statusu, jeśli istnieje inny rekord. Czynność ta jest wykonywana, aby zapewnić, że istniejący rekord jest w pełni przetworzony przed przetworzeniem nowego rekordu.

  • Następny stan w cyklu życia to Określanie, czy synchronizacja jest wymagana. Ten krok wykorzystuje algorytm do pobierania zapisu (zwanego "zapisem końcowym") danych i porównywania go z zapisem początkowym pobieranym w momencie tworzenia rekordu. Na podstawie logiki algorytmu może zostać podjęta decyzja o kontynuowaniu (zmiana statusu na Wysłanie żądania) lub przerwaniu (zmiana statusu na Odrzucone).

Komunikacja z systemem zewnętrznym

Po potwierdzeniu, że synchronizacja ma być wykonana, należy wysłać komunikat do systemu zewnętrznego. W poniższych punktach wykazane zostały podstawowe funkcje.

  • Algorytm połączony ze stanem Wysłanie żądania. Oczekuje się, że ten algorytm utworzy komunikat wychodzący, który przekaże informacje do systemu zewnętrznego. Algorytm musi określić system zewnętrzny i typ używanego komunikatu wychodzącego. Obiekty biznesowe żądania synchronizacji obsługują opcje obiektu biznesowego służące do definiowania systemu zewnętrznego i typu komunikatu wychodzącego, które będą używane przez ten algorytm.

  • Po zainicjowaniu wysyłania komunikatu wychodzącego stan rekordu jest zmieniany na Oczekujące na potwierdzenie. Ten stan jest używany do wstrzymania zmiany stanu żądania synchronizacji do czasu otrzymania potwierdzenia z systemu zewnętrznego. Należy pamiętać, że ten krok zależy od wdrożenia mechanizmu reagowania w systemie zewnętrznym. Zaleca się wdrożenie mechanizmu reagowania, ponieważ ułatwia to sterowanie przepływem chronologicznym informacji. W produkcie dostarczana jest usługa biznesowa F1-UpdateSyncRequest, która zmienia stan żądania synchronizacji na albo następny domyślny stan (w tym przypadku stan Zsynchronizowane) po otrzymaniu potwierdzenia pozytywnego, albo stan powiązany z warunkiem odrzucenia (w tym przypadku stan Błąd) w przypadku otrzymania potwierdzenia negatywnego. Ponadto w tym stanie można włączyć algorytm monitora, który będzie wykrywać upłynięcie limitu czasu.

  • W przypadku rekordów ze statusem Błąd zaleca się skonfigurowanie algorytmu tworzącego pozycję Do wykonania, która będzie ostrzegać osoby o problemie. Więcej informacji na ten temat można znaleźć w dokumentacji dotyczącej integracji. Ten stan ma już wstępnie skonfigurowany algorytm zamykający pozycje Do wykonania po wyjściu z tego stanu

  • Status końcowy Zsynchronizowane jest używany do oznaczania pomyślnych synchronizacji. Jednak w przypadku bardziej złożonych spraw użycia tego statusu można używać do wyzwalania niektórych dodatkowych czynności. Więcej informacji można znaleźć w dokumentacji dotyczącej konkretnej integracji produktu.