Architektura aplikacji mobilnej WEBCON BPS

Facebooktwitterpinterestlinkedinmail
Dotyczy wersji: 2023 R3 i powyżej; autor: Łukasz Maciaszkiewicz

 

Wprowadzenie

Dzięki aplikacji mobilnej WEBCON BPS użytkownicy dysponujący urządzeniem mobilnym zyskują możliwość korzystania z platformy WEBCON BPS z dowolnego miejsca. W niniejszym artykule omówiono główne założenia dotyczące architektury wspomnianej aplikacji mobilnej.

 

Założenia aplikacji

Podstawowe założenia architektury aplikacji mobilnej WEBCON BPS:

  • dedykowana dla urządzeń mobilnych z systemem:
  • Android OS w wersji 10.0+;
  • iOS w wersji 16+;
  • obsługa platformy WEBCON BPS w wersji 2023 R3 i nowszej;
  • aplikacja hybrydowa;
  • praca w trybie online wymagająca połączenia internetowego z zainstalowaną instancją WEBCON BPS;
  • korzystanie z bazy użytkowników podłączonego systemu WEBCON BPS.

Aplikację przeznaczoną dla urządzeń mobilnych z danym systemem operacyjnym można pobrać ze sklepu z aplikacjami dedykowanego dla konkretnego systemu operacyjnego.

 

Aplikacja hybrydowa

Aplikacja mobilna WEBCON BPS to aplikacja hybrydowa. Oznacza to, że niektóre funkcjonalności są dostępne w ramach natywnej aplikacji mobilnej, z kolei inne za pośrednictwem WebView, czyli wbudowanego w aplikację okna przeglądarki wyświetlającego strony internetowe. Co istotne w tym przypadku, zważywszy, że widok aplikacji w Portalu WEBCON BPS został osadzony w WebView, większość funkcjonalności dostępnych w aplikacji mobilnej jest obsługiwana w taki sam sposób, jak ma to miejsce w zwykłych przeglądarkach desktopowych.

Warto przy tym wspomnieć, że szczególny przypadek w tym względzie stanowi uwierzytelnianie. Jest to jedyna funkcjonalność powiązana z aplikacją mobilną, do której obsługi jest wykorzystywana przeglądarka internetowa.

Poniżej pogrupowano w formie listy funkcjonalności ze względu sposób, w jaki są one obsługiwane.

  • Część natywna
    • Profile, loginy oraz autoryzacja kodem PIN
    • Wyszukiwanie informacji zapisanych w kodach kreskowych i 2D
    • Powiadomienia PUSH
    • Skanowanie kodów kreskowych i 2D
    • Pobieranie dokładnej lokalizacji urządzenia
    • Autoryzacja biometryczna
  • WebView
    • WEBCON BPS Portal
    • Skanowanie kodów kreskowych i 2D i wstawianie zapisanych w nich wartości do pól formularza
    • Nagrywanie notatek głosowych
    • Pobieranie przybliżonej lokalizacji
    • Wykonywanie zdjęć i ich dodawanie w formie załączników
  • Przeglądarka
    • Uwierzytelnianie

 

Schemat architektury aplikacji mobilnej

Na poniższym schemacie przedstawiono powiązania między aplikacją mobilną a poszczególnymi komponentami platformy WEBCON BPS.

 

Uwierzytelnianie

W przypadku aplikacji mobilnej uwierzytelnianie odbywa się w oparciu o mechanizm dostępu oraz tzw. refresh tokeny.

Do logowania w aplikacji mobilnej wykorzystywany jest prezentowany w przeglądarce internetowej widok WEBCON BPS Portalu. Użytkownik ma możliwość zalogowania się po wybraniu jednego z aktywnych dostawców usług katalogowych (Active Directory, Entra, OpenID). Dostępni do wyboru dostawcy są w tym przypadku konfigurowani w Designer Studio.

Po wybraniu dostawcy następuje przekierowanie do strony logowania, gdzie należy podać poprawne dane uwierzytelniające. Po ich wprowadzeniu użytkownik powraca do WEBCON BPS Portalu, przekazując wygenerowany token dostępu do aplikacji mobilnej.

Token dostępu jest wykorzystywany we wszystkich metodach wywoływania interfejsu REST API. Po przejściu do głównej strony WEBCON BPS Portalu (token jest dodawany do nagłówka żądania):

  • token dostępu pozostaje ważny 1 dzień, a po wygaśnięciu zostaje odświeżony za pomocą refresh tokena;
  • refresh token pozostaje ważny przez 26 dni, a po wygaśnięciu konieczne jest ponowne uwierzytelnienie.

Aplikacja mobilna

Aplikacja mobilna WEBCON BPS pracuje wyłącznie w trybie online. Oznacza to, że wszystkie dane prezentowane użytkownikowi, a także przez niego wprowadzane, są stale wymieniane z połączoną instancją zainstalowanego systemu WEBCON BPS.

Komunikacja jest realizowana po stronie natywnej części aplikacji, która wywołuje usługi REST API umożliwiające łączenie z zainstalowaną instancją WEBCON BPS. Przekazywane dane mają format JSON i dotyczy to zarówno danych pobieranych z instancji WEBCON BPS, jak i odpowiedzi ze strony aplikacji mobilnej.

REST API dla aplikacji mobilnej

Komunikacja pomiędzy aplikacją mobilną a zainstalowaną instancją WEBCON BPS odbywa się poprzez osadzony w niej WEBCON BPS Portal i z wykorzystaniem wywołań interfejsu REST API.

Jako, że większość komunikacji obsługiwana jest poprzez Portal, usługa WebView wbudowana w aplikację mobilną wymaga dostępu do tych samych witryn HTML i usług REST API, które są dostępne z poziomu Portalu wyświetlanego w przeglądarce internetowej. Ponadto aplikacja mobilna wykorzystuje interfejs REST API do zapewniania  następujących funkcjonalności:

  • pobieranie wersji aplikacji;
  • pobieranie konfiguracji;
  • rejestrowanie urządzenia oraz pobieranie zabezpieczeń i certyfikatów
  • pobieranie konfiguracji powiadomień PUSH.

 

Konfiguracja w WEBCON BPS Designer Studio

Aplikacja mobilna WEBCON BPS wymaga skonfigurowania następujących elementów w Designer Studio:

  • formularza kompaktowego (okno konfiguracji procesu → Widok kompaktowy)
    • Ustawienia formularza kompaktowego są domyślnie dziedziczone z konfiguracji formularza podstawowego. Istnieje możliwość zerwania dziedziczenia i niezależnego skonfigurowania formularza kompaktowego.
    • Zachowaniem formularza kompaktowego można sterować za pośrednictwem reguł formularza. Domyślnie ustawienia takich reguł są dziedziczone z konfiguracji formularza podstawowego, ale podobnie jak w pierwszym przypadku, także i tutaj istnieje możliwość zerwania dziedziczenia ustawień;
  • Poziomu zabezpieczenia (Konfiguracja systemuParametry globalneWymagany poziom zabezpieczenia aplikacji mobilnej).

Ustawienie to jest wspólne dla wszystkich procesów i aplikacji WEBCON BPS. Pozwala ono wymagać od użytkownika podania kodu PIN każdorazowo, gdy otwierana jest aplikacja mobilna, bez względu na poziom zabezpieczeń wybrany przez użytkownika. (Alternatywnie możliwe jest skorzystanie z funkcji zabezpieczeń biometrycznych, np. porównania linii papilarnych lub geometrii twarzy). W przypadku podania niepoprawnego loginu użytkownik jest zmuszony wprowadzić kod PIN zdefiniowany w konfiguracji aplikacji mobilnej.