Konfigurácia konektorov
SmartWeb konektor je dlhožijúci komponent, ktorý dáva D2000 schopnosť dosiahnuť službu bežiacu mimo jadra D2000 — či už ide o Web Push endpoint, externé HTTP API alebo iný SmartWeb uzol. Watchdog periodicky pinguje podkladové spojenie; ak ping zlyhá, konektor sa automaticky znovu pripojí.
Všetky konektory sa konfigurujú pod smartweb.application.connectors.*. Táto stránka pokrýva D2 service konektor (registruje SmartWeb ako D2000 aplikáciu) a SmartWeb federačný konektor (preposiela požiadavky na iný SmartWeb uzol). Ostatné konektory sú popísané v:
D2 service konektor (core)
D2 service konektor registruje SmartWeb ako pomenovanú aplikáciu konfigurovateľného typu D2000 procesu. Po zaregistrovaní môžu D2000 ESL skripty objaviť SmartWeb inštanciu, posielať jej RPC volania a zistiť, keď je offline.
smartweb:
application:
connectors:
coreConnector:
local:
enabled: true
processType: CALC # CALC | KOM | DBM | DIAL | ARCH
processName: "DEMO.SmartWebConnector"
watchdogIntervalMs: 30000 # interval watchdog pinguVlastnosť | Popis |
|---|---|
| Zapne alebo vypne konektor. |
| Typ D2000 procesu, ako ktorý sa SmartWeb registruje: |
| Unikátny názov, pod ktorým je SmartWeb zaregistrovaný v D2000. |
| Interval, v milisekundách, medzi watchdog pingmi na D2000 spojenie. |
Ako to funguje
Pri štarte sa konektor zaregistruje v D2000 s nakonfigurovaným
processTypeaprocessName.D2000 ESL skripty môžu detegovať
processNameako aktívnu aplikáciu a posielať jej RPC volania (ExecuteRpc("E.SmartWebEvent", "HandleData", …)).Watchdog periodicky pinguje podkladové spojenie; pri zlyhaní sa konektor automaticky odpojí a znovu pripojí.
Pri vypnutí sa konektor korektne odregistruje z D2000.
SmartWeb federačný konektor
SmartWeb federačný konektor umožňuje jednému SmartWeb uzlu preposielať požiadavky (REST, OpenAPI, fallback API volania) na iný SmartWeb uzol. Typické prípady použitia:
Vysoká dostupnosť — primárny uzol preposiela požiadavky na záložný uzol, keď je jeho vlastné D2000 spojenie nedostupné.
Multi-tenant nasadenie — jeden vstupný SmartWeb smeruje požiadavky na špecializované SmartWeb uzly podľa tenanta alebo D2000 aplikácie.
Oddelenie DMZ — SmartWeb vystavený do internetu preposiela požiadavky na interný SmartWeb, ktorý má skutočné D2000 spojenie.
smartweb:
application:
connectors:
smartweb:
mode: LOCAL # LOCAL (bez preposielania) | REMOTE (preposlanie)
remote:
enabled: true
targetUrl: "https://remote-smartweb.example.com"
apiKey: "remote-node-api-key"
timeoutMs: 30000
ssl:
trustStorePath: config/cert/truststore.p12
trustStorePassword: changeit
serializationFields:
- SESSION_ID
- AUTH_CONTEXT
- REQUEST_BODY
- REMOTE_ADDR
- USER_AGENTVlastnosť | Popis |
|---|---|
|
|
| Aktivuje vzdialené preposielanie. |
| HTTPS URL vzdialeného SmartWeb uzla. |
| API kľúč autentifikujúci lokálny uzol voči vzdialenému uzlu. Vzdialený uzol musí mať tento kľúč nakonfigurovaný vo svojom |
| Timeout požiadavky v milisekundách. |
| Truststore použitý na overenie TLS certifikátu vzdialeného uzla. |
| Polia preposielané s každou preposlanou požiadavkou. Viď tabuľku nižšie. |
Hodnoty serializationFields
Hodnota | Popis |
|---|---|
| Preposlať lokálne ID relácie |
| Preposlať autentifikačný kontext (meno používateľa, typ autentifikácie) |
| Preposlať celé telo HTTP požiadavky |
| Preposlať IP adresu pôvodného klienta |
| Preposlať pôvodnú HTTP hlavičku |
Health checky
Stav každého zaregistrovaného konektora je súčasťou health-check endpointu SmartWebu GET /healthcheck. Každý konektor má v odpovedi vlastnú položku s názvom NODE_CONNECTOR_<názov-procesu> (bodky v názve procesu sú nahradené podčiarkovníkmi) a príznakom healthy:
{
"D2_API_CONNECTION": { "healthy": true },
"NODE_CONNECTOR_DEMO_SmartWebConnector": { "healthy": true }
}Konektor je healthy, keď má živé spojenie alebo (v redundantnom nasadení) beží na inom uzle; inak je healthy: false. Vypnutý konektor sa do odpovede nezahŕňa.