Mechanizm diagnostyki i rejestrowania zachowania formularza

Facebooktwitterpinterestlinkedinmail
Dotyczy wersji 2021.1.1 autor: Kinga Bożęcka 

Mechanizm diagnostyki i rejestrowania zachowania formularza 

W wersji WEBCON BPS 2021 wprowadzono mechanizm diagnostyki i rejestrowania zachowania formularza oraz pozostałych elementów WEBCON BPS Portal.  

Funkcjonalność pozwala na uruchomienie z poziomu portalu trybu diagnostycznego, w którym rejestrowane są wszystkie wywołania pochodzące z Portalu. Tryb diagnostyczny aktywowany jest w menu użytkownika opcją "Włącz diagnostykę". Dostęp do tej opcji posiadają wszyscy użytkownicy WEBCON BPS Portal.  

Rys. 1 Włącz diagnostykę

 

Aktywność trybu diagnostycznego sygnalizowana jest ikonką w głównym menu. 

Rys. 2 Ikona włączonej diagnostyki

 

Od tego momentu wszystko, co zostanie wykonane na portalu wewnątrz danej karty przeglądarki aż do zapisania sesji, zostanie zarejestrowane.  

UWAGA: Jedynie zapisanie sesji pozwala na przesłanie pełnych danych do administratora. Przerwanie sesji np. poprzez reset, anulowanie lub odświeżanie karty przeglądarki sprawia, że administrator będzie miał dostęp do ograniczonych informacji. 

Zarejestrowane wywołania można podejrzeć, klikając w migającą ikonkę lub wybierając „Pokaż diagnostykę”. Liczba widocznych wywołań zależna jest od poziomu uprawnień użytkownika. Szczegółowy podgląd wykonanych zapytań jest możliwy jedynie dla Administratora Systemu lub Administratora Aplikacji. Użytkownicy o niższych uprawnieniach zobaczą tylko cześć zapisanych danych.  

Rys. 3 Przykład zarejestrowanych wywołań

 

W trakcie działania trybu diagnostycznego rejestrowane są wszystkie wywołania formularza, raportów oraz pozostałych elementów WEBCON BPS Portal. Rejestrowane są między innymi: 

  • wywołania reguł biznesowych (wraz z treścią SQL, jeśli reguła zawiera tego typu wywołanie), 
  • wywołania reguł formularza (wraz z wywołaniami wszystkich funkcji modyfikujących stan formularza) 
  • wywołania reguł odpowiadające za widoczność, edytowalność i wymagalność atrybutów formularza,  
  • asynchroniczne wywołania atrybutów typu tabela danych, wiersz danych, wykres, pole wyboru (wraz z treścią zapytań),  
  • treść zapytań raportów aplikacji.  

Dla każdego wywołania prezentowany jest jego czas trwania.  

Okno podglądu sesji pozwala na filtrowanie wywołań ze względu na źródło ich pochodzenia (formularz, raporty oraz portal). Możliwe jest też wyszukiwanie konkretnych elementów zapisanych w sesji (np. nazwy atrybutu lub reguły biznesowej). Oprócz tego można zaznaczyć dodatkowy filtr (> 0 ms), aby zobaczyć wywołania, które trwały minimum 1 ms.  

Poniżej w okienku znajdują się przyciski:  

  • Anuluj sesję – kończy sesję bez zapisania jej (w panelu administratora będą widoczne jedynie ograniczone informacje dotyczące tej sesji), 
  • Resetuj sesję – wyczyści wszystkie wywołania wykonane od początku nagrywania, ale nie zakończy sesji (tu także administrator będzie miał jedynie ograniczony dostęp do części sprzed resetu), 
  • „Zakończ i zapisz sesję” – dopiero wybranie tej opcji pozwoli administratorowi na pełen podgląd sesji. Oprócz tego po zapisaniu, sesja w postaci linku może być bezpośrednio przekazana administratorowi w celu dalszej analizy. 

Rys. 4 Link do sesji

 

Użytkownicy o uprawnieniach Administratora Systemu lub Administratora Aplikacji z poziomu zakładki Administracja mają wgląd do wszystkich zarejestrowanych sesji z możliwością przeglądania szczegółów.  

Rys. 5 Podgląd administratora

 

W widoku dla administratora można wyszukiwać elementy po identyfikatorze sesji, użytkowniku lub za pomocą przedziału czasowego.  

Rys. 6 Wyszukiwanie sesji

 

Szczegóły logowania 

Poniżej znajduje się prosty przykład, jak można wykorzystać diagnostykę do zrozumienia, co się stało na formularzu. 

Rys. 7 Przykładowy obieg

 

Rys. 8 Przykładowy wygląd formularza na kroku startowym

 

