Kompetencje wykonawcy
Integracje z systemami państwowymi to wyzwanie z wielu różnych powodów. Z technicznego punktu widzenia szczególnie.
Jednym z pierwszych przykładów na potwierdzenie tej tezy, jest ograniczona dostępność informacji w sieci. Stoi to w opozycji do przyzwyczajeń programistów w obecnych czasach. Deweloperzy działają bowiem na wysokim poziomie abstrakcji (często bliskim biznesowego). Wszystkie trudne kawałki kodu zostały napisane przez kogoś innego, istnieją świetne źródła informacji, gdzie prawie każdy problem jest opisany. Tworzenie aplikacji polega na powielaniu pewnych sprawdzonych wzorców po ich wcześniejszym wyszukaniu. Wyzwania, to głównie zrozumienie problemu biznesowego, wybranie odpowiednich cegiełek, ustalenie architektury aplikacji + znajomość standardów ich projektowania.
W przypadku integracji z WK sytuacja wygląda tak, że są już po części opisane, przetarte ścieżki oraz kawałki kodu, ale czasem prowadzą na manowce i znaczącą część rozwiązania trzeba odkryć samemu oraz przebrnąć przez problemy uruchomieniowe. Potrzebne jest do tego dobre zrozumienie niełatwego protokołu SAML 2.0, innych protokołów sieciowych, zagadnień kryptograficznych i związanych z bezpieczeństwem. Stworzenie rozwiązania, które nie jest w pełni bezpieczne, ale działa z WK, jest prawdopodobnym scenariuszem.
Dodatkową trudnością jest uzależnienie od informacji diagnostycznych, które nie są dostępne od ręki. Sprawność poruszania się programistów po wspomnianych w poprzednim akapicie dziedzinach, ograniczy ping-pong mailowy odbywający się przy wyjaśnianiu problemów pomiędzy wszystkimi aktorami. Ograniczy też towarzyszącą temu frustrację.
Warto też zwrócić uwagę na to, że jeśli zmienisz wykonawcę w trakcie, nowy poświęci czas na wdrożenie się w temat. Być może też o uzyskanie dostępu dla nowego środowiska testowego (musi zostać zgłoszone do COI).
Innymi słowy potrzebujesz od samego początku wykonawcy, który dobrze zna się na sprawach autentykacji i autoryzacji aplikacji, ma szerokie doświadczenie w sprawach sieciowych, rozumie protokoły szyfrowania, potrafi wyciągać wnioski z informacji zwrotnych.
Jednocześnie osoby techniczne powinny posiadać zakres kompetencji miękkich, pozwalający na sprawny kontakt z COI, który nie doprowadzi do niepotrzebnych napięć i zakończy się bezkonfliktowym rozwiązaniem problemów.