Shared Worker

Ein Shared Worker ist eine Browser-API, die es mehreren Browser-Tabs oder -Fenstern ermöglicht, einen einzelnen Hintergrund-Thread gemeinsam zu nutzen. In WinCC OA verwendet die OaRxJsApi einen Shared Worker, um genau eine WebSocket-Verbindung zum Backend aufrechtzuerhalten, die von allen geöffneten Tabs gemeinsam genutzt wird. Diese Architektur reduziert den Ressourcenverbrauch und die Lizenznutzung im Vergleich zu Verbindungen pro Tab. Der Shared Worker übernimmt die JWT-basierte Authentifizierung und Token-Erneuerung, Heartbeat-Überwachung mit automatischer Wiederverbindung, Round-Robin-Server-Failover für Hochverfügbarkeit sowie referenzgezählte Datenpunkt-Subscriptions, die automatisch bereinigt werden, wenn kein Konsument mehr vorhanden ist. Der Shared Worker wird von der WebUI Runtime, dem Dashboard und anderen webbasierten Anwendungen verwendet, die über die OaRxJsApi kommunizieren.