I'm researching about OPC UA and software that uses it, I noticed that one of major products that is using OPC UA is ignition but its not using foundation's sdk. What's the problem with that ? I can see that Foundation licenses other opc ua servers. does it really matter or not ?
-
OPC-UA software has to follow OPC-UA specification, this is requirement. Using some SDK, library, language is not required. I don't understand your remark about servers -- what it has to do with SDK? – astrowalker Dec 11 '19 at 06:15
-
@astrowalker I can see foundation is somehow a license, so why they are not concern with that ? is there any problem with foundation's SDK ? – mgblow Dec 11 '19 at 06:20
-
My English fails me when I read "foundation is a license". I don't know the exact reasoning, but if the given piece is crucial for your business it might be good idea to write given piece by yourself. This way you have total control over it. – astrowalker Dec 11 '19 at 11:06
3 Answers
Ignition is written in Java and the OPC Foundation’s Java stack didn’t exist when Ignition was originally developed.
Since then, it has migrated to using Eclipse Milo, an open source implementation of OPC UA, and the OPC Foundation has abandoned its Java stack and no longer maintains it.

- 6,500
- 3
- 26
- 35
-
I can see that you are a member of ignitions opc team, and milo is your project, you say ignition's opc server module is based on milo project that you created ? – mgblow Dec 11 '19 at 18:21
-
Yes, Ignition's OPC UA server (and its client) uses Eclipse Milo. – Kevin Herron Dec 12 '19 at 01:54
-
one more question came to my mind, do you have any certificates from opc foundation ? does iot matter to you ? – mgblow Dec 18 '19 at 04:30
-
If you’re asking if Ignition’s OPC UA Server is certified then no, it’s not currently. It used to be but it has since expired. I’ll be getting it certified again in 2020. – Kevin Herron Dec 18 '19 at 14:06
I can't really speak for Ignition, but OPC Foundation is only providing the Stack layer of OPC UA for Java. The stack layer implements the message transport, encoding and encryption and is vital for ensuring interoperability of communication.
Prosys OPC UA SDK for Java provides the SDK layer on top of the OPC Foundation Stack for Java. The SDK layer provides implementation of application level functionality, such as session and subscription management, events, alarms and even information modelling capabilities.
Although OPC Foundation has officially discontinued the development of the Java Stack, it is very mature, supports OPC UA 1.04, and it is still updated for important security issues. After all, the development was started in 2006 already. So there is nothing wrong with it, except that you would usually need the SDK layer to be able to develop full-blown applications easily enough. For very basic applications, you can build the respective functionality yourself, too, but in practice it does not usually make sense due to all the requirements.
Prosys OPC UA SDK is commercial and comes with commercial support, which can be good or bad depending on what you are looking for :) The stack is nowadays integrated into the product and being actively developed along with the SDK to ensure full support for all OPC UA functionality in future as well.

- 2,099
- 14
- 30
Welcome to stackoverflow
There is no obligation to use the Foundation's SDKs, and if you use those SDKs in a commercial program or app you need to be a member and pay an annual fee.
Instead they can be used for free in open source software.
I have written from the base my own OPC UA client for Android, without using any SDK, just reading the extensive documents of the foundation. Here is the app that incorporates it: https://www.suppanel.com/index.php/en/

- 3,976
- 2
- 13
- 23