„Unsere APEX-App funktioniert offline“ klingt für Außendienst, Lager oder Service attraktiv. Bei der Planung muss jedoch klar sein, was damit gemeint ist. Oracle APEX kann eine Progressive Web App (PWA) installieren, statische Ressourcen über einen Service Worker cachen und bei fehlender Verbindung eine Offline-Seite anzeigen. Das ist nicht dasselbe wie Formulareingaben lokal zu speichern und später zuverlässig mit der Datenbank zu synchronisieren.
Was die deklarative PWA-Konfiguration leistet
In den Shared Components einer Anwendung wird PWA unter „Progressive Web App“ konfiguriert. Voraussetzungen sind unter anderem HTTPS (oder localhost) und aktivierte Friendly URLs. Nach Aktivierung können Nutzer die Anwendung installieren; für Service Worker lässt sich die APEX-Standardkonfiguration verwenden oder über Hooks erweitern.
Die Standardstrategie kann gecachte Ressourcen ausliefern und bei einem Netzwerkfehler eine Offline-Seite anzeigen. Dadurch kann die Oberfläche schneller laden und der Nutzer erhält eine verständliche Rückmeldung statt einer leeren Browserseite. Dynamische APEX-Seiten benötigen aber weiterhin die Server- und Datenbankverbindung. Ein gecachtes JavaScript- oder CSS-File enthält weder den aktuellen Datenbankstand noch eine sichere Warteschlange für abgeschickte Änderungen.
Offline-Schreibvorgänge brauchen ein eigenes Modell
Sollen Mitarbeitende ohne Netz Daten aufnehmen, braucht die Anwendung eine lokale Speicherstrategie, Regeln für Wiederholungen und eine Synchronisationsschnittstelle. Dazu kommen fachliche Fragen: Was passiert, wenn derselbe Datensatz online geändert wurde? Wie werden doppelte Übertragungen verhindert? Welche Daten dürfen auf einem gemeinsam genutzten Gerät gespeichert bleiben und wie werden sie gelöscht oder geschützt?
Für jeden Offline-Vorgang sollten deshalb eine stabile Client-ID, ein nachvollziehbarer Status und ein idempotenter Serverprozess vorgesehen werden. Die Oberfläche muss „gespeichert auf dem Gerät“ klar von „in der Datenbank bestätigt“ unterscheiden. Ein bloß ausgeblendeter Fehlerhinweis oder ein späterer automatischer Formular-Submit reicht nicht aus, um Datenverlust und doppelte Buchungen zu vermeiden.
Ein kleiner Testplan für den Rollout
- Installierbarkeit und HTTPS auf den tatsächlich genutzten Browsern und Geräten prüfen.
- Cache leeren, Anwendung erstmals laden und anschließend die Verbindung gezielt trennen: Welche Ressourcen und Seiten funktionieren wirklich?
- Formular absenden, während das Gerät offline ist; erwartetes Verhalten und Nutzerhinweis dokumentieren.
- Bei eigener Offline-Synchronisierung Wiederholung, Timeout, Konflikt, Abmeldung und Geräteverlust testen.
- Nach einem Deployment sicherstellen, dass alte gecachte Ressourcen nicht mit einer inkompatiblen Serverversion weiterarbeiten.
- Service-Worker-Hooks isoliert testen: Ein Fehler im Worker kann Cache-Verhalten oder Offline-Fallback beeinträchtigen.
Fazit
APEX-PWA-Funktionen sind ein guter Einstieg für installierbare Anwendungen und robustere Auslieferung statischer Ressourcen. Für belastbare Offline-Prozesse braucht es jedoch mehr als ein App-Manifest und einen Service Worker. Definieren Sie die Offline-Anforderung präzise, zeigen Sie den Verbindungsstatus verständlich an und versprechen Sie Datenerfassung ohne Netz erst dann, wenn lokale Speicherung und Synchronisierung als eigener Prozess implementiert und geprüft sind.
Weiterführend: Oracles Anleitung zum Erstellen einer Progressive Web App und die Dokumentation zu PWA-Attributen, Push Notifications und Service Worker.