{"action":"created","issue":{"url":"https://api.github.com/repos/w3c/wot-architecture/issues/3","repository_url":"https://api.github.com/repos/w3c/wot-architecture","labels_url":"https://api.github.com/repos/w3c/wot-architecture/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/w3c/wot-architecture/issues/3/comments","events_url":"https://api.github.com/repos/w3c/wot-architecture/issues/3/events","html_url":"https://github.com/w3c/wot-architecture/issues/3","id":235193473,"number":3,"title":"Two separate layers for the Protocol Binding mechanism","user":{"login":"ashimura","id":4179184,"avatar_url":"https://avatars3.githubusercontent.com/u/4179184?v=3","gravatar_id":"","url":"https://api.github.com/users/ashimura","html_url":"https://github.com/ashimura","followers_url":"https://api.github.com/users/ashimura/followers","following_url":"https://api.github.com/users/ashimura/following{/other_user}","gists_url":"https://api.github.com/users/ashimura/gists{/gist_id}","starred_url":"https://api.github.com/users/ashimura/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ashimura/subscriptions","organizations_url":"https://api.github.com/users/ashimura/orgs","repos_url":"https://api.github.com/users/ashimura/repos","events_url":"https://api.github.com/users/ashimura/events{/privacy}","received_events_url":"https://api.github.com/users/ashimura/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2017-06-12T10:50:20Z","updated_at":"2017-07-05T07:50:21Z","closed_at":null,"body":"<p>As I mentioned during the TD call on June 2 and the WoT main call on June 7, I think it would be clearer to have the two separate layers for Protocol Binding:</p>\r\n<ul>\r\n<li>L1: TD World (=Device-independent abstract layer)</li>\r\n<li>L2: Device World (=Device-dependent layer)</li>\r\n</ul>\r\n<p>\"Protocol Binding\" could be the combination of (1) getting/extracting device properties based on the each device's features and (2) packing the extracted properties into TD for interoperable connection. Probably each device vendor should provide concrete micro server implementation for the \"propery extraction\" part and we W3C WoT group could provide \"how to pack the property into TD\" as the \"Binding Template\".</p>\r\n<p>Please see also the diagram below:</p>\r\n<img width=\"80%\" src=\"https://www.w3.org/WoT/IG/kaz/protocol-binding.png\" alt=\"kaz's strawman image on binding\" />\r\n<p>Note that the \"Servient Internal Data Transfer\" within the above diagram should be the standard WoT mechanism, e.g., TD and REST.</p>\r\n<p>I'd suggest we update the <a href=\"https://w3c.github.io/wot-architecture\">WoT Architecture document</a>, e.g., its section \"<a href=\"https://w3c.github.io/wot-architecture/#binding-templates\">4.3 Binding Templates</a>\" with the above idea.</p>\r\n"},"comment":{"url":"https://api.github.com/repos/w3c/wot-architecture/issues/comments/313028947","html_url":"https://github.com/w3c/wot-architecture/issues/3#issuecomment-313028947","issue_url":"https://api.github.com/repos/w3c/wot-architecture/issues/3","id":313028947,"user":{"login":"mkovatsc","id":664090,"avatar_url":"https://avatars3.githubusercontent.com/u/664090?v=3","gravatar_id":"","url":"https://api.github.com/users/mkovatsc","html_url":"https://github.com/mkovatsc","followers_url":"https://api.github.com/users/mkovatsc/followers","following_url":"https://api.github.com/users/mkovatsc/following{/other_user}","gists_url":"https://api.github.com/users/mkovatsc/gists{/gist_id}","starred_url":"https://api.github.com/users/mkovatsc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mkovatsc/subscriptions","organizations_url":"https://api.github.com/users/mkovatsc/orgs","repos_url":"https://api.github.com/users/mkovatsc/repos","events_url":"https://api.github.com/users/mkovatsc/events{/privacy}","received_events_url":"https://api.github.com/users/mkovatsc/received_events","type":"User","site_admin":false},"created_at":"2017-07-05T07:50:21Z","updated_at":"2017-07-05T07:50:21Z","body":"The figure is pretty close to the actual architecture of node-wot. I have a few comments:\r\n![untitled](https://user-images.githubusercontent.com/664090/27853578-881d5250-6163-11e7-9c6e-2da8dfd6b42e.png)\r\n\r\nA main issue to clear up is this \"WoT Servient world\". It came to be experienced just because we neglected the vocabulary in the `link` or binding to describe the method. We must be Web-compatible, ney, Web! :)\r\n\r\nSo please consider it as HTTP binding. With `application/json` as media type, it is identical to the Scripting API data model, so no transformation is required in the binding. For `application/cbor` the schema information is still identical, only the encoding has the be changed -- can easily behandled in a CBOR-parser-serializer (\"CBOR handler\")."}}
{"actor":{"display_login":"mkovatsc"}}