Konfigurácia SmartWeb aplikácie
SmartWeb je aplikácia postavená na Spring Boot 4.x (Java 21), ktorá sa spúšťa ako samostatný spustiteľný JAR (smartweb.jar) s vstavaným Apache Tomcatom, alebo alternatívne ako WAR nasadený do samostatného Tomcatu. Celé behové správanie — pripojenie na D2000, autentifikácia, sprístupnenie API (REST, CometD, gRPC, OData, OpenAPI, OAuth2), konektory, monitoring — je riadené jediným konfiguračným súborom application.yaml.
Umiestnenie konfiguračného súboru
Spôsob nasadenia | Umiestnenie súboru |
|---|---|
Samostatný JAR |
|
OCI / kontajnerový image |
|
WAR v externom Tomcate |
|
Pri prvom spustení si SmartWeb automaticky vygeneruje predvolený súbor application.yaml z internej šablóny, ak žiadny konfiguračný súbor nenájde. Staršia konfigurácia smartweb.json (používaná v starších verziách) sa pri prvom spustení automaticky zmigruje do formátu YAML.
Konfiguračný súbor je možné meniť aj počas behu servera; zmeny sa však prejavia až po reštarte (redeploymente) SmartWeb aplikácie.
Štruktúra najvyššej úrovne
Všetky vlastnosti špecifické pre SmartWeb sú zaradené pod prefix smartweb.. Všeobecná štruktúra je nasledovná:
server:
port: 8443
ssl:
# TLS vstavaného Tomcatu — ovplyvňuje HTTPS pre REST, CometD, OData, OpenAPI, OAuth2 aj admin konzolu
enabled: true
key-store: config/cert/keystore.p12
key-store-type: PKCS12
key-store-password: changeit
key-alias: smartweb
smartweb:
# JAPI konekcie na D2000 (priame alebo reverzné) — viď „Konfigurácia konekcie na D2000“
connections: [ ... ]
listenableConnection: { ... }
# Konekcia na EDA Server — viď „Konfigurácia konekcie na EDA Server“
edaConnection: { ... }
# Autentifikácia: D2000 používatelia, aplikační používatelia, API kľúče, OAuth2 JWT, SPNEGO, klientske certifikáty
authentication: { ... }
application:
# Univerzálne API rozhrania REST, CometD, gRPC a OpenAPI — viď „Konfigurácia univerzálneho API rozhrania“
restApi: { ... }
cometApi: { ... }
grpcApi: { ... }
openApi: { ... }
# OAuth2 token endpoint — viď „Konfigurácia OAuth2 a SmartWeb Proxy“
oauth2: { ... }
# Konektory Web Push, D2 service, OpenAPI, SmartWeb federácia — viď „Konfigurácia konektorov“
connectors: { ... }
# VAPID kľúče pre Web Push notifikácie — viď „Konfigurácia Web Push“
api:
vapid: { ... }
# Zdroje webovej aplikácie a hot-reload pri vývoji — viď „Konfigurácia web aplikácie a podpory jej vývoja“
webResourceDirectories: [ ... ]
development: { ... }
# URL Tenkého Klienta — viď „Konfigurácia integrácie s Tenkým Klientom“
tcl: { ... }
# Úrovne logovania vstavaného Logbacku
logging:
level:
root: INFO
com.ipesoft.smartweb: INFOJednotlivé konfiguračné sekcie sú popísané v nasledujúcich kapitolách:
Sekcia | Stránka |
|---|---|
Pripojenie na jadro D2000 (JAPI) | |
Pripojenie na EDA Server | |
Autentifikácia (D2000, RPC, API kľúče, OAuth2, certifikáty, SPNEGO) | |
Univerzálne API rozhrania (REST, CometD, gRPC, OData, OpenAPI) | |
OAuth2 token endpoint a SmartWeb Proxy | |
Web Push notifikácie (VAPID) | |
Konektory D2 service, OpenAPI a SmartWeb federácia | |
Zdroje webovej aplikácie a hot-reload pri vývoji | |
Integrácia s Tenkým Klientom |
[!NOTE]
Všetky príklady v nasledujúcich kapitolách používajú formát YAML. Staršia konfigurácia smartweb.json je naďalej akceptovaná ako vstup a pri prvom spustení sa zmigruje do YAML. Nové nasadenia by mali vždy používať YAML.