Search

Home

Ogólna koncepcja systemu

Ogólna koncepcja systemu

Date
June 10, 2024
icon
System Gravity działa w oparciu o dwie główne warstwy logiczne.
  • Projekty (aplikacje GRAVITY.INTEGRATION)
  • Wyzwalacze (triggers)

Projekty

Projektem nazywamy definicję procesu, zawiera on całą logikę przepływu danych w formie grafu składającego się z operatorów, wykonujących czynności im przydzielone (np. pobierania danych do procesu, transformacji danych, zapisu oraz udostępniania danych) oraz logicznych połączeń pomiędzy operatorami nazywanych magistralą danych. Każdy projekt musi być kompletny tzn. musi rozpoczynać się choć jednym operatorem typu INPUT i każda ścieżka projektu musi kończyć się operatorem typu OUTPUT.

Wyzwalacze (triggers)

W najprostszym ujęciu to sposoby uruchomienia projektu. Jeśli chcesz, aby projekt został uruchomiony inaczej niż ręcznie przez administratora systemu GRAVITY musisz utworzyć dla niego wyzwalacz. Każdy projekt może mieć wiele zdefiniowanych wyzwalaczy reagujących na konkretne zdarzenie np. projekt synchronizujący stany magazynowe w sklepie internetowym z systemem ERP może mieć zdefiniowany wyzwalacz czasowy co 5 min oraz wyzwalacz typu Web Service uruchamiany jako REST API na żądanie sklepu internetowego.

W celu obsługi dwóch warstw logicznych system został podzielony na dwie warstwy oprogramowania:

  1. Oprogramowanie Gravity.exe. Narzędzie konfiguracyjne.
  2. To tutaj możesz zdefiniować projekty, wyzwalacze (triggery) oraz zarządzać konfiguracją systemu taką jak adres dostępowy do usług webService oraz metod autentykacji i autoryzacji dla obsługi wywołań REST API.

  3. Oprogramowanie GravityTriggersRunner.exe oraz usługa systemu windows “gravity.integration service” (z reguły w fazie konfiguracyjnej używany jest serwer obsługiwany przez GravityTriggersRunner.exe ze względu na łatwość przeglądania logów i częste restarty wyzwalaczy, a w fazie produkcyjnej usługa “gravity.integration service”). Oba te oprogramowania to serwer zarządzający i czuwający nad uruchomieniem projektu w wyniku zaistnienia sytuacji zdefiniowanej przez wyzwalacz, który obsługuje danych projekt.