w3c / wot-thing-description

Web of Things (WoT) Thing Description
http://w3c.github.io/wot-thing-description/
Other
131 stars 63 forks source link

Mention that protocol bindings can also be defined in profiles #1674

Open benfrancis opened 2 years ago

benfrancis commented 2 years ago

First reported in #1324:

8.3 Protocol Bindings

A Protocol Binding is the mapping from an Interaction Affordance to concrete messages of a specific protocol such as HTTP [RFC7231], CoAP [RFC7252], or MQTT [MQTT]. Protocol Bindings of Interaction Affordances are serialized as forms as defined in § 6.3.9 forms.

I suggest adding text here to explain that a concrete protocol binding can now also be defined in a Profile. It may be helpful to distinguish between:

  1. A "declarative protocol binding" provided by hypermedia forms in an instance of a Thing Description, using the vocabulary defined in a Protocol Binding Template
  2. A "concrete protocol binding" provided by a Profile, which prescribes a protocol binding which all Things conforming to the Profile must use
sebastiankb commented 2 years ago

I'm ok with it. However, the main Binding Document should be used as source to look-up to find the link to the official binding definition (which can be a profile).

egekorkan commented 2 years ago

I think we should mention the usage of profiles in the TD but it depends a bit on whether the spec would be published at all

sebastiankb commented 1 year ago

Since it is the planned that the profile for protocol binding purposes is mentioned in Architecture spec, we can close this issue here. Also see https://github.com/w3c/wot-architecture/pull/860

sebastiankb commented 1 year ago

from today's TD call, decided to close

@benfrancis please reopen the issue when you disagree

benfrancis commented 1 year ago

@benfrancis please reopen the issue when you disagree

I like that you said "when" I disagree, not "if" :)

https://github.com/w3c/wot-architecture/pull/860 was closed without merging.

The TD specification says:

Protocol Bindings of Interaction Affordances are serialized as forms as defined in § 6.3.9 forms.

The architecture specification says:

W3C WoT serializes Protocol Bindings as hypermedia controls.

Neither mention that protocol bindings can also be specified in profiles.

Since nothing has changed, I can't really agree that this issue has been resolved.

benfrancis commented 1 year ago

From https://github.com/w3c/wot/pull/1065#issuecomment-1400694468, another way of describing this:

A Protocol Binding is serialised as a Form in a Thing Description instance, by either:

  • Using vocabulary from a Protocol Binding Template to define a custom Protocol Binding for each Form
  • Referencing a Profile which provides a common Protocol Binding for all Forms using a given protocol