Ogólna synchronizacja danych

W produkcie obsługiwana jest ogólna metoda synchronizacji danych, za pomocą której każda zmiana w kwalifikującym się obiekcie wyzwala przepływ synchronizacji, który przekazuje szczegóły dotyczące obiektu do co najmniej jednego systemu zewnętrznego.

W poniższych punktach opisano ogólne działanie funkcjonalności:
  • Do włączenia i skonfigurowania integracji określonego obiektu (obiektu obsługi) z systemem zewnętrznym służy rekord rozszerzanej listy wartości Kontrolka synchronizacji danych (F1-DataSyncControl).

  • Reguły obsługujące integrację znajdują się w skrypcie synchronizacji, do którego odwołuje się rekord kontrolki.

  • Po dodaniu, zmianie lub skasowaniu obiektu można zainicjować żądanie synchronizacji dla każdej integracji zgodnie z regułami biznesowymi zdefiniowanymi przez odpowiedni skrypt synchronizacji.

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

  • Po przetworzeniu żądania synchronizacji dane są synchronizowane z systemem zewnętrznym zgodnie z regułami biznesowymi zdefiniowanymi przez odpowiedni skrypt synchronizacji.

Ta funkcjonalność jest obsługiwana przez logikę dostarczoną w podstawowym obiekcie biznesowym "Żądanie synchronizacji danych ogólnych" (F1-GenericDataSync). Ten obiekt biznesowy nie wymaga rozszerzenia o obsługę określonych reguł integracji, ponieważ reguły te znajdują się w skrypcie synchronizacji powiązanym z rekordem kontrolki synchronizacji danych każdej integracji.

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

Kontrolka synchronizacji danych

Konfiguracja niezbędna do obsługi bieżącej synchronizacji danych obiektu z systemem zewnętrznym jest definiowana przez rozszerzaną listę wartości Kontrolka synchronizacji danych (F1-DataSyncControl). W konfiguracji definiowany jest obiekt obsługi obiektu, system zewnętrzny, z którym jest on synchronizowany oraz odwołanie do skryptu synchronizacji, który zarządza określonymi regułami synchronizacji dla tej integracji. Integracja jest uważana za aktywną, jeśli odpowiadający jej rekord kontrolki ma status "Aktywne".

Skrypt synchronizacji danych jest wywoływany w następujących trybach:

  • Po dodaniu, zmianie lub skasowaniu obiektu skrypt jest wywoływany w trybie Sprawdzanie w celu określenia, czy należy utworzyć żądanie synchronizacji dla zmienionego obiektu i określonego systemu zewnętrznego.  

  • Po przetworzeniu żądania synchronizacji skrypt jest wywoływany w trybie Przetwarzanie w celu przygotowania i wysłania komunikatu wychodzącego do systemu zewnętrznego. Alternatywnie skrypt może zażądać odrzucenia żądania lub zasygnalizować, że powinno ono zostać przetworzone później. Ta druga opcja może być stosowana w przypadku konieczności oczekiwania na spełnienie określonych warunków przed wysłaniem komunikatu do systemu zewnętrznego.

Należy pamiętać, że konfiguracja obiektu obsługi i określonego systemu zewnętrznego może zostać nadpisana przez inną konfigurację zdefiniowaną z wyższą liczbą porządkową. 

Potwierdzanie potrzeby synchronizacji

W produkcie bazowym dostępny jest algorytm pobierania zmiany danych (audytu obiektu obsługi) F1ONGDATASYN, który może być używany przez obiekty obsługi wymagające synchronizacji za pomocą tej metody. Algorytm przeprowadza konsultacje ze skryptem synchronizacji powiązanym z każdym aktywnym rekordem kontrolki integracji skonfigurowanym dla obiektu w celu ustalenia, czy system zewnętrzny powinien zostać powiadomiony o tej zmianie. Po potwierdzeniu algorytm tworzy rekord żądania synchronizacji dla zmienionego rekordu, pobierając jego kod obiektu obsługi i klucz główny wraz z odpowiednim systemem zewnętrznym.

Należy pamiętać, że decyzja o utworzeniu żądania synchronizacji jest kontrolowana przez skrypt synchronizacji specyficzny dla integracji, natomiast tworzenie żądania synchronizacji jest zadaniem algorytmu audytu. W związku z tym we wszystkich integracjach używany jest ten sam obiekt biznesowy żądania synchronizacji, bez uwzględniania szczegółów specyficznych dla integracji.

Zaleca się zaprojektowanie skryptu synchronizacji w taki sposób, aby zatwierdzać utworzenie żądania synchronizacji tylko wtedy, gdy jest to konieczne. Zapobiega to niepotrzebnemu tworzeniu żądań synchronizacji, które w przeciwnym razie zostałyby odrzucone po ostatecznym przetworzeniu.

Zarządzanie procesem 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. W ten sposób zmiany, które wywołały żądanie, są w pełni zatwierdzane, zanim zostaną przekazane do systemu zewnętrznego.

  • Po przetworzeniu rekordu żądania synchronizacji algorytm monitorowania wywołuje skrypt synchronizacji powiązany z odpowiednim rekordem kontrolki integracji w celu zarządzania procesem synchronizacji. Skrypt synchronizacji może wskazywać na jedną z następujących wartości:

    • Żądanie nie jest jeszcze gotowe do przetworzenia, tzn. powinno pozostać w bieżącym statusie i zostać przetworzone ponownie do następnego uruchomienia zadania.

    • Żądanie powinno zostać anulowane. To wskazanie powoduje zmianę statusu rekordu na Anulowane.

    • Zlecenie zostało pomyślnie przetworzone. Skrypt synchronizacji przygotował komunikat wychodzący i odpowiednio przekierował informacje do systemu zewnętrznego. To wskazanie powoduje zmianę statusu rekordu na Wysłane.

  • Jeśli podczas przetwarzania żądania wystąpi błąd, zostanie wyświetlona pozycja Do wykonania w celu pobrania szczegółów błędu, a status rekordu zostanie ustawiony na wartość Błąd. Ponowne przetwarzanie żądania synchronizacji jest kontynuowane z każdym procesem zadania do momentu wysłania lub anulowania żądania.

Komunikacja z systemem zewnętrznym

Zazwyczaj komunikacja z systemem zewnętrznym jest finalizowana po pomyślnym wysłaniu i przetworzeniu komunikatu przez system zewnętrzny. W zależności od konkretnej integracji komunikat może nie być od razu przetwarzany przez system zewnętrzny, ale zostać umieszczony w kolejce do późniejszego przetworzenia. W takiej sytuacji żądanie synchronizacji może wymagać dalszego potwierdzenia jako przetworzone pomyślnie (o statusie Potwierdzone) w ramach mechanizmu jednoznacznej odpowiedzi z systemu zewnętrznego. W produkcie udostępniana jest usługa internetowa F1-UpdateAndTransitionSyncRequest, która może być używana do przetwarzania takich potwierdzeń.