Skip to content
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

Proposal for Abstract Transfer Layer #161

Merged
merged 1 commit into from
Jun 9, 2016
Merged

Proposal for Abstract Transfer Layer #161

merged 1 commit into from
Jun 9, 2016

Conversation

mjkoster
Copy link
Contributor

Add proposal for WoT Interaction Model mapping to abstract transfer
layer

Add proposal for WoT Interaction Model mapping to abstract transfer
layer
@mkovatsc
Copy link
Collaborator

Can't this be seen as part of the Explicit Protocol Bindings?

@mjkoster
Copy link
Contributor Author

To clarify, a mechanism for protocol bindings is proposed. It defines use of a common transfer layer in a uniform way to make binding to specific protocols simple and straightforward. It does this by defining common workflows for processing the resources pointed to by the hrefs when using these protocol bindings. Should something be renamed or classified differently?

Another way to define the resource workflow for protocol bindings would be to include a content format identifier associated with the subject of the hrefs, where the content format defines processing rules, for example a TD hrefs could point to a resource in OCF content format, and the client could invoke it's OCF processor to consume the resource.

A pdf document for this proposal can be reviewed at:
https://github.com/mjkoster/hyperstate-docs/blob/master/wot-18may.pdf

@mkovatsc
Copy link
Collaborator

This is a great contribution. I simply meant to put it under proposals/explicit-bindings/, where I wanted to collect all input for this break-out / mini task force.

I can also merge it and then do a git mv---or you do it before the merge :)

@vcharpenay
Copy link
Contributor

If a device does not support JSON but, say, EXI, it should declare a media type like application/wot+atl+exi, is that right?

I am not sure I understand why a media type for the abstract transfer layer is needed here. Shouldn't all WoT devices follow these workflows? I see a difference between processing the content of a resource (that might be an OCF resource) and navigating in the resource graph (driven by what the TD declares, i.e. interactions). While I don't doubt media types are useful to indicate the content format of the resource (they are also part of the discussion about value types, by the way, see issue #119), I don't see the need for it at the interaction level. Did I miss something?

@draggett
Copy link
Member

On 25 May 2016, at 10:09, Victor Charpenay [email protected] wrote:

If a device does not support JSON but, say, EXI, it should declare a media type like application/wot+atl+exi, is that right?

I am not sure I understand why a media type for the abstract transfer layer is needed here. Shouldn't all WoT devices follow these workflows? I see a difference between processing the content of a resource (that might be an OCF resource) and navigating in the resource graph (driven by what the TD declares, i.e. interactions). While I don't doubt media types are useful to indicate the content format of the resource (they are also part of the discussion about value types, by the way, see issue #119 #119), I don't see the need for it at the interaction level. Did I miss something?

I agree as abstract messages are defined in term of the data types declared for things. You only need media types when you map abstract messages to a concrete protocol. It looks like we don’t all have the same conceptual model, which is making it harder to understand each other. I am now planning on a series of blog posts to outline the conceptual model I am using.


Dave Raggett <[email protected] mailto:[email protected]>

@mkovatsc
Copy link
Collaborator

Internet Media Types don't have anything to do with concrete protocols. They are identifiers for payload/representation formats, which themselves can be versioned under the same identifier.

Every formal definition of your abstract massages could be come a representation format, which can then be identified by an Internet Media Type.

@draggett
Copy link
Member

On 30 May 2016, at 15:05, Matthias Kovatsch <[email protected] mailto:[email protected]> wrote:

Internet Media Types don't have anything to do with concrete protocols. They are identifiers for payload/representation formats, which themselves can be versioned under the same identifier.

Did you really mean to say that?

HTTP is a concrete protocol and the content-type header identifies the content payload, e.g. text/html.


Dave Raggett <[email protected] mailto:[email protected]>

@mkovatsc
Copy link
Collaborator

mkovatsc commented Jun 6, 2016

The Content-Type field is part of HTTP, a concrete protocol. It uses the IANA registry for Internet Media Types to specify the type of the body. These types can be used by any protocol (HTTP, CoAP, SMTP, SIP, ...). You might be aware that even operating systems (Linux, Mac OS) rely on Internet media Types to map files (=payload/representation) to the right programs...

@mkovatsc
Copy link
Collaborator

mkovatsc commented Jun 7, 2016

@mjkoster The more relevant discussion here is to inlcude this in the proposals for a consistent view. Could you git mv this to proposals/explicit-bindings/abstract-transfer-layer.html?

I am splitting the existing content in the README into smaller pieces. We need to get the experimental work for the PlugFest going... ;)

@mkovatsc mkovatsc merged commit 0e205ad into w3c:master Jun 9, 2016
@mjkoster
Copy link
Contributor Author

mjkoster commented Jun 9, 2016

Thanks!

@mkovatsc
Copy link
Collaborator

mkovatsc commented Jun 9, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants