Pre sprístupnenie hodnôt EDA vektorov je potrebné nakonfigurovať aj pripojenie na EDA Server. K dispozícií sú naslednovné konfiguračné možnosti v smartweb.json konfigurácii.
Pozor: Pre úspešné prepojenie SmartWeb Servera s EDA Serverom je nevyhnutné, aby verzia SmartWeb platformy korešpondovala k verzii EDA Servera. |
{
/* pole objektov s konfiguráciami priamych konekcií na EDA Server */
"edaConnection": {
"connectionMode": "DIRECT",
"connections": [
{
"host": "edaserver.com", // DNS alebo IP adresa
"port": 3130,
"watchdogFrequencySeconds": 30 // perióda v sekundách pre pingovanie spojenia kvoli zamedzeniu ukončenia TCP spojenia sieťovými prvkami
},
{
"host": "edaserver2.com",
"port": 3130,
"watchdogFrequencySeconds": 30
}
...
]
}
} |
Object edaConnection v konfiguračnom súbore smartweb.json v móde DIRECT obsahuje pole redundantných pripojení EDA Servery definované atribútmi host a port. Toto spojenie nie je šifrované. Požiadavky na EDA Server sú rozdelované medzi pripojenia systémom systémom round-robin. SmartWeb automaticky manažuje pripojenia na EDA serveri a v prípade výpadku sa s minútovým timeoutom snaží opať nadviazať spojenie.
Reverzné spojenie je možné konfigurovať nasledovne. Atribúty certificatePath a certificatePassword sa vypĺňajú len v prípade potreby šifrovania spojenia.
{
/* objekt s konfiguráciou reverznej konekcie kvôli DMZ prepojený cez utilitu socat ( EDA Server <- socat -> SmartWeb) */
"edaConnection": {
"connectionMode": "REVERSE",
"connections": [
{
"host": "172.16.1.179", // binding interface, na ktorom sa otvorí port 3130 pre reverzné spojenie
"port": 3130,
"watchdogFrequencySeconds": 30,
"certificatePath": "D:\\server.crt", // nepovinna cesta k verejnej časti SSL certifikátu pre prípad šifrovaného pripojenia s EDA serverom
}
]
} } |
EDA Server nevie priamo nadviazať reverzné spojenie na port vystavený SmartWeb aplikaciou (JEDA knižnicou). Kvôli tomuto dôvodu sa využíva Linuxová utilita socat ktorá vie komunikačne prepojiť dva sockety (EDA Servera a JEDA). S nasledujúcou konfiguráciou cez linuxovú daemon službu (systemctl) je možné mať utilitu socat vždy spustenú, pretože utilita socat ukončí svoju činnosť akonáhle sa jeden z portov uzavrie.
ExecStart=/usr/bin/socat -d -d TCP:localhost:3121,forever,keepalive TCP:smartweb.server.sk:3300,forever,keepalive Restart=always RestartSec=2 |
Pre šifrovanú komunikaciu medzi Eda serverom a SmartWeb serverom je potrebné použiť verejnú časť SSL certifikátu vygenerovaného pre D2000 server a nakofigurovať ho v smartweb.json konfigurácii.
Na strane Smart Webu treba správne vyplniť atribúty certificatePath v smartweb.json (formát konfigurácie je popísaný vyššie).