Avatar

Please consider registering
guest

sp_LogInOut Log In sp_Registration Register

Register | Lost password?
Advanced Search

— Forum Scope —




— Match —





— Forum Options —





Minimum search word length is 3 characters - maximum search word length is 84 characters

sp_Feed Topic RSS sp_TopicIcon
Java SDK : OPC UA Pub/Sub & redundancy implementation
March 17, 2020
14:27, EET
Avatar
nferrand
New Member
Members
Forum Posts: 2
Member Since:
July 25, 2018
sp_UserOfflineSmall Offline

Hello,

We have a 4.2 version of the Java SDK , and I wanted to know in this sdk what was the level of implementation of the OPC UA Pub/Sub specification and redundancy (Redundant Client Facet, Client Redundancy Server Facet, Redundancy Transparent Server Facet, Redundancy Visible Server Facet).

I saw that the SDK is supposed to support redundancy, but it is precised “requires application implementation”. Also, do you have any samples/examples on how to deploy such services with your SDK ?

Best regards,
N.Ferrand

March 17, 2020
15:12, EET
Avatar
Bjarne Boström
Moderator
Moderators
Forum Posts: 1026
Member Since:
April 3, 2012
sp_UserOfflineSmall Offline

Hi,

We do not yet have any version that would include any pubsub support. We are working on that (lets just say the number of support cases and other required fixes has been a lot bigger than estimated originally so less time for development). Probably at least some kind of beta (might not be public) version within early Q2 of this year. Note that first versions will not support everything. Therefore just saying “Pub/Sub” is not enough, since that means a lots of different things (UADP+UDP, MQTT, AMQP, binary or json encodings, is security needed? etc.). But e.g. for UADP+UDP we are quite close for making a beta release.

We do not have any examples for those redundancy facets. However are you yourself familiar what those actually means? We use the terms from the specification profiles, however what they actually mean might not be what you are thinking.

e.g. https://reference.opcfoundation.org/v104/Core/docs/Part7/6.6.116/, defines Redundant Client Facet. That means that the only thing that must be supported is the conformance unit “Redundancy Client”. And well, it is optional to support “Subscription Client TransferSubscriptions” (we support TransferSubscriptions).

However, “Redundancy Client” only just means (per https://apps.opcfoundation.org/ProfileReporting-v1.02/index.htm?ModifyProfile.aspx?ProfileID=c942a19b-8615-4c84-a81c-a20e26eec062) “Client supports Client redundancy. Clients that support Client redundancy can failover to another Client (requires some out of band communication).”. Since our SDK allows you to make more than one OPC UA Client, this is possible.. But it is upto you as an application level designer to come up with some kind of out of band communication way that the client knows that another client has failed for your specific use-case.

We will eventually make some examples, but priority for making those is not very high at the moment. Lets see once pubsub is done…..

March 26, 2020
12:30, EET
Avatar
nferrand
New Member
Members
Forum Posts: 2
Member Since:
July 25, 2018
sp_UserOfflineSmall Offline

Hello,

First, thanks for your answer on Pub / Sub. We wanted to have an answer on what has been developped within the pubsub topic. From my understanding, you are working on several protocols at the same time, the most advanced one would be UADP+UDP.

For redundancy, as the specification defines it, I was thinking about failover between clients and between server. Is my interpretation correct ?
So, looking at your answer on Redundancy Client, for the server-side (e.g. https://reference.opcfoundation.org/v104/Core/docs/Part4/6.6.2/) we have to come up with our own solution either we want a transparent redundancy (involving some kind of hardware solution) or a visible redundancy.

April 1, 2020
15:31, EEST
Avatar
Bjarne Boström
Moderator
Moderators
Forum Posts: 1026
Member Since:
April 3, 2012
sp_UserOfflineSmall Offline

I wont go into details, but if you read Part 14 you will see that a large part of the functionality is common for all of the “PubSub protocols”. Thus it will be relatively easy to add the rest of them once we have one of them.

There are multiple different modes there in the Table 111 (Failover mode and Client options Cold Warm Hot (a) Hot (b) HotAndMirrored). Generally redundancy depends entirely on what kind of scenarios do you have in mind? Is data loss ok? Is any delay of getting data ok? Is there a bandwidth limit in the network? Is there CPU+RAM limitations to run multiple clients/servers? Does your server support History for data and/or events? Do you control all clients and/or servers? What is the original source of the data? Does that need to also be mirrored etc?

P.S.
Generally speaking application development is outside of the technical support.

Forum Timezone: Europe/Helsinki

Most Users Ever Online: 1919

Currently Online:
20 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Heikki Tahvanainen: 402

hbrackel: 144

rocket science: 88

pramanj: 86

Francesco Zambon: 83

Ibrahim: 78

Sabari: 62

kapsl: 57

gjevremovic: 49

Xavier: 43

Member Stats:

Guest Posters: 0

Members: 735

Moderators: 7

Admins: 1

Forum Stats:

Groups: 3

Forums: 15

Topics: 1523

Posts: 6449

Newest Members:

rust, christamcdowall, redaahern07571, nigelbdhmp, travistimmons, AnnelCib, dalenegettinger, howardkennerley, Thomassnism, biancacraft16

Moderators: Jouni Aro: 1026, Pyry: 1, Petri: 0, Bjarne Boström: 1026, Jimmy Ni: 26, Matti Siponen: 346, Lusetti: 0

Administrators: admin: 1