webserver.js
webserver.js ist ein Node.js-basierter Webserver, der ein modernes, erweiterbares Backend für Full-Stack-Webanwendungen in WinCC OA bereitstellt.
webserver.js wird als JavaScript Manager ausgeführt und dient als Backend für WinCC OA Webanwendungen, einschließlich des Dashboard. Bereitgestellt wird ein moderner Node.js-basierter Webserver mit Express-ähnlichem Routing, integrierter HTTPS-Unterstützung mit konfigurierbaren Porteinstellungen sowie HTTP- und WebSocket-Kommunikation über denselben Port.
Das WinCC OA Dashboard und Webclient-Anwendungen werden direkt
bereitgestellt. ULC UX-Anfragen
werden an webclient_http.ctl weitergeleitet. Die Architektur ist
erweiterbar — der Server kann mit TypeScript- oder
CTRL-Handlern
angepasst werden. Kundenerweiterungspakete stehen über npm
(@wincc-oa/backend und
@wincc-oa/create-backend) zur Verfügung.
Intern wird webserver.js innerhalb des WinCC OA JavaScript Manager ausgeführt. Zum Einsatz kommt ein Express-kompatibles HTTP-Framework, das eingehende Anfragen verarbeitet, statische Dateien bereitstellt und API-Aufrufe routet. Unterstützt werden sowohl One-Shot-Request/Response-Muster als auch Live-WebSocket-Subscriptions für Echtzeitdaten. Erweiterungspunkte sind auf mehreren Ebenen verfügbar: TypeScript-Handler ermöglichen das Ableiten der Basisklasse oder das Registrieren eigener Request-Handler und Routen. CTRL-Handler ermöglichen die Implementierung von HTTP-Endpunkten in der WinCC OA CTRL-Sprache. Zusätzlich können benutzerdefinierte statische Inhalte zusammen mit den integrierten Dashboard-Dateien bereitgestellt werden.
Beziehung zu älteren Komponenten
Mit webserver.js werden sowohl das Skript dashboard.ctl als auch
der HTTP Server als Backend für
webbasierte Benutzeroberflächen in WinCC OA abgelöst.
dashboard.ctl wurde innerhalb des Control Managers mit
CTRL-Skripting ausgeführt. Der HTTP Server wurde als separates Webserver-Add-on
bereitgestellt. webserver.js vereint diese Funktionen in einem Node.js-basierten
Backend mit TypeScript-Unterstützung und gängigen Web-Frameworks.
Der HTTP Server und dashboard.ctl bleiben für bestehende
Installationen verfügbar. Für neue Projekte wird webserver.js als Ersatz für
dashboard.ctl als Dashboard-Backend empfohlen. Der CTRL Manager
mit webclient_http.ctl wird weiterhin für
ULC UX und andere
Webclient-Funktionalität benötigt, die nicht von webserver.js abgedeckt wird.
Informationen zur Migration sind unter Migration von älteren Komponenten verfügbar.
