-
Notifications
You must be signed in to change notification settings - Fork 56
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
Web of Things (WoT) Architecture #355
Comments
The document had some broken links to the "WoT Security Best Practices" and "WoT Security Testing Plan" which I just fixed. I also added (in an editor's note) a link to the more up-to-date version of the WoT Thing Description document prepared for TAG review (along with a link to the previously published version). |
Since the initial submission of the architecture specification to TAG, An update was provided in the TAG branch, the diff is at: The specification URL above refers to this version. |
Just an observation. Having "binding layers" (in this case, WoT over HTTP/COAP/MQTT) is often a solution to a political problem, not a technical one, but it creates a lot of technical friction. cf. Web Services. |
Yes, ideally all IoT products out there would use the same protocol. Unfortunately, this is not the case and it is a real technical problem for integrators, both in the consumer IoT space and the industrial IoT space. WoT originally got started to address this very issue, yet the hope is that we will see convergence over time toward the defaults defined by the WoT Thing Description. |
There is also an issue of upgradability of the software stacks involved, see TAG's Evergreen Finding which highlight the issue of security and evolution of implementations. |
@ylafon and @torgo we've been wondering about the final review results from the TAG, because we're planning to publish the update drafts as Proposed Recommendations on June 27th and want (wanted) to send out transition requests for the WoT Architecture (and the WoT Thing Description) today on June 20. When I talked with @ylafon about the possible review results, he mentioned there would not be many comments in any case. So I'd like to confirm there would not be blocking comments for our Proposed Recommendation transition. Regarding the comment above from @ylafon , we have "version" feature within the WoT Thing Description specification to manage the versions of the devices and applications. Also there was further discussion about data management during the WoT F2F meeting in Munich on June 6-7 and we're planning to include that topic (and more) in the updated WoT WG Charter for the next generation WoT standards. Please note that the current WoT WG's Charter expires the end of June and now we're generating an updated WG Charter. |
I might have some comments coming; I'll try to write them on Monday, though it's not clear to me how many would go here rather than in #357. |
Thanks a lot, @dbaron ! |
My biggest concern here is probably around the tradeoff (alluded to above) between good interoperability versus complete coverage of existing devices. It seems like this set of specifications has built an architecture that falls far to one side of this tradeoff: it's chosen a complicated binding mechanism that requires plugfests to get implementations to interoperate with each other, and allows a wide range of binding layers some of which don't have solid specifications defining their URI schemes in an interoperable way or other obstacles to a clear path to interoperability. (This is the major point where the alternative Mozilla proposal takes a different approach; for each property, action, or event described, instead of the Another concern here is the references to the scripting API which appears to be optional and (as I understand it) lacks implementor interest. It seems like if it's not going to become a part of the architecture, it would be better to acknowledge that reality. I'm also concerned that the architecture overview says "The format can be processed either through classic JSON libraries or a JSON-LD processor": is this defined in a way such that both types of processing will yield the same results in all cases? If not, what leads to interoperability? A few other notes:
Also a few thoughts on the security and privacy considerations which I've reviewed somewhat quickly:
|
Dear TAG members, since the initial request to TAG in March, the architecture specification has advanced significantly in the last months to pass the CR milestone. There were some changes (e.g. the Binding Template specification as an informative reference), Please provide the TAG provide feedback as individual issues in our Github repo for each point of feedback. Many thanks, Michael Lagally |
Hi there, @torgo asked me to look at the https://w3c.github.io/wot-scripting-api/ I have already gone over that a couple of time with @zolkis as he has asked for my input. To get some discussions going for our TAG meeting tomorrow, I had a quick glance over the latest API, so this is just a collection of random thoughts.
|
Thanks @kenchris . The API has to be implementable in constrained environments, which usually have ECMAScript 5.1 and Promise backport. readAllProperties() denotes a contract to read the state (as of multiple Properties) in one transaction. That is translated to a specific protocol request in a supported IoT deployment. That is the async part. Fetching the properties from the reply (as an object) is synchronous. Emitting a WoT Event is again slightly different than emitting a JS event. You are right that properties and events have meanings in various contexts, that is why we defined their WoT specific counterparts in the WoT context. It might indeed be confusing, however this part should be discussed in the WoT Architecture and Thing Description, since the scripting API just follows the terms as defined there. However, discovery could in theory be modeled with an async iterator, the problem is again semantics: the discovery-next() MAY issue a protocol request and wait for the answer. |
Thanks @kenchris
FYI: The WoT Scripting API is meant to provide a scripting layer on top of the WoT thing description (which defines three types of interaction affordances: properties, actions, and events). Hence we aimed for using the same terms. |
Hi @torgo, many thanks for the feedback from the TAG group in the respective repositories. For the architecture specification it would be ideal, if TAG would focus Many thanks, Michael |
Hi @mlagally : In reading through WoT Architecture again I have also taken a look at the Security & Privacy Document and one small piece of feedback I have is that I think something is missing from 3.3.1 (Home Environment Threats): specifically the threat of a user of the web thing using it to surveil another person without their knowledge or consent. I know this is a tricky one but it feels like something that we should be considering how to mitigate against if we want a web-of-things environment to be more privacy-friendly than a proprietary-based environment (in line with the Ethical Web Principles). |
I am OK with closing this issue |
Góðan dag TAG!
I am requesting a TAG review of:
Further details (optional):
Additional schedule details and constraints
You should also know that...
We'd prefer the TAG provide feedback as (please select one):
The text was updated successfully, but these errors were encountered: