W systemie GRAVITY każdy projekt (aplikacja) może być wzbogacony o zestaw parametrów projektowych, które pełnią rolę dodatkowych zmiennych sterujących przepływem danych i logiką działania operatorów w ramach danego projektu. Są one niezależne od źródłowych danych wejściowych i mogą być wykorzystywane w wielu miejscach jednocześnie, co pozwala zwiększyć elastyczność, czytelność i modułowość projektów integracyjnych.
Główne cechy parametrów projektowych:
- Mogą być zadeklarowane ręcznie przez użytkownika podczas tworzenia lub edycji projektu.
- Ich wartość może być przekazana:
- ręcznie przez użytkownika podczas manualnego uruchamiania projektu (wyświetlane w formularzu startowym),
- automatycznie przez trigger (wyzwalacz), który przekazuje parametry podczas wywołania projektu (np. z zapytania HTTP w przypadku WebService),
- wewnętrznie z poziomu operatora specjalnego typu
OUTPUT PARAMETERS , który oblicza lub przekazuje wartość parametru dalej.
- Parametry są widoczne w konfiguracji operatorów i mogą być używane np. do:
- dynamicznego filtrowania danych,
- kierowania logiką działania projektu (np. warunkowe przełączanie przepływu),
- określania źródeł lub ścieżek zapisu,
- komunikacji między operatorami.
Typowe zastosowania parametrów:
- Wprowadzenie ID klienta przekazywanego do zapytania SQL.
- Określenie daty przetwarzania danych (np.
dataOd,dataDo). - Sterowanie trybem działania projektu (np. testowy/produkcyjny).
- Wskazanie adresu pliku, z którego mają być pobrane dane.
Konfiguracja parametrów
Globalną wszystkich parametrów możesz zobaczyć klikając w ikonę na elemencie ToolBox.
Lista parametrów jest podzielona na grupy obiektów, w których dany parametr został zdefiniowany.
Każdy parametr ma określony typ, który determinuje jego sposób wykorzystania w operatorach systemu. Posiada również swoją nazwę i opis, a także może mieć zdefiniowaną domyślną wartość oraz być oznaczony jako wymagany.
Możliwe typy parametrów to:
String→ dowolny ciąg znakówInteger→ wartość liczbowa dziesiętnaDouble→ wartość liczbowa zmiennoprzecinkowaDateTime→ data z czasem (w przypadku podania samej daty czas będzie miał wartość 00:00:00)Boolean→ przyjmuje wartośćtruelubfalseBlob→ wartość binarnaArrayString→ tablica ciągów znaków w formacie:[’pozycja 1’, ‘pozycja 2’]ArrayInteger→ tablica wartości dziesiętnych w formacie:[2,3,4,5]ArrayDouble→ tablica wartości zmiennoprzecinkowych w formacie:[1.1, 1.2, 2.1]
Przykład użycia parametru w projekcie
Wiele operatorów systemu GRAVITY pozwala na użycie parametrów w trakcie przetwarzania procesu. Zapoznając się z definicją operatorów zapoznasz się również z sposobem wykorzystania parametrów na poszczególnych operatorach. Poniżej przedstawiono tylko dwa przykłady w celu zapoznania się z ogólną koncepcją.
- w operatorze SQL INPUT
- w operatorze COMPUTING
Przykład wywołania Triggera z parametrami
- w wywołaniu triggera jako REST API
- w wywołaniu notyfikacji bazy danych (PostgreSQL)
Funkcja pg_notify powinna jako drugi parametr zawierać obiekt JSON, zgodny z konstrukcją parametrów w procesie jaki zostanie wywołany.
{ “id”: 23 }