-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
API Needs a Subscribe Interface #22
Comments
Copying in comments from Randy Armstrong on #3
The working group met on this topic, and agreed we'd like to invite more outside input, marking as Help Wanted. A SME has been invited for early next year. |
Working Group Discussion Points:
|
subscribing to an 'object' makes it too easy for clients to do stupid things that result in a DoS attack.
Otherwise, each element needs to be explicitly selected. This covers metadata and data. subscribe to events requires an entire event model to be defined which is not simple if a general purpose model is desired. Propose event field selection:
And event notification:
|
I'm for publishing subscribed data to an MQTT or Kafka topic to an external broker. This is the safest approach. |
At this stage (RFC) we're trying to avoid specifying mechanisms -- this is closer to a BRD than a FuncSpec. |
Notes, feedback, and summarization resulting from 2025-01-28 Working Group meeting with SME: ConsensusQuery and Subscription Are Individual Interfaces
Subscribed Items May Change
Open QuestionsOptimizing SubscriptionsThe query-then-subscribe pattern provides some optimization, by allowing the client to refine the elements of interest before the subscription, but there are still some open considerations...
|
Subscription capabilities are absolutely required. However, taking a step back I think the goal is to move the data to a real time display, third party application, or BI tool. The mainstream capabilities of modern BI tools or software must then first be considered before defining the requirements of the API. Most BI tools today simply do not support GraphQL and I have not heard of any supporting subscription APIs. I see the note above about not wanting to name specific mechanisms, however, understanding that the goal is to make the data consumable and easy to access in real-time I would have to agree with the above comment that the most logical way would be to require smart manufacturing platforms to push or expose the data in the form of a broker, not an API |
"Some existing commercial platforms have a mechanism for subscribing to structural changes, but it was agreed this can be resolved with a (polled) query -- at least in v1.0" Just including this for reference. Agree we can add it later. This is how Aveva does it with Asset Framework. I'm not saying we need all these options, but as a dev this worked well for triggering a refresh of subscriptions/clear cache etc. |
Document subscription as a capability of a Value interface (as summarized above), and review with WG for next meeting. |
Proposed language here: 98a14e1 |
WG discussion points:
|
Per WG discussion on Issue #22. Continuing to iterate.
How would this relate to example for subscribing to the root of an OPC UA server or a branch through the API? How about # in an MQTT broker? Assume I'm implementing the API and I expose the root as an ElementID. Clients can subscribe to it, and I provide data changes up as an object of the tags that have changed. Do I have the flexibility to allow this as an implementer? OPC UA requires you to browse the full branch, subscribe to all the individual tags, and then pull it all back together. It would be nice if this were an option in our API for implementers, but not a requirement. I.e. there was flexibility. For example, maybe my UA server is pretty small and this isn't an issue. Maybe it's huge and I want some control over how I divide it up.
|
Multiple requests to include a Subscribe interface, including #3
The text was updated successfully, but these errors were encountered: