Integracja aplikacji mobilnej z systemem ERP i back office
Aplikacja mobilna bez połączenia z systemami back office to wyspiarskie narzędzie – wygodne, ale ograniczone. Prawdziwa wartość pojawia się, gdy aplikacja jest oknem na dane ERP, CRM i systemów operacyjnych firmy – gdy handlowiec w terenie widzi aktualne stany magazynowe, serwisant może zamknąć zlecenie bezpośrednio z telefonu, a menedżer ma real-time wgląd w KPI. Integracja to wyzwanie techniczne, ale też architektoniczne – i wymaga dobrego projektu od samego początku.
Architektura integracji – podstawowe podejścia
Bezpośrednie API do ERP
Najprostsza konceptualnie, ale często problematyczna w praktyce. Aplikacja mobilna wywołuje API systemu ERP bezpośrednio.
Aplikacja mobilna | | REST API / GraphQL v System ERP (SAP, Optima, MS Dynamics)
Problemy:
-
ERP API często nie jest projektowane pod mobile (słaba wydajność, brak optymalizacji dla małej przepustowości)
-
Zmiany w ERP wymagają zmian w aplikacji
-
Trudna obsługa offline – gdy nie ma internetu, aplikacja przestaje działać
-
Bezpieczeństwo – aplikacja musi mieć dostęp do produkcyjnego ERP
Backend For Frontend (BFF)
Dedykowana warstwa backendu pisana pod potrzeby aplikacji mobilnej. To najczęściej stosowane podejście w profesjonalnych wdrożeniach.
Aplikacja mobilna | | REST API / GraphQL v BFF (Backend For Frontend) [logika biznesowa, cache, auth] | +----+----+ | | | v v v ERP CRM inne systemy
Zalety BFF:
-
API zoptymalizowane pod mobile (mniej danych, odpowiednie formaty)
-
Zmiany w ERP nie wymagają zmian w aplikacji (bufor zmian w BFF)
-
Możliwość cache’owania danych dla trybu offline
-
Jedna warstwa uwierzytelniania i autoryzacji
-
Łatwiejsze testowanie i debugowanie
Middleware / Integration Platform
Dla firm z wieloma systemami – platforma integracyjna (iPaaS) jako hub wszystkich połączeń. Narzędzia: MuleSoft, WSO2, Dell Boomi, Azure Integration Services, Make.com dla mniejszych wdrożeń.
O narzędziach do automatyzacji i integracji piszemy w artykule Narzędzia do automatyzacji procesów biznesowych – przegląd i porównanie.
Kluczowe funkcje integracji mobilna-ERP
Synchronizacja danych w czasie rzeczywistym
Nie wszystkie dane muszą być real-time. Ważne rozróżnienie:
-
Real-time: stany magazynowe, dostępność terminów, status zamówienia w trakcie dostawy
-
Near real-time (co kilka minut): ceny, informacje o klientach, zlecenia serwisowe
-
Batch (raz dziennie): raporty, historyczne dane, katalogi produktów
Offline mode z synchronizacją
Pracownicy terenowi często tracą zasięg. Aplikacja musi działać offline i synchronizować dane po powrocie do sieci. Typowa architektura:
-
Lokalna baza danych na urządzeniu (SQLite, Realm)
-
Kolejka operacji do synchronizacji (sync queue)
-
Conflict resolution – co gdy dane zmieniły się w ERP i w aplikacji jednocześnie?
-
Background sync – automatyczna synchronizacja gdy pojawia się połączenie
Autoryzacja i bezpieczeństwo
Telefon może zostać zgubiony lub skradziony. Dostęp do danych ERP przez mobile musi być odpowiednio zabezpieczony:
-
OAuth 2.0 / OpenID Connect – standardowe uwierzytelnianie
-
Biometria jako dodatkowy czynnik (Face ID, fingerprint)
-
Automatyczne wylogowanie po bezczynności
-
Mobile Device Management (MDM) dla urządzeń firmowych
-
Remote wipe – zdalna możliwość wymazania danych z urządzenia
Integracja z KSeF przez aplikację mobilną
Od 2026 roku KSeF jest obowiązkowy. Dla handlowców wystawiających faktury w terenie oznacza to, że aplikacja mobilna musi integrować się z systemem fakturowania i przekazywać faktury do KSeF. Architektura: aplikacja -> BFF -> system fakturowania -> KSeF API. O integracji KSeF z infrastrukturą ERP piszemy w artykule Integracja KSeF z systemem ERP – jak przygotować infrastrukturę.
Wybór technologii a możliwości integracji
Wybór technologii aplikacji (natywna vs cross-platform) ma wpływ na integrację:
-
Swift/Kotlin (natywne) – najlepsze możliwości integracji z lokalną bazą danych, background processing, notyfikacjami push
-
React Native – dobra integracja przez JavaScript, bogaty ekosystem bibliotek, możliwe ograniczenia przy zaawansowanych funkcjach
-
Flutter – dobry performance, natywne pluginy dla większości przypadków
Porównanie technologii w artykule React Native, Swift czy Kotlin – porównanie technologii mobilnych.
Integracja z systemami front office
Aplikacja mobilna często służy jako łącznik między front office (kontakt z klientem) a back office (procesy wewnętrzne). Spójność danych między tymi warstwami jest krytyczna – o architekturze integracji front i back office piszemy w artykule Integracja front office i back office – klucz do spójnego przepływu danych.
Najczęstsze pułapki integracji
-
Zbyt duże payloady API – ERP zwraca 200 pól, aplikacja potrzebuje 10. Zawsze filtruj dane po stronie serwera
-
Brak wersjonowania API – aktualizacja ERP może zepsuć aplikację. Versioning API (/v1/, /v2/) to konieczność
-
Ignorowanie latency mobile – połączenie 3G ma latency 100-300ms. Minimalizuj liczbę zapytań (batch requests, GraphQL)
-
Brak obsługi błędów po stronie aplikacji – co gdy serwer nie odpowiada? Aplikacja nie może “zamrzeć”
-
Synchronizacja bez conflict resolution – dwa użytkownicy edytują ten sam rekord offline, później synchronizują – który wygrywa?
Podsumowanie
Integracja aplikacji mobilnej z ERP i back office to projekt inżynieryjny wymagający przemyślanej architektury. Kluczowe decyzje – BFF vs direct, real-time vs batch, jak obsługiwać offline – powinny być podjęte na etapie projektowania, nie implementacji. Dobrze zaprojektowana warstwa integracji daje aplikacji mobilnej pełną moc systemu back office przy zachowaniu responsywności i niezawodności. To inwestycja, która procentuje przez cały cykl życia aplikacji.