Atrybut „Information” to wiersz danych powiadamiający użytkownika o konieczności zatwierdzenia zapotrzebowania przez dyrektora. Nagrana została sesja od załadowania się formularza na kroku startowym do momentu, w którym na formularzu pojawia się atrybut „Information”. 

Rys. 9 Zapisana sesja

 

          a)Start Workflow element 

Tu znajdują się zapytania wywoływane przy startowaniu nowego formularza, w tym także te dotyczące widoczności i edytowalności poszczególnych elementów. W szczegółach widać, że atrybut Information jest ustawiony jako widoczny na matrycy.  

Rys. 10 Widoczność na matrycy

 

          b) Reguła na zmianę wartości Total value” 

Wykonana została reguła na zmianę wartości Total value”. Reguła „Show information when approval is required” zawiera w sobie regułę biznesową Total value > 1000, która zwróciła false, powodując tym samym, że pole „Information” zostało ukryte. Następnie nastąpiło pobranie wartości do ukrytego atrybutu „Information”.  

Rys. 11 Ukrycie pola Information

 

Rys. 12 Reguła w Studio

 

          c) Następnie dodano nowy wiersz do listy pozycji Items oraz nastąpiło wyliczenie wartości w kolumnie Value. Kolumna Value to kolumna wyliczana jako iloczyn kolumny Quantity oraz Price. Na rysunku poniżej w drugiej linijce widać, że pole początkowo uzupełniło się wartością 0 (wpisano jedną z wartości Quantity albo Price), a następnie wartością 3575, kiedy uzupełniono obie kolumny.  

Rys. 13 Uzupełnienei listy Items

 

 

          d) Reguła na zmianę wartości “Total value” 

Zmiana w kolumnie Value spowodowała przekopiowanie sumy z listy do atrybutu „Total value”, tym samym wywołując po raz drugi regułę na zmianę wartości. Tym razem jednak wartość pola była większa od 1000 (była równe 3575), a więc pole Information zostało pokazane na formularzu.  

Rys. 14 Pokazanie pola Information na formularzu

 

Sesja diagnostyczna a bezpieczeństwo danych

Sesja diagnostyczna to narzędzie nie tylko użyteczne, ale także bezpieczne. W zapisanej sesji nie są zawarte dane wrażliwe, takie jak hasła, tokeny, czy też uwierzytelniające pliki cookie. Co więcej zapisywane są tam wyłącznie dane dotyczące użytkownika, który uruchamia taką sesję, i to do niego należy decyzja o przesłaniu takich danych administratorowi. Oznacza to, że o ile administrator dysponuje danymi pozwalającymi mu prześledzić zdarzenia mające miejsce podczas sesji, o tyle nie ma on możliwości działania w kontekście użytkownika, co wyklucza ewentualne nadużycia.

O bezpieczeństwo mechanizmu sesji diagnostycznej zadbano już na etapie koncepcyjnym, zakładając, że gromadzone dane nie mogą obejmować informacji, które potencjalnie umożliwiałyby identyfikowanie danej osoby, czy też podszywanie się pod nią. Jedynym elementem zapisywanym w ramach sesji, który jest powiązany z użytkownikiem, jest jego systemowy login. Należy jednak pamiętać, że dostęp do informacji o loginie jest możliwy w zasadzie nawet w przypadku formularza zawierającego pole wyboru użytkownika, więc narzędzie sesji nie jest w tym względzie unikalnym źródłem.

Rys. 15 Login to jedyna informacja powiązana z użytkownikiem wykonującym sesję diagnostyczną, którą rejestruje to narzędzie

Warto przy tym nadmienić, że do danych zawartych w sesji diagnostycznej administrator jest w stanie dotrzeć innymi drogami. Innymi słowy, grupując istotne z punktu widzenia administratora dane, narzędzie sesji diagnostycznej ułatwia jego pracę, ale nie rozszerza jego dostępu do danych.

Dodatkowym elementem, który wpływa na wysokie bezpieczeństwo narzędzia sesji diagnostycznej, jest ograniczenie dostępu do niej wyłącznie do odpowiedniego użytkownika rejestrującego własną sesję oraz administratora systemu/aplikacji. Sesja udostępniana jest zatem jednej konkretnej osobie pełniącej rolę administratora, przez co wyklucza się udział osób trzecich i nieupoważnionych.

 

Podsumowanie 

W wersji WEBCON BPS 2021 wprowadzono mechanizm diagnostyki i rejestrowania zachowania formularza oraz pozostałych elementów WEBCON BPS Portal. Dzięki temu możliwe jest szybsze zdiagnozowanie przyczyny błędu lub niezgodności w działaniu procesu. Każdy użytkownik może nagrać sesję i przekazać ją administratorowi. Administratorzy Systemu oraz Administratorzy Aplikacji mają pełen dostęp do nagranych sesji, przez co mogą szybciej i wygodniej przeanalizować występujący problem.