Azure / Industrial-IoT

Azure Industrial IoT Platform
MIT License
523 stars 214 forks source link

OPC UA PubSub 1.04 Compliance #38

Closed mpostol closed 3 years ago

mpostol commented 6 years ago

The Readme.md file states:

This reference implementation demonstrates how Azure IoT Edge can be used to connect to existing OPC UA servers and publishes JSON encoded telemetry data from these servers in OPC UA "Pub/Sub" format (using a JSON payload) to Azure IoT Hub.

It requires that the message created by:

IotHubMessaging.CreateJsonMessageAsync(OpcPublisher.OpcMonitoredItem.MessageData)

has to be compliant with the specification:

My concern is what is the reason to create the message following this specification. As far as I understand this encoding. i.e. the JSON based message mapping allows OPC UA Applications to interoperate with web and enterprise software that use this format. Is there any plan to:

mpostol commented 6 years ago

@hansgschossmann , @gasherma ,

I am working on PubSub implementation as a part of a more generic solution called Object Oriented Internet.

The implementation is described in:

SemanticData Message Centric Communication

My long-term plan is to provide a component (part injected as a data consumer) exporting DataSets as JSON. Networking.ReferenceApplication To Do

Hopefully, we could harmonize our effort. I will appreciate any information about your roadmap and how it works for you. Depending on your information I will prioritize my work. Mabe, it makes sense to localize the development in an independent repo, of course opening the question about dependency graph.

ggokka commented 5 years ago

@mpostol Have you got an answer about OPC UA PubSub 1.04 Compliance?

mpostol commented 5 years ago

@ggokka I have not got any response. It seems that one reason is stability of the Part 14. there are a lot of issues reported: https://opcfoundation-onlineapplications.org/mantis/view_all_bug_page.php There is a discussion you may be interested: https://lnkd.in/gAtSxaX

mpostol commented 5 years ago

Yesterday I have got official information from OPCF:

With respect to IPR 2.1, clause 2 we inform you that the following amendment for version 1.04 of the OPC UA specification has been published

  • Amendment 6 UADP Header Layouts

The document is available for members-only at this location: Errata and Amendments The review period to opt out claims starts today 09.02.2019 and will end in 90 days.

Unfortunately, the document is not available for me due to membership limitations. It seems that any activity related to PubSub must be postponed until the spec will be stable.

My recommendation is: label it as waiting.

mpostol commented 4 years ago

To promote reusability this issue must be reviewed against the mpostol/OPC-UA-OOI#425 and new project Object-Oriented Internet - reactive visualization of asynchronous data using AZURE services.

marcschier commented 4 years ago

We are working on Pub/Sub format and will release a configuration API before June this year.

mpostol commented 4 years ago

@marcschier Consider using my document that contains Augmented BNF definition of the NetworkMessage. NetworkMessage is originally defined in OPC UA Part 14 Release 1.04 February 06, 2018. Augmented BNF is defined in the document Augmented BNF for Syntax Specifications: ABNF RFC 5234.

OPCF defined also a document OPC 10001-6 - Amendment 6 UADP Header Layouts. There are also reported issues in the Mantis. As far as I know, OPCF does not have any compliance procedures. My concern is if all of that could be used as a consistent foundation for implementation promoting interoperability.

mpostol commented 4 years ago

Hi @cristipogacean,

FYI I try to figure out where/how PubSub is implemented. Check out the results of my investigation here.
Let me know if you know other implementations.

To get more about my approach check out my article Object-Oriented Internet Reactive Interoperability.

Let me know how I can help.

rowenwu commented 4 years ago

Hi @mpostol, Could you describe your use case so I can better understand what you're currently working on in OOI and OPC UA pubsub. Maybe it would make more sense to get on a call and discuss in depth. Feel free to reach out over email at rowwu@microsoft.com

mpostol commented 4 years ago

Hi @barnstee and @mregen, I understand that removing this issue from the 2.8 milestone means that compatibility with OPC UA PubSub 1.04 is not your priority for now. Let me inform you that PubSub to Azure Gateway has been just published on GitHub as a part of the more general concept Object-Oriented Internet reactive networking. Hopefully, at some point, we will have the opportunity to test against the interoperability of our implementations. Of course, it makes sense only if our solutions will be compliant with a selected specification release (not sure if the current release is a perfect match).

Because the compliance with the OPC UA 1.04 is also no longer important for me you may close this issue. We may open a new one, in any case, there will be any need to harmonize our work.

I will appreciate keeping me informed about your plans in this respect.

barnstee commented 4 years ago

You are making a lot of assumptions here! We just removed the milestone since we're not sure yet if we call the next version 2.8 or 3.0. This work is actually scheduled for our current sprint! :)

mpostol commented 4 years ago

@barnstee, it is great. I only assumed that the "sprint a set period of time during which specific tasks must be completed" but not tightly coupled version number". Thanks, I will watch it. Let me know if there is something I can do to help.

hansgschossmann commented 3 years ago

Closing this issue since it is no longer required by the customer.