--- tags: Documents title: Architecture analysis --- # Architecture Analisys - Webthings ## Introduction - [normative url](https://webthings.io/) - Short description ## Standards ### Web Of Things - [normative url](https://webofthings.org/standards/) - Short description ## Components ### WebThings Gateway - [normative url](https://github.com/WebThingsIO/gateway) - [architecture](https://github.com/WebThingsIO/wiki/wiki/Gateway-Architecture) - Equivalent to the SIFIS-Home control panel #### Languages - TypeScript - JavaScript - Python #### Main Dependencies - [expressjs](https://expressjs.com) - [node.js]() - v8 - openssl - [page.js](https://github.com/visionmedia/page.js) - [python]() - Bluetooth stack (bluez, ...) #### Protocols - https - WebSocket - REST - ... ### Adapters The gateway can interact with devices through adapters, the adapters can be written JavaScript or TypeScript. ### registration server Tunnelling service to access a local gateway from internet - https://github.com/WebThingsIO/registration_server #### Language - Rust #### Protocols - https - dns (powerdns) #### Main dependencies - actix-web - diesel - mysql/postgres/sqlite - openssl (down the road) #### Service dependencies - [pagekite](https://pagekite.net) ### WebThings Framework **NOTE**: It is moving from legacy [Mozilla IoT](https://iot.mozilla.org/wot/) to [W3C WebOfThings]( https://www.w3.org/TR/wot-thing-description/) #### Languages Many languages supported we focus on [Rust](https://github.com/WebThingsIO/webthing-rust) #### Dependency - actix-web - **openssl** #### Protocols - https - WebSocket - REST #### Main Dependencies Among the full list [full list](https://github.com/WebThingsIO/webthing-rust/blob/master/Cargo.toml) - actix-web - openssl