Qt OPC UA

From Qt Wiki
Revision as of 08:03, 1 September 2017 by Fmeerkoetter (talk | contribs) (pros/cons of qtopcua as a wrapper)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

QtOpcUa as a wrapper

The current design of QtOpcUa assumes that it is a thin wrapper around an existing OPC-UA (client-)stack.

Negative consequences

  • Open-Source stacks: There is as of today no (nearly) feature complete C/C++ open source stack with a suitable license.
  • Closed-Source stacks: There are a number of feature complete stacks written in C/C++ but integration requires the cooperation of the respective vendor. This touches on topics such as
    • availability is limited to certain platforms
    • the stacks embed (static) copies of thirdparties such as libxml or openssl. This can clash with Qt third-parties (openssl is a known case).
    • vendors might not be too cooperative as it makes their stack replaceable.
  • One needs to create and maintain a CI-setup for 'x' different stacks
  • One needs to learn the client side API of 'x' different stacks to create the necessary backends.
  • Certain stacks only provide a synchronous API which creates a burden for the Qt-side (which needs to provide an asynchronous API)
  • The qt io/networking abstraction is bypassed.

Positive consequences

  • A lot of heavy lifting has already been done as the existing stacks implement all the complicated things and we just provide a wrapper (unclear if there is actually so much complicated stuff on the client-side).