Integracja z ePUAP
Wprowadzenie
W wydaniu 230930 systemu AMODIT wprowadzamy funkcjonalność integracji z ePUAP, czyli Elektroniczną Platformą Usług Administracji Publicznej. Owa integracja zakłada realizację następujących funkcjonalności w ramach systemu AMODIT:
- Obsługa skrzynki odbiorczo-nadawczej ePUAP w obrębie systemu AMODIT (korespondencja przychodząca i wychodząca);
- Możliwość podpisania dokumentu Profilem Zaufanym (integracja z Profilem Zaufanym);
- Obsługa szablonów dokumentów zarejestrowanych w systemie ePUAP (generowanie dokumentu zgodnego ze wzorem szablonu, weryfikacja szablonu oraz wizualizacja dokumentu zgodnie z zaleceniami dla szablonu);
- Uwzględnienie obsługi pozostałych funkcjonalności skrzynki ePUAP, np. grupowanie wiadomości w wątkach, obsługa UPP i UPD, obsługa dużych plików.
Główne założenia
Główny postulat integracji: celem integracji nie jest odwzorowanie 1:1 funkcjonalności aplikacji ePUAP (do obsługi korespondencji), tylko stworzenie mechanizmów integracji wykorzystujących obecnie istniejące funkcjonalności systemu AMODIT (sprawy, procesy, reguły, raporty). Wobec tego integracja nie obejmuje żadnych zmian od strony obsługi lub interfejsu użytkownika systemu AMODIT, a same funkcjonalności integracji są dostarczane jako oddzielna biblioteka (wtyczka – plugin).
Decydując się na integrację systemu AMODIT z systemem ePUAP użytkownik w rzeczywistości zgadza się na przechowywanie wszystkich wiadomości pochodzących z ePUAP w systemie AMODIT. Raz pobrana do systemu AMODIT wiadomość nie będzie już dostępna w skrzynce użytkownika w ePUAP.
Docelowym odbiorcą integracji są instytucje publiczne (podmioty, którym przyznano taki status) tj.:
- urzędy (ministerstwa, jednostki samorządowe itp.);
- dostawcy usług publicznych (szpitale, szkoły publiczne, sądy itp.);
- służby porządkowe (policja, straż pożarna, itp.).
Dostęp do usług ePUAP jest możliwy w sytuacji, gdy właścicielem skrzynki ePAUP jest podmiot zarejestrowany jako instytucja publiczna. Jest to prawnie usankcjonowane i w rezultacie systemy klasy EZD (jak np. AMODIT) mogą obsługiwać skrzynkę odbiorczo-nadawczą tylko dla instytucji publicznych. W związku z tym integracja z ePUAP po stronie systemu AMODIT nie jest dostępna dla tych podmiotów:
- osoby fizyczne (obywatele);
- firmy (jednoosobowa działalność gospodarcza oraz większe formy działalności);
- organizacje pozarządowe.
Techniczne założenia integracji
Integracja jest realizowana jako oddzielna biblioteka (.dll), zawierająca zbiór dodatkowych funkcji reguł dla silnika reguł systemu AMODIT, które to funkcje służą do komunikacji z web serwisami (komunikacja SOAP) systemów ePUAP oraz PZ (Profil Zaufany).
Uwierzytelnienie żądań wysyłanych z systemu AMODIT do wspomnianych systemów odbywa się za pomocą wykorzystania certyfikatów X.509 (podpisanie wysyłanych treści za pomocą klucza prywatnego certyfikatu).
Biznesowy scenariusz działania integracji (przykład)
W trakcie realizacji integracji z ePUAP w konkretnym scenariuszu biznesowym należy przyjąć, że jedna wiadomość odebrana z/wysłana do systemu ePUAP odpowiada jednej sprawie/procesowi w systemie AMODIT.
Na formularzu sprawy w systemie AMODIT, a reprezentującej wiadomość z/do systemu ePUAP, powinny znaleźć się specjalne pola, które pozwolą na późniejszą synchronizację wiadomości oraz identyfikację wiadomości w dwóch systemach – AMODIT oraz ePUAP. Zbiór specjalnych pól powinien zawierać:
- ID wiadomości – identyfikator, który pozwoli systemowi AMODIT rozpoznawać wiadomości z systemu ePUAP;
- ID wątku – identyfikator, który będzie grupował wiadomości z poszczególnych wątków dyskusyjnych (np. wiadomość + odpowiedź do wiadomości, wiadomość + UPP);
- adres nadawcy/login nadawcy;
- adres odbiorcy/login odbiorcy;
- czas zarejestrowania wiadomości w systemie ePUAP;
- ID UPP – identyfikator, wiadomości, która jest potwierdzeniem odbioru wysłanej sprawy.
Wysyłanie jak i pobieranie wiadomości realizuje się za pomocą dedykowanych funkcji reguł.
Przykładowy scenariusz biznesowy działania integracji, w którym system AMODIT odbiera wiadomości z systemu ePUAP, może przebiegać następująco:
- [1] Proces w systemie AMODIT odpytuje skrzynkę w systemie ePUAP o to, czy są jakieś nowe wiadomości w kolejce.
- [2] System ePUAP odpowiada, podając ilość wiadomości oczekujących w kolejce odbiorczej.
- [3] Następnie proces w systemie AMODIT w kolejnych iteracjach (kroki [4], [5], [6] i [7]) …
- [4] … pobiera pojedynczo kolejną wiadomość z kolejki w systemie ePUAP.
- [5] System ePUAP przekazuje zawartość wiadomości.
- [6] System AMODIT zapisuje treść wiadomości jako sprawę/proces.
- [7] System AMODIT wysyła do systemu ePUAP potwierdzenie odebrania wiadomości.
Zrealizowane mechanizmy integracji z ePUAP w ramach wydania 230930 systemu AMODIT
W ramach wydania 230930 systemu AMODIT zrealizowaliśmy mechanizmy integracji w następującym zakresie:
- Implementacja kodu klienta do komunikacji z web serwisami ePUAP i PZ, który potrafi uwierzytelniać się za pomocą podpisywania wysyłanych żądań certyfikatem X.509;
- Implementacja funkcji reguł ePUAP_SendMessageInDeliveryMode(), umożliwiającej wysłanie wiadomości w trybie „Doręcz”;
- Implementacja funkcji reguł ePUAP_SendStandardMessage(), umożliwiającej wysłanie wiadomości w trybie „Nadaj”;
- Implementacja funkcji reguł ePUAP_ReceiveMessages(), umożliwiającej pobranie wskazanej liczby wiadomości i zapisanie wspomnianych wiadomości jako sprawy w systemie AMODIT;
- Rozszerzenie mechanizmu generowania podglądów dokumentów o wsparcie dla plików XML (generowanie podglądu na podstawie stylesheetu lub szablonu zdefiniowanego w ustawieniach pola).
Wraz z kolejnymi wydaniami systemu AMODIT będziemy również rozszerzać paletę możliwości integracyjnych z systemem ePUAP.