eclipse-thingweb / node-wot

A fast and extensible framework to connect any device with your browser and backend applications
https://thingweb.io
Other
166 stars 80 forks source link

Identifying features #213

Open egekorkan opened 4 years ago

egekorkan commented 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 ? ? ? ?
relu91 commented 4 years ago

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.

danielpeintner commented 4 years ago

Another place to put it would be here.

Note: we miss there some bindings too and might make sense to improve/update anyway.