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.
Priame pripojenie na EDA Server
{
/* 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é prepojenie s EDA Serverom
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.p12", // nepovinna cesta k SSL certifikátu pre prípad šifrovaného pripojenia
"certificatePassword": "abc123" // heslo k SSL certifikátu
}
]
} }
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) nasledujúcou konfiguráciou:
#!/bin/bash while sleep 1; do socat -d -d TCP:edaserver.com:3121,forever TCP:172.16.1.179:3130,forever done
Utilita socat ukončí svoju činnosť akonahle sa jeden z portov uzavrie. Ideálne je preto jej spustenie riešit v linuxovej deamon službe s autoštartom, v tomto prípade je možné slučku while-do-done v uvedenom skripte vypustiť.
Šifrované reverzné spojenie
Pre šifrovanú komunikaciu medzi socat utilitou a SmartWeb serverom je potrebné vygenerovať nový SSL certifikát a nakofigurovať ho ako pre sockat tak pre smartweb.json konfiguráciu.
Na vygenerovanie SSL certifikátu je ideálne použiť utilitu keytool:
keytool -genkeypair -alias server -keyalg EC -sigalg SHA384withECDSA -keysize 256 -keystore servercert.p12 -storetype pkcs12 -v -storepass abc123 -validity 10000 -ext san=ip:172.16.1.179