[Feature Request]: Implement OPC-UA connection level discovery aside of main driver logic
splatch opened this issue · comments
What would you like to happen?
The OPC-UA endpoint discovery is important to get a working connection towards UA server, however its current implementation already lead to multiple issues and contributed to overall stability of the driver.
Main problem with UA discovery is visible only at the lower level if option discover' is set to 'true
. In such case we create a pre-flight TCP connection to obtain endpoint string and server certificate which we can use to launch desired connection. To my present knowledge, this is the only one reason we have that. In order to achieve above case we made adjustments with plc4j-spi as well as driver context (mutable) vs driver configuration (immutable).
I believe that sorting this puzzle before 1.0 would greatly simplify maintenance of driver and spi, cause current way requires close care of both places. Switching this code to PlcDiscoverer
sounds like a much viable and reliable alternative. We already have working implementations of this SPI in ads and profinet drivers.
Programming Languages
- plc4j
- plc4go
- plc4c
- plc4net
Protocols
- AB-Ethernet
- ADS /AMS
- BACnet/IP
- CANopen
- DeltaV
- DF1
- EtherNet/IP
- Firmata
- KNXnet/IP
- Modbus
- OPC-UA
- S7