Open egekorkan opened 4 years ago
It would be a good idea to document the implemented features from the TD perspective. I mean for each binding (producer and consumer side), which op, which security scheme, which subprotocol is implemented. This can be used to track possible new features and communicate for new users what can be done and what cannot be done. The table below is an initial idea for this where the legend is Y for implemented, N for implemented and not planned atm, P is for planned, N.A. for not applicable and ? for the ones I am not sure about | HTTP Producer | HTTP Consumer | CoAP Producer | CoAP Consumer | MQTT Producer | MQTT Consumer | Websockets Producer | Websockets Consumer | OPCUA Consumer | Modbus Consumer | |
---|---|---|---|---|---|---|---|---|---|---|---|
OPERATIONS | |||||||||||
readproperty | Y | Y | Y | Y | ? | ? | ? | ? | ? | ? | |
writeproperty | Y | Y | Y | Y | Y | ? | ? | ? | ? | ? | |
observeproperty | Y | Y | ? | ? | Y | Y | ? | ? | ? | ? | |
unobserveproperty | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | |
readallproperties | Y | Y | ? | ? | N | N | ? | ? | ? | ? | |
writeallproperties | Y | Y | ? | ? | N | N | ? | ? | ? | ? | |
readmultipleproperties | Y | Y | ? | ? | N | N | ? | ? | ? | ? | |
writemultipleproperties | Y | Y | ? | ? | N | N | ? | ? | ? | ? | |
invokeaction | Y | Y | Y | Y | Y | Y | ? | ? | ? | ? | |
subscribeevent | Y | Y | Y | Y | Y | Y | ? | ? | ? | ? | |
unsubscribeevent | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | |
SUBPROTOCOLS | |||||||||||
longpoll | Y | Y | N | N | N.A. | N.A. | ? | ? | ? | ? | |
sse | N | N | N | N | N.A. | N.A. | ? | ? | ? | ? | |
websub | N | N | N | N | N.A. | N.A. | ? | ? | ? | ? | |
SEC. SCHEMES | |||||||||||
basic | Y | Y | ? | ? | N | N | ? | ? | ? | ? | |
digest | N | N | ? | ? | N | N | ? | ? | ? | ? | |
apikey | N | N | ? | ? | N | N | ? | ? | ? | ? | |
bearer | Y | Y | ? | ? | N | N | ? | ? | ? | ? | |
psk | N | N | ? | ? | N | N | ? | ? | ? | ? | |
oauth2 | P | P | N | N | N | N | ? | ? | ? | ? |
I think it is really useful, but I would "distribute" the table to the corresponding protocol binding implementation package. We could use this table as a template.
Another place to put it would be here.
Note: we miss there some bindings too and might make sense to improve/update anyway